Re: [PATCH v9 20/23] drm/rockchip: Make VOP driver optional

Andy Yan
2022-03-31T07:21:03Z

Hi Sascha:

On 3/31/22 15:06, Sascha Hauer wrote:
> On Wed, Mar 30, 2022 at 08:50:09PM +0800, Andy Yan wrote:
>> Hi Sascha:
>>
>> On 3/30/22 14:39, Sascha Hauer wrote:
>>> Hi Andy,
>>>
>>> On Tue, Mar 29, 2022 at 07:56:27PM +0800, Andy Yan wrote:
>>>> Hi Sascha:
>>>>
>>>> On 3/28/22 23:11, Sascha Hauer wrote:
>>>>> With upcoming VOP2 support VOP won't be the only choice anymore, so make
>>>>> the VOP driver optional.
>>>>>
>>>>> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
>>>>> ---
>>>>> drivers/gpu/drm/rockchip/Kconfig | 8 ++++++++
>>>>> drivers/gpu/drm/rockchip/Makefile | 3 ++-
>>>>> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +-
>>>>> 3 files changed, 11 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
>>>>> index fa5cfda4e90e3..7d22e2997a571 100644
>>>>> --- a/drivers/gpu/drm/rockchip/Kconfig
>>>>> +++ b/drivers/gpu/drm/rockchip/Kconfig
>>>>> @@ -23,8 +23,16 @@ config DRM_ROCKCHIP
>>>>> if DRM_ROCKCHIP
>>>>> +config ROCKCHIP_VOP
>>>>> + bool "Rockchip VOP driver"
>>>>> + default y
>>>>> + help
>>>>> + This selects support for the VOP driver. You should enable it
>>>>> + on all older SoCs up to RK3399.
>>> That reminds me that I wanted to rephrase this. Will change in next
>>> round.
>>>
>>>>> +
>>>>> config ROCKCHIP_ANALOGIX_DP
>>>>> bool "Rockchip specific extensions for Analogix DP driver"
>>>>> + depends on ROCKCHIP_VOP
>>>> Aanlogix dp is also on vop2 base soc such as  rk356x and rk3588.
> BTW I just looked at the downstream driver. Here we have the same
> situation that the analogix dp driver calls rockchip_drm_wait_vact_end()
> which is implemented in the VOP driver, so when the analogix dp driver
> is actually used on a VOP2 SoC then it is either used in a way that
> rockchip_drm_wait_vact_end() will never be called or it explodes in all
> colours.
>
>>> I added the dependency because analogix_dp-rockchip.c calls
>>> rockchip_drm_wait_vact_end() which is implemented in the VOP driver,
>>> so this driver currenty can't work with the VOP2 driver and can't
>>> be linked without the VOP driver being present.
>>> I'll add a few words to the commit message.
>>
>> Maybe a better direction is move rockchip_drm_wait_vact_end from the VOP
>> driver to rockchip_drm_drv.c
> I am not sure if that's really worth it. Yes, the direction might be the
> right one, but I would really prefer when somebody does the change who
> can test and confirm that the analogix dp really works with VOP2 in the
> end.

If follow this point, the current DW_MIPI also has not been tested for
confirm that it

can really work with VOP2, so you should also make it depends on
ROCKCHIP_VOP.

I think the current solution is just a workaround to make your patch
pass the kernel compile

but not reflect the real situation.

> Sascha