[PATCH] drm: Only use compat ioctl for addfb2 on X86/IA64
Rob Clark
robdclark at gmail.com
Wed Sep 14 17:00:48 UTC 2016
On Tue, Sep 13, 2016 at 5:20 PM, Kristian H. Kristensen
<hoegsberg at gmail.com> wrote:
> 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.
might not hurt to mention that this only effects stuff using modifiers
in commit msg
Reviewed-by: Rob Clark <robdclark at gmail.com>
> Signed-off-by: Kristian H. Kristensen <hoegsberg at chromium.org>
> ---
> drivers/gpu/drm/drm_ioc32.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c
> index 57676f8..a628975 100644
> --- 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 file *file, unsigned int cmd,
> 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 file *file, unsigned int cmd,
>
> 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_ioctls[] = {
> [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
> };
>
> /**
> --
> 2.8.0.rc3.226.g39d4020
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list