DMA-API: provide a helper to setup DMA masks
Many drivers contain code such as: dev->dma_mask = &dev->coherent_dma_mask; dev->coherent_dma_mask = MASK; Let's move this pattern out of drivers and have the DMA API provide a helper for it. This helper uses dma_set_mask_and_coherent() to allow platform issues to be properly dealt with via dma_set_mask()/ dma_is_supported(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
4ffb4318b0
commit
fa6a8d6d65
|
@ -111,6 +111,16 @@ static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask)
|
|||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
* Similar to the above, except it deals with the case where the device
|
||||
* does not have dev->dma_mask appropriately setup.
|
||||
*/
|
||||
static inline int dma_coerce_mask_and_coherent(struct device *dev, u64 mask)
|
||||
{
|
||||
dev->dma_mask = &dev->coherent_dma_mask;
|
||||
return dma_set_mask_and_coherent(dev, mask);
|
||||
}
|
||||
|
||||
extern u64 dma_get_required_mask(struct device *dev);
|
||||
|
||||
static inline unsigned int dma_get_max_seg_size(struct device *dev)
|
||||
|
|
Loading…
Reference in New Issue