Re: [PATCH v9 1/4] i2c: tegra: Do not configure DMA if not supported

Jon Hunter
2025-10-28T16:10:03Z

On 28/10/2025 13:08, Akhil R wrote:
> On Tue, 28 Oct 2025 10:41:54 +0000 Jon Hunter wrote:
>> On 28/10/2025 10:00, Akhil R wrote:
>>> On Fri, 24 Oct 2025 16:20:09 +0100, Jon Hunter wrote:
>>>> On 01/10/2025 07:47, Kartik Rajput wrote:
>
> ...
>
>>>>> 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?
>>>
>>> The of_ function returns false if using ACPI. Since these DMA drivers does
>>> not support ACPI enumeration currently, we would not require to proceed
>>> further anyway. But if required we can add an additional check with
>>> acpi_dma_supported() or similar. Do you suggest adding a check for ACPI?
>>
>> I was just wondering if it is better to use fwnode_property_present()
>> instead.
>
> I think ACPI does not use 'dmas' property to connect a DMA resource.
> It uses FixedDMA or something similar. It may not be helpful to use
> fwnode_*() or device_*() check here in that case.

OK. Then fine to leave this as-is.

Jon

--
nvpublic