[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0315074e-72f3-1bc4-83b1-e60d5e4aef2a@quicinc.com>
Date: Mon, 9 Feb 2026 17:14:55 +0530
From: Md Sadre Alam <quic_mdalam@...cinc.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, <andersson@...nel.org>,
<konradybcio@...nel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <vkoul@...nel.org>, <Frank.Li@...nel.org>,
<linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <dmaengine@...r.kernel.org>
CC: <quic_varada@...cinc.com>
Subject: Re: [PATCH v4 1/7] dma: qcom: bam_dma: Fix command element mask field
for BAM v1.6.0+
Hi,
On 2/6/2026 10:42 PM, Krzysztof Kozlowski wrote:
> On 06/02/2026 11:01, Md Sadre Alam wrote:
>> BAM version 1.6.0 and later changed the behavior of the mask field in
>> command elements for read operations. In newer BAM versions, the mask
>> field for read commands contains the upper 4 bits of the destination
>> address to support 36-bit addressing, while for write commands it
>> continues to function as a traditional write mask.
>>
>> This change causes NAND enumeration failures on platforms like IPQ5424
>
> Please do not use "This commit/patch/change", but imperative mood. See
> longer explanation here:
> https://elixir.bootlin.com/linux/v6.16/source/Documentation/process/submitting-patches.rst#L94
Ok
>
>> that use BAM v1.6.0+, because the current code sets mask=0xffffffff
>> for all commands. For read commands on newer BAM versions, this results
>> in the hardware interpreting the destination address as 0xf_xxxxxxxx
>> (invalid high memory) instead of the intended 0x0_xxxxxxxx address.
>>
>> Fixed this issue by:
>> 1. Updating the bam_cmd_element structure documentation to reflect the
>> dual purpose of the mask field
>> 2. Modifying bam_prep_ce_le32() to set appropriate mask values based on
>> command type:
>> - For read commands: mask = 0 (32-bit addressing, upper bits = 0)
>> - For write commands: mask = 0xffffffff (traditional write mask)
>> 3. Maintaining backward compatibility with older BAM versions
>>
>> This fix enables proper NAND functionality on IPQ5424 and other platforms
>> using BAM v1.6.0+ while preserving compatibility with existing systems.
>
> Fixes tag? CC-stable?
This patch is not fixing an existing commit. This is to address the
update in the newer version of the hardware.
>
> Why is this part of DTS patchset? Do not combine independent work, you
> only make it difficult for maintainers to handle your work.
Will post a new version with the driver change as a separate patch.
Thanks,
Alam.
Powered by blists - more mailing lists