lkml.org 
[lkml]   [2019]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 23/57] drm/mediatek: use correct device to import PRIME buffers
    Date
    [ Upstream commit 4c6f3196e6ea111c456c6086dc3f57d4706b0b2d ]

    PRIME buffers should be imported using the DMA device. To this end, use
    a custom import function that mimics drm_gem_prime_import_dev(), but
    passes the correct device.

    Fixes: 119f5173628aa ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
    Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
    Signed-off-by: CK Hu <ck.hu@mediatek.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/mediatek/mtk_drm_drv.c | 14 +++++++++++++-
    1 file changed, 13 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
    index fd83046d8376b..ffb997440851d 100644
    --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
    +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
    @@ -327,6 +327,18 @@ static const struct file_operations mtk_drm_fops = {
    .compat_ioctl = drm_compat_ioctl,
    };

    +/*
    + * We need to override this because the device used to import the memory is
    + * not dev->dev, as drm_gem_prime_import() expects.
    + */
    +struct drm_gem_object *mtk_drm_gem_prime_import(struct drm_device *dev,
    + struct dma_buf *dma_buf)
    +{
    + struct mtk_drm_private *private = dev->dev_private;
    +
    + return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev);
    +}
    +
    static struct drm_driver mtk_drm_driver = {
    .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME |
    DRIVER_ATOMIC,
    @@ -338,7 +350,7 @@ static struct drm_driver mtk_drm_driver = {
    .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
    .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
    .gem_prime_export = drm_gem_prime_export,
    - .gem_prime_import = drm_gem_prime_import,
    + .gem_prime_import = mtk_drm_gem_prime_import,
    .gem_prime_get_sg_table = mtk_gem_prime_get_sg_table,
    .gem_prime_import_sg_table = mtk_gem_prime_import_sg_table,
    .gem_prime_mmap = mtk_drm_gem_mmap_buf,
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-09-08 14:48    [W:4.046 / U:2.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site