> /* setup generic device info */ > + dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); > + if (!dev->dev.dma_mask) > + dev->dev.dma_mask = &dev->dev.coherent_dma_mask; We should never set dma_mask to point to the coherent_dma_mask, as that will cause problems with devices that have different mask for the two. How about something like this? --- diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 7ba90c290a42..c04ed124305c 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -242,6 +242,9 @@ static struct amba_device *of_amba_device_create(struct device_node *node, goto err_clear_flag; /* setup generic device info */ + dev->dma_mask = DMA_BIT_MASK(32); + dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); + dev->dev.dma_mask = &dev->dma_mask; dev->dev.of_node = of_node_get(node); dev->dev.fwnode = &node->fwnode; dev->dev.parent = parent ? : &platform_bus; diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h index d143c13bed26..fbc7adf3ca54 100644 --- a/include/linux/amba/bus.h +++ b/include/linux/amba/bus.h @@ -34,6 +34,7 @@ struct amba_device { unsigned int periphid; unsigned int irq[AMBA_NR_IRQS]; char *driver_override; + u64 dma_mask; }; struct amba_driver { _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel