Re: [PATCH 2/2] dma: add Qualcomm Technologies HIDMA channel driver

From: Sinan Kaya
Date: Tue Nov 03 2015 - 16:07:44 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/