lkml.org 
[lkml]   [2016]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.7 146/184] drm: Only use compat ioctl for addfb2 on X86/IA64
    Date
    4.7-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Kristian H. Kristensen <hoegsberg@gmail.com>

    commit 47a66e45d7a7613322549c2475ea9d809baaf514 upstream.

    Similar to struct drm_update_draw, struct drm_mode_fb_cmd2 has an
    unaligned 64 bit field (modifier). This get packed differently between
    32 bit and 64 bit modes on architectures that can handle unaligned 64
    bit access (X86 and IA64). Other architectures pack the structs the
    same and don't need the compat wrapper. Use the same condition for
    drm_mode_fb_cmd2 as we use for drm_update_draw.

    Note that only the modifier will be packed differently between compat
    and non-compat versions.

    Reviewed-by: Rob Clark <robdclark@gmail.com>
    Signed-off-by: Kristian H. Kristensen <hoegsberg@chromium.org>
    [seanpaul added not at bottom of commit msg re: modifier]
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: http://patchwork.freedesktop.org/patch/msgid/1473801645-116011-1-git-send-email-hoegsberg@chromium.org
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/drm_ioc32.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/drivers/gpu/drm/drm_ioc32.c
    +++ b/drivers/gpu/drm/drm_ioc32.c
    @@ -1015,6 +1015,7 @@ static int compat_drm_wait_vblank(struct
    return 0;
    }

    +#if defined(CONFIG_X86) || defined(CONFIG_IA64)
    typedef struct drm_mode_fb_cmd232 {
    u32 fb_id;
    u32 width;
    @@ -1071,6 +1072,7 @@ static int compat_drm_mode_addfb2(struct

    return 0;
    }
    +#endif

    static drm_ioctl_compat_t *drm_compat_ioctls[] = {
    [DRM_IOCTL_NR(DRM_IOCTL_VERSION32)] = compat_drm_version,
    @@ -1104,7 +1106,9 @@ static drm_ioctl_compat_t *drm_compat_io
    [DRM_IOCTL_NR(DRM_IOCTL_UPDATE_DRAW32)] = compat_drm_update_draw,
    #endif
    [DRM_IOCTL_NR(DRM_IOCTL_WAIT_VBLANK32)] = compat_drm_wait_vblank,
    +#if defined(CONFIG_X86) || defined(CONFIG_IA64)
    [DRM_IOCTL_NR(DRM_IOCTL_MODE_ADDFB232)] = compat_drm_mode_addfb2,
    +#endif
    };

    /**

    \
     
     \ /
      Last update: 2016-09-23 00:03    [W:4.589 / U:0.384 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site