From: Akhil R <akhilrajeev@nvidia.com>
To: <ldewangan@nvidia.com>, <jonathanh@nvidia.com>,
<vkoul@kernel.org>, <thierry.reding@gmail.com>,
<p.zabel@pengutronix.de>, <dmaengine@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<robh+dt@kernel.org>, <devicetree@vger.kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <sfr@canb.auug.org.au>
Cc: <akhilrajeev@nvidia.com>
Subject: [PATCH v4 0/3] Tegra GPCDMA: dma-channel-mask support
Date: Thu, 10 Nov 2022 22:47:45 +0530 [thread overview]
Message-ID: <20221110171748.40304-1-akhilrajeev@nvidia.com> (raw)
Read dma-channel-mask from device tree and register only the
specified channels. This is useful to reserve some channels for the
firmware.
Also update the channel number and interrupts to include all 32
channels. The current DT bindings has only 31 interrupts which is wrong
and doesn't align with the hardware. This was done to reserve channel0
for the firmware. Now with this change, the driver can align more to the
actual hardware. but this implies that there will be a breakage in the
ABI and device tree must be updated along with the driver change
for it to pickup the right interrupt corresponding to the channel.
This breakage is okay right now because GPC DMA was introduced on
Tegra186 and the DT bindings were added in 5.19. Any products released
with this IP were released with kernels prior to 5.19 and bindings that
were never in-tree. Any of those products that are supported upstream we
know have replaceable DTB images (i.e. by default they are flashed at the
same time as the kernel image).
v3->v4:
* Reverted back to v2 based on the discussion in the thread
https://lore.kernel.org/all/Y2EFoG1H9YpfxRjs@orome/
* Added description of the ABI breakage
v2->v3:
* Updates in driver and DT to provide only the interrupts
corresponding to the channels used in kernel. This would fix
the ABI breakage that could occur with the previous version
v1->v2:
* Reversed the operands and used BIT macro in 'if' condition.
* Fixed warning reported-by: kernel test robot <lkp@intel.com>
Akhil R (3):
dt-bindings: dmaengine: Add dma-channel-mask to Tegra GPCDMA
arm64: tegra: Add dma-channel-mask in GPCDMA node
dmaengine: tegra: Add support for dma-channel-mask
.../bindings/dma/nvidia,tegra186-gpc-dma.yaml | 7 +++-
arch/arm64/boot/dts/nvidia/tegra186.dtsi | 4 +-
arch/arm64/boot/dts/nvidia/tegra194.dtsi | 4 +-
arch/arm64/boot/dts/nvidia/tegra234.dtsi | 4 +-
drivers/dma/tegra186-gpc-dma.c | 37 +++++++++++++++----
5 files changed, 45 insertions(+), 11 deletions(-)
--
2.17.1
next reply other threads:[~2022-11-10 17:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 17:17 Akhil R [this message]
2022-11-10 17:17 ` [PATCH v4 1/3] dt-bindings: dmaengine: Add dma-channel-mask to Tegra GPCDMA Akhil R
2022-11-10 17:17 ` [PATCH v4 2/3] arm64: tegra: Add dma-channel-mask in GPCDMA node Akhil R
2022-11-17 22:00 ` Thierry Reding
2022-11-10 17:17 ` [PATCH v4 3/3] dmaengine: tegra: Add support for dma-channel-mask Akhil R
2022-11-13 22:31 ` [PATCH v4 0/3] Tegra GPCDMA: dma-channel-mask support Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221110171748.40304-1-akhilrajeev@nvidia.com \
--to=akhilrajeev@nvidia.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=ldewangan@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=sfr@canb.auug.org.au \
--cc=thierry.reding@gmail.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).