Re: [PATCH v4] drm/ssd130x: Allocate buffers in the plane's .atomic_check callback

From: Javier Martinez Canillas
Date: Thu Jul 27 2023 - 09:44:33 EST


Thomas Zimmermann <tzimmermann@xxxxxxx> writes:

Hello Thomas,

Thanks a lot for the feedback!

> Hi Javier,
>
> this patch is completely broken. It's easy to fix though.
>
> Am 21.07.23 um 09:09 schrieb Javier Martinez Canillas:

[...]

>> +struct ssd130x_plane_state {
>> + struct drm_plane_state base;
>
> You need to use a struct drm_shadow_plane_state here.
>

Yes, I already noticed this when testing Arnd's patch to drop
DRM_GEM_SHADOW_PLANE_FUNCS. I already have a patch ready.

[...]

+
>> static const struct drm_plane_helper_funcs ssd130x_primary_plane_helper_funcs = {
>> DRM_GEM_SHADOW_PLANE_HELPER_FUNCS,
>
> This macro sets the callbacks that vmap/vunmap the GEM buffer during the
> display update. They expect to upcast from drm_plane_state to
> drm_shadow_plane_state. And hence, your driver's plane state needs to
> inherit from drm_shadow_plane_state.
>

Yup. I missed that. I'm now testing my patch and will post it.

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat