drm/mediatek: Drop local dma_parms
authorRobin Murphy <robin.murphy@arm.com>
Thu, 3 Sep 2020 20:59:14 +0000 (21:59 +0100)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Sun, 22 Nov 2020 00:12:50 +0000 (08:12 +0800)
Since commit 9495b7e92f71 ("driver core: platform: Initialize dma_parms
for platform devices"), struct platform_device already provides a
dma_parms structure, so we can save allocating another one.

Also the DMA segment size is simply a size, not a bitmask.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_drv.c
drivers/gpu/drm/mediatek/mtk_drm_drv.h

index 59c85c6..2d73112 100644 (file)
@@ -241,21 +241,10 @@ static int mtk_drm_kms_init(struct drm_device *drm)
         * Configure the DMA segment size to make sure we get contiguous IOVA
         * when importing PRIME buffers.
         */
-       if (!dma_dev->dma_parms) {
-               private->dma_parms_allocated = true;
-               dma_dev->dma_parms =
-                       devm_kzalloc(drm->dev, sizeof(*dma_dev->dma_parms),
-                                    GFP_KERNEL);
-       }
-       if (!dma_dev->dma_parms) {
-               ret = -ENOMEM;
-               goto put_dma_dev;
-       }
-
-       ret = dma_set_max_seg_size(dma_dev, (unsigned int)DMA_BIT_MASK(32));
+       ret = dma_set_max_seg_size(dma_dev, UINT_MAX);
        if (ret) {
                dev_err(dma_dev, "Failed to set DMA segment size\n");
-               goto err_unset_dma_parms;
+               goto err_component_unbind;
        }
 
        /*
@@ -266,18 +255,13 @@ static int mtk_drm_kms_init(struct drm_device *drm)
        drm->irq_enabled = true;
        ret = drm_vblank_init(drm, MAX_CRTC);
        if (ret < 0)
-               goto err_unset_dma_parms;
+               goto err_component_unbind;
 
        drm_kms_helper_poll_init(drm);
        drm_mode_config_reset(drm);
 
        return 0;
 
-err_unset_dma_parms:
-       if (private->dma_parms_allocated)
-               dma_dev->dma_parms = NULL;
-put_dma_dev:
-       put_device(private->dma_dev);
 err_component_unbind:
        component_unbind_all(drm->dev, drm);
 put_mutex_dev:
@@ -287,14 +271,9 @@ put_mutex_dev:
 
 static void mtk_drm_kms_deinit(struct drm_device *drm)
 {
-       struct mtk_drm_private *private = drm->dev_private;
-
        drm_kms_helper_poll_fini(drm);
        drm_atomic_helper_shutdown(drm);
 
-       if (private->dma_parms_allocated)
-               private->dma_dev->dma_parms = NULL;
-
        component_unbind_all(drm->dev, drm);
 }
 
index b5be63e..6afd0b5 100644 (file)
@@ -44,8 +44,6 @@ struct mtk_drm_private {
        struct mtk_ddp_comp *ddp_comp[DDP_COMPONENT_ID_MAX];
        const struct mtk_mmsys_driver_data *data;
        struct drm_atomic_state *suspend_state;
-
-       bool dma_parms_allocated;
 };
 
 extern struct platform_driver mtk_ddp_driver;