Re: [PATCH v12 2/9] drm/ingenic: Add support for JZ4780 and HDMI output

From: H. Nikolaus Schaller
Date: Wed Feb 02 2022 - 07:33:47 EST




> Am 02.02.2022 um 13:28 schrieb Paul Cercueil <paul@xxxxxxxxxxxxxxx>:
>
>
>
> Le mer., févr. 2 2022 at 13:17:14 +0100, H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> a écrit :
>> Hi Paul,
>>> Am 02.02.2022 um 13:06 schrieb Paul Cercueil <paul@xxxxxxxxxxxxxxx>:
>>> Hi Nikolaus,
>>>>>> @@ -446,6 +454,9 @@ static int ingenic_drm_plane_atomic_check(struct drm_plane *plane,
>>>>>> if (!crtc)
>>>>>> return 0;
>>>>>> + if (plane == &priv->f0)
>>>>>> + return -EINVAL;
>>>>> This will break JZ4725B -> JZ4770 SoCs, the f0 plane is perfectly usable there.
>>>> Hm. I think it was your request/proposal to add this [1]?
>>> Because otherwise with your current patchset the f0 plane does not work *on JZ4780*.
>> Not that I am eager to fix that, but...
>> maybe it could be better to fix than having the check and -EINVAL depend on SoC compatible string
>> (or some new flag in soc_info. plane_f0_not_working)?
>
> Totally agree! A proper fix would be much better. A "plane_f0_not_working" in the meantime is OK with me.

Ok, then I'll prepare a v13 with plane_f0_not_working.

>
> Note that there are other things not working with your current implementation, for instance you cannot set the X/Y start position of the f1 plane, which means it's only really usable for fullscreen desktop/windows.

Is setting x/y possible for the other SoC?

>
>>> It does work on older SoCs.
>>>> What I have forgotten is why the f0 plane should not be usable for jz4780.
>>> We return an error here to prevent userspace from using the f0 plane until it's effectively working on the JZ4780.
>> Well, what would be not working with that plane if user-space would try to use it?
>
> From what I remember, it wouldn't show anything on screen, and after that trying to use the f1 plane wouldn't work either.

Ok. That may become a big project to fix. So let's do step 1 first.

BR and thanks,
NIkolaus