Re: [PATCH] spi: pl022: Add OF binding to disable DMA usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Mark,

On 25/07/18 19:06, Mark Brown wrote:
>> Legacy platform instantiation of PL022 had an ability to configure DMA
>> usage on controller level. If PL022 is being instantiated from DT it still
>> claims couple of DMA channels capable of DMA_SLAVE unconditionally even if
>> there are no DMA channels specified in the DT.
>> Depending on the slave devices' configuration this might be waste of DMA
>> channels or this might even claim some precious DMA channels if there are
>> only few of them in the system.
> Hrm.  This makes sense as an expedient solution for constrained systems
> however I'm wondering if it's a good idea to bake it into the ABI like
> this or if we shouldn't instead be looking at improving the driver to
> work better in systems with limited channels, for example by only
> claiming the channels when it's active (since it can fall back to PIO if
> it doesn't get them).  That might be too heavyweight though, possibly
> even impact performance for systems that do have abundant channels and
> could interfere with other devices that aren't so able to do the
> fallback stuff.

yes, this is an option as well, but at the time we need to take this decision
the bus scan has not yet been performed. We could scan all the devices in
the DT and check if any of them requires DMA. This would mean, that
probe() of the PL022 driver will include similar code to the bus scan
that anyway will happen later just to take the decision on DMA usage.

But I'm fine with that. If this sounds better than new boolean DT binding,
I'll send another patch.

-- 
Best regards,
Alexander Sverdlin.
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux