[PATCH 1/2] drm/ingenic: Switch IPU plane to type OVERLAY

Paul Cercueil paul at crapouillou.net
Tue Mar 30 11:53:04 UTC 2021


Hi Simon,

Le mar. 30 mars 2021 à 7:23, Simon Ser <contact at emersion.fr> a écrit :
>>  It should have been an OVERLAY from the beginning. The documentation
>>  stipulates that there should be an unique PRIMARY plane per CRTC.
> 
> Thanks for the quick patch! One comment below…
> 
>>  Fixes: fc1acf317b01 ("drm/ingenic: Add support for the IPU")
>>  Cc: <stable at vger.kernel.org> # 5.8+
>>  Signed-off-by: Paul Cercueil <paul at crapouillou.net>
>>  ---
>>   drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 11 +++++------
>>   drivers/gpu/drm/ingenic/ingenic-ipu.c     |  2 +-
>>   2 files changed, 6 insertions(+), 7 deletions(-)
>> 
>>  diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c 
>> b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>>  index 29742ec5ab95..09225b770bb8 100644
>>  --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>>  +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
>>  @@ -419,7 +419,7 @@ static void ingenic_drm_plane_enable(struct 
>> ingenic_drm *priv,
>>   	unsigned int en_bit;
>> 
>>   	if (priv->soc_info->has_osd) {
>>  -		if (plane->type == DRM_PLANE_TYPE_PRIMARY)
>>  +		if (plane != &priv->f0)
> 
> I don't know about this driver but… is this really the same as the 
> previous
> condition? The previous condition would match two planes, this one 
> seems to
> match only a single plane. What am I missing?

There are three planes, which we will call here f0, f1, and ipu.

Previously, the "plane->type == DRM_PLANE_TYPE_PRIMARY" matched f1 and 
ipu. Since ipu is now OVERLAY we have to change the condition or the 
behaviour will be different, as otherwise it would only match the f1 
plane.

Cheers,
-Paul




More information about the dri-devel mailing list