Msm8953 For Arm64 Driver High Quality [portable] Jun 2026
| Pitfall | Fix | |---------|-----| | Using readl() in hot path | Use readl_relaxed() + explicit barrier | | Assuming 32-bit DMA addresses | dma_set_mask(64) | | Missing dsb() after cache maintenance | Add dsb(sy) before DMA completion | | IRQ handler too slow | Use threaded IRQ or IRQF_NO_THREAD carefully | | Spinlocks with preemption enabled | Use raw_spin_lock if in real-time path |