Messages in this thread | | | Subject | Re: [PATCH 2/2] dma: add Qualcomm Technologies HIDMA channel driver | From | Sinan Kaya <> | Date | Tue, 3 Nov 2015 16:07:34 -0500 |
| |
On 11/3/2015 5:43 AM, Arnd Bergmann wrote: > Ok, got it. > > Best add an explanation like the above in the interrupt handler, > to prevent this from accidentally getting 'cleaned up' to use > readl(), or copied into a driver that uses PCI ordering rules > where it is actually wrong. >
I'm adding this disclaimer into the ISR routine.
/* * Fine tuned for this HW... * * This ISR has been designed for this particular hardware. Relaxed read * and write accessors are used for performance reasons due to interrupt * delivery guarantees. Do not copy this code blindly and expect * that to work. */
> I think it should be done like this: > > - anything that is not performance critical, use normal readl/writel > - in the fast path, add a comment to each readl_relaxed()/writel_relaxed() > that is safe in this driver but that would not be safe in a PCI > device > - For the ones that would be safe on PCI as weel, use > readl_relaxed()/writel_relaxed() without a comment on each one, > but clarify somewhere that these are all intentional.
Makes sense.
-- Sinan Kaya Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
| |