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

From: Md Sadre Alam
Date: Wed Jan 08 2025 - 06:15:32 EST




On 1/8/2025 4:40 PM, Vinod Koul wrote:
On 07-01-25, 23:30, Georgi Djakov wrote:
On 20.12.24 11:42, 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>
---

My Dragonboard db845c fails to boot on recent linux-next releases and
git bisect points to this patch. It boots again when it's reverted.

Should we revert?
I am checking this will fix and post patch quickly.


[..]

bchan->reconfigure = 0;
@@ -1192,10 +1199,11 @@ static int bam_init(struct bam_device *bdev)
u32 val;
/* read revision and configuration information */
- if (!bdev->num_ees) {
- val = readl_relaxed(bam_addr(bdev, 0, BAM_REVISION));
+ val = readl_relaxed(bam_addr(bdev, 0, BAM_REVISION));
+ if (!bdev->num_ees)
bdev->num_ees = (val >> NUM_EES_SHIFT) & NUM_EES_MASK;
- }
+
+ bdev->bam_revision = val & REVISION_MASK;

The problem seems to occur when we try to read the revision for the
slimbus bam instance at 0x17184000 (which has "qcom,num-ees = <2>;").

Thanks,
Georgi