[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa389b08-7ca9-4c0e-b9fb-68d9a58ce79b@nvidia.com>
Date: Fri, 24 Oct 2025 16:20:09 +0100
From: Jon Hunter <jonathanh@...dia.com>
To: Kartik Rajput <kkartik@...dia.com>, akhilrajeev@...dia.com,
andi.shyti@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, thierry.reding@...il.com, ldewangan@...dia.com,
digetx@...il.com, linux-i2c@...r.kernel.org, devicetree@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v9 1/4] i2c: tegra: Do not configure DMA if not supported
On 01/10/2025 07:47, Kartik Rajput wrote:
> On Tegra264, not all I2C controllers have the necessary interface to
> GPC DMA, this causes failures when function tegra_i2c_init_dma()
> is called.
>
> Ensure that "dmas" device-tree property is present before initializing
> DMA in function tegra_i2c_init_dma().
>
> Signed-off-by: Kartik Rajput <kkartik@...dia.com>
> ---
> v4 -> v9: Moved the condition down to have all dma checks together.
> v2 -> v4:
> * Add debug print if DMA is not supported by the I2C controller.
> v1 -> v2:
> * Update commit message to clarify that some I2C controllers may
> not have the necessary interface to GPC DMA.
> ---
> drivers/i2c/busses/i2c-tegra.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index e533460bccc3..aa7c0d8c0941 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -449,6 +449,11 @@ static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2c_dev)
> if (IS_VI(i2c_dev))
> return 0;
>
> + if (!of_property_present(i2c_dev->dev->of_node, "dmas")) {
> + dev_dbg(i2c_dev->dev, "DMA not available, falling back to PIO\n");
> + return 0;
> + }
> +
> if (i2c_dev->hw->has_apb_dma) {
> if (!IS_ENABLED(CONFIG_TEGRA20_APB_DMA)) {
> dev_dbg(i2c_dev->dev, "APB DMA support not enabled\n");
What about ACPI based devices?
Jon
--
nvpublic
Powered by blists - more mailing lists