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

Krzysztof Kozlowski
2025-11-17T11:44:58Z

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