[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