On 10/30/2020 8:17 AM, Jason Gunthorpe wrote:
On Fri, Oct 30, 2020 at 11:38:03AM +0200, Parav Pandit wrote:
@@ -1140,7 +1141,10 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
rxe->ndev->dev_addr);
dev->dev.dma_parms = &rxe->dma_parms;
dma_set_max_seg_size(&dev->dev, UINT_MAX);
- dma_set_coherent_mask(&dev->dev, dma_get_required_mask(&dev->dev));
+ dma_mask = IS_ENABLED(CONFIG_64BIT) ? DMA_BIT_MASK(64) : DMA_BIT_MASK(32);
+ err = dma_coerce_mask_and_coherent(&dev->dev, dma_mask);
Since this mask doesn't actually do anything, what is the reason to
have the 64/32?
Technically there isn't. We are already dependent on 64bit config
anyway. Mike M just brought this up in a side bar conversation actually.
-Denny