Hi Russell!
On 21 January 2015 at 23:01, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
On Wed, Jan 21, 2015 at 09:46:47AM +0530, Sumit Semwal wrote:
+static int calc_constraints(struct device *dev,
struct dma_buf_constraints *calc_cons)
+{
struct dma_buf_constraints cons = *calc_cons;
cons.dma_mask &= dma_get_mask(dev);
I don't think this makes much sense when you consider that the DMA infrastructure supports buses with offsets. The DMA mask is th upper limit of the _bus_ specific address, it is not a mask per-se.
What this means is that &= is not the right operation. Moreover, simply comparing masks which could be from devices on unrelated buses doesn't make sense either.
However, that said, I don't have an answer for what you want to achieve here.
Thanks for your comments! I suppose in that case, I will leave out the *dma_masks from this constraints information for now; we can re-visit it when a specific use case really needs information about the dma-masks of the attached devices.
I will post an updated patch-set soon.
-- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.