Messages in this thread | | | Date | Fri, 9 Aug 2013 10:35:06 +0100 | From | Russell King - ARM Linux <> | Subject | Re: DMA masks |
| |
On Fri, Aug 09, 2013 at 11:12:36AM +0200, Krzysztof Hałasa wrote: > Hi, > > I'm trying to understand why the struct device contains a pointer to > dma_mask and not the actual dma_mask: > > struct device { > ... > > u64 *dma_mask; /* dma mask (if dma'able device) */ > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"If dma-able device" gives a clue. It is now the case that the DMA API refuses DMA (via dma_supported) if the DMA mask pointer is NULL.
So, we're now in the situation where this conveys information, and merely getting rid of the indirection loses information which may be (and probably is) relied upon by drivers.
However, placing the storage for the dma_mask pointer into struct device is something which I've recently discussed with Greg, and is something he'd like to see happen, so I'll be adding that to my DMA masks patch series in the very near future. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |