DMAEngine and channel pairs

From: jonsmirl@xxxxxxxxx
Date: Wed Feb 06 2013 - 23:27:19 EST


The CPU I'm working on uses two sequential DMA channels to implement
scatter-gather. How do you handle this in the channel allocator? If
scatter-gather is not requested the two channels work fine as normal
DMA channels.

So when a scatter-gather channel is requested my driver needs to fail
the dma_alloc_chan_resources() requests until a sequential pair is
located? Plus I need to track what channels are used in my driver so
that I know where sequential pairs are. Is there a better way to do
this?

Another solution might be to statically allocate some channels as
being scatter/gather capable and others as not being able to do it. I
would just report fewer available channels to dmaengine and hide those
secondary channels from it. I have 12 channels to work with.

--
Jon Smirl
jonsmirl@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/