Re: [PATCH v4] dmaengine: qcom: bam_dma: Avoid writing unavailable register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 1/10/2025 5:37 PM, Stephan Gerhold wrote:
On Fri, Jan 10, 2025 at 05:29:29PM +0530, Md Sadre Alam wrote:
On 1/10/2025 3:59 PM, Stephan Gerhold wrote:
On Fri, Dec 20, 2024 at 03:12:03PM +0530, Md Sadre Alam wrote:
Avoid writing unavailable register in BAM-Lite mode.
BAM_DESC_CNT_TRSHLD register is unavailable in BAM-Lite
mode. Its only available in BAM-NDP mode. So only write
this register for clients who is using BAM-NDP.

Signed-off-by: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx>

What are we actually fixing here? Which platform is affected? Is there a
crash, reset, or incorrect behavior?
On SDX75, QPIC use BAM-Lite and as per HW description this
BAM_DESC_CNT_TRSHLD register is not available, and writing to this
SDX75 was hanging.

We have had this code for years without reported issues, with both
BAM-NDP and BAM-Lite instances. The register documentation on APQ8016E
documents the BAM_DESC_CNT_TRSHLD register even for the BAM-Lite
instance. There is a comment that it doesn't apply to BAM-Lite, but I
would expect the written value just ends up being ignored in that case.
With older xPU it was being ignored but with new xPU its hanging. HW
team suggested don't write this register for BAM-Lite mode since its not
available.


OK, thanks for the explanation.

Also, there is not just BAM-NDP and BAM-Lite, but also plain "BAM". What
about that one? Should we write to BAM_DESC_CNT_TRSHLD?
Apart from BAM-Lite this register available in all the BAM

Please check again if we need to check for additional revision numbers
for the non-NDP BAM types then. Or alternatively, change the check to
write the register on if (!BAM-Lite) instead of if (BAM-NDP). That might
be easier.
Ok Thanks. will check once again this and post in next revision.

Thanks,
Stephan




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux