> I think this is a limitation of driver may not be for HW. The right model for > dma_chan is to be viewed as SW channels and not the ones of HW (yes that is > how most of the drivers use that, but we can improve upon) > > If we rework the driver to view dma_chan as SW channels, then you can accept > multiple channel requests and accept based on if we are able link the channel to > that peripheral or not. In my understanding, the DMA driver does exactly that. However, it is not even loaded at the time the I2C driver wants a channel, so the dmaengine core defers the probe. That is the problem for optional DMA channels: we can't know when deferring probe won't help anymore and don't know when it is time to fall back to PIO.
Attachment:
signature.asc
Description: Digital signature