i3c: master: Inherit DMA masks and parameters from parent device
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 21 Sep 2023 05:56:53 +0000 (08:56 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 25 Sep 2023 21:35:14 +0000 (23:35 +0200)
Copy the DMA masks and parameters for an I3C master device from parent
device so that the master device has them set for the DMA buffer and
mapping API.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Link: https://lore.kernel.org/r/20230921055704.1087277-2-jarkko.nikula@linux.intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master.c

index 8573ca5077082af0117c5a32633bab6032f58a75..839eb8b4bbdec94d103e85760aa411d782d794af 100644 (file)
@@ -2629,6 +2629,10 @@ int i3c_master_register(struct i3c_master_controller *master,
        device_initialize(&master->dev);
        dev_set_name(&master->dev, "i3c-%d", i3cbus->id);
 
+       master->dev.dma_mask = parent->dma_mask;
+       master->dev.coherent_dma_mask = parent->coherent_dma_mask;
+       master->dev.dma_parms = parent->dma_parms;
+
        ret = of_populate_i3c_bus(master);
        if (ret)
                goto err_put_dev;