[PATCH 2/3] dma: arm-dma350: add support for shared interrupt mode

Krzysztof Kozlowski krzk at kernel.org
Mon Nov 17 03:44:52 PST 2025


On 17/11/2025 12:37, Jun Guo wrote:
>>>        /* Would be nice to have per-channel caps for this... */
>>>        memset = true;
>>>        for (int i = 0; i < nchan; i++) {
>>> @@ -595,10 +683,16 @@ static int d350_probe(struct platform_device *pdev)
>>>                        dev_warn(dev, "No command link support on channel %d\n", i);
>>>                        continue;
>>>                }
>>> -             dch->irq = platform_get_irq(pdev, i);
>>> -             if (dch->irq < 0)
>>> -                     return dev_err_probe(dev, dch->irq,
>>> -                                          "Failed to get IRQ for channel %d\n", i);
>>> +
>>> +             if (!of_device_is_compatible(pdev->dev.of_node,
>>> +                                          "cix,sky1-dma-350")) {
>> No, use driver match data for that. Sprinkling compatibles everywhere
>> does not scale.
>>
> I have another question: by "driver match data", are you referring to 
> the data variable in the struct of_device_id?

Yes.

>> Also, this is in contrary with the binding, which did not say your
>> device has no interrupts.
> I need to clarify here: the issue with my chip platform is not the lack 
> of interrupts, but that all DMA channels share a single interrupt. The 
> current driver, however, defaults to assigning an individual interrupt 
> for each DMA channel.

I am speaking about binding, which said that first interrupt is only for
channel 0. You need to restrict/change it for your variant.

Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list