[PATCH] drm: Only use compat ioctl for addfb2 on X86/IA64

Sean Paul seanpaul at chromium.org
Thu Sep 15 14:44:26 UTC 2016


On Wed, Sep 14, 2016 at 1:00 PM, Rob Clark <robdclark at gmail.com> wrote:
> 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>


Added the note to the commit msg and applied to drm-misc

Sean

>
>> 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
> _______________________________________________
> 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