[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <21f71c22-8957-43cc-a99b-158366467654@nvidia.com>
Date: Thu, 18 Sep 2025 12:40:18 +0530
From: Kartik Rajput <kkartik@...dia.com>
To: Jon Hunter <jonathanh@...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 v8 1/4] i2c: tegra: Do not configure DMA if not supported
On 17/09/25 19:38, Jon Hunter wrote:
>
> On 17/09/2025 09:56, 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>
>> ---
>> 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..d908e5e3f0af 100644
>> --- a/drivers/i2c/busses/i2c-tegra.c
>> +++ b/drivers/i2c/busses/i2c-tegra.c
>> @@ -446,6 +446,11 @@ static int tegra_i2c_init_dma(struct tegra_i2c_dev *i2c_dev)
>> u32 *dma_buf;
>> int err;
>> + 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 (IS_VI(i2c_dev))
>> return 0;
>
> No issue with this change, but we have a few checks for DMA support in this function and so it would be nice to have them altogether.
>
> Jon
>
Ack.
Thanks,
Kartik
Powered by blists - more mailing lists