[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <31cb347a-1d14-4114-bad3-5e9e4e87bf08@collabora.com>
Date: Mon, 12 Aug 2024 23:04:12 +0300
From: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
To: Andy Yan <andyshrk@....com>
Cc: Sandy Huang <hjc@...k-chips.com>, Heiko Stübner
<heiko@...ech.de>, Andy Yan <andy.yan@...k-chips.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>,
Sean Paul <seanpaul@...omium.org>, Jeffy Chen <jeffy.chen@...k-chips.com>,
Andrzej Hajda <andrzej.hajda@...el.com>, Mark Yao <markyao0591@...il.com>,
kernel@...labora.com, dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] drm/rockchip: Unregister platform drivers in
reverse order
Hi Andy,
On 8/12/24 5:14 AM, Andy Yan wrote:
>
> Hi Cristian,
>
> At 2024-08-08 19:58:02, "Cristian Ciocaltea" <cristian.ciocaltea@...labora.com> wrote:
>> Move rockchip_drm_platform_driver unregistration after its sub-drivers,
>> which ensures all drivers are unregistered in the reverse order used
>> when they were registered.
>
> Would you please provied some detail information about how to reproduce this
> issue this patch try to fix?Or some kernel log when this issue triggered。
I submitted this patch while investigating a couple of issues
encountered when tried to reload the rockchipdrm module.
One was a system freeze, which eventually proved to have a different
root cause and got fixed via [1]. The other one was a lockdep splat
which seems to be caused by the switch to maple tree register cache in
vop2 - I have a regmap workaround, not yet sure that's a proper fix.
As of v6.11-rc1, reloading the module works fine, w/ or w/o this patch
applied (ignoring the above mentioned splat). But I could only verify
on Rock 3A, hence unregistering the drivers in the correct order should,
at least, eliminate a potential source of unexpected behavior on the
other boards.
Regards,
Cristian
[1]: 9d42c3ee3ce3 ("arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu")
>> Fixes: 8820b68bd378 ("drm/rockchip: Refactor the component match logic.")
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
>> ---
>> drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>> index 44d769d9234d..ca7b07503fbe 100644
>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
>> @@ -528,10 +528,9 @@ static int __init rockchip_drm_init(void)
>>
>> static void __exit rockchip_drm_fini(void)
>> {
>> - platform_driver_unregister(&rockchip_drm_platform_driver);
>> -
>> platform_unregister_drivers(rockchip_sub_drivers,
>> num_rockchip_sub_drivers);
>> + platform_driver_unregister(&rockchip_drm_platform_driver);
>> }
>>
>> module_init(rockchip_drm_init);
>>
>> ---
>> base-commit: 1eb586a9782cde8e5091b9de74603e0a8386b09e
>> change-id: 20240702-rk-drm-fix-unreg-9f3f29996a00
>> --
>> Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
Powered by blists - more mailing lists