lkml.org 
[lkml]   [2023]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] drm/ssd130x: drop DRM_GEM_SHADOW_PLANE_FUNCS override
On Thu, Jul 27, 2023, at 16:07, Javier Martinez Canillas wrote:
> Arnd Bergmann <arnd@kernel.org> writes:
>
> Hello Arnd,
>
> Thanks a lot for your patch.
>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> It is not possible for ssd130x_primary_plane_funcs to use both
>> its own reset/duplicate/destroy callbacks and the ones from
>> DRM_GEM_SHADOW_PLANE_FUNCS:
>>
>> In file included from drivers/gpu/drm/solomon/ssd130x.c:29:
>> include/drm/drm_gem_atomic_helper.h:100:18: error: initialized field overwritten [-Werror=override-init]
>> 100 | .reset = drm_gem_reset_shadow_plane, \
>> 101 | .atomic_duplicate_state = drm_gem_duplicate_shadow_plane_state, \
>> 102 | .atomic_destroy_state = drm_gem_destroy_shadow_plane_state
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/solomon/ssd130x.c:744:9: note: in expansion of macro 'DRM_GEM_SHADOW_PLANE_FUNCS'
>> 744 | DRM_GEM_SHADOW_PLANE_FUNCS,
>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>
> Gah, I missed that. I wonder how this compile warning doesn't show up for me.

The warning is normally disabled, I have it turned on in my local
patch series on top of linux-next.

>> Since the custom callbacks were just added, I assume these are the
>> ones it is meant to use, so remvoe the generic overrides.
>>
>> Fixes: 45b58669e532b ("drm/ssd130x: Allocate buffer in the plane's .atomic_check() callback")
>
> Unfortunately that's not enough, because the plane atomic state handlers
> that were introduced in that commit are broken so removing the macro will
> regress the driver.
>
> I've posted a patch that drops the macro but also fixes the handlers for
> the driver to work with the custom callbacks:
>
> https://lists.freedesktop.org/archives/dri-devel/2023-July/415897.html

Ok, makes sense.

Arnd

\
 
 \ /
  Last update: 2023-07-27 16:49    [W:0.028 / U:1.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site