This reverts commit d66083c0d6f5125a4d982aa177dd71ab4cd3d212 and commit d4ec1ffbdaa8939a208656e9c1440742c457ef16.
On v5.10 stable, reboot gets stuck on gxl and g12a chip family (at least). This was tested on the aml-s905x-cc from libretch and the u200 reference design.
Bisecting on the v5.10 stable branch lead to commit d4ec1ffbdaa8 ("drm: meson_drv add shutdown function").
Reverting it (and a fixes on the it) sloves the problem.
Signed-off-by: Jerome Brunet jbrunet@baylibre.com ---
Hi Greg,
Things are fine on master but it breaks on v5.10-y. I did not check v5.14-y yet. I'll try next week.
drivers/gpu/drm/meson/meson_drv.c | 12 ------------ 1 file changed, 12 deletions(-)
diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 2753067c08e6..3d1de9cbb1c8 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -482,17 +482,6 @@ static int meson_probe_remote(struct platform_device *pdev, return count; }
-static void meson_drv_shutdown(struct platform_device *pdev) -{ - struct meson_drm *priv = dev_get_drvdata(&pdev->dev); - - if (!priv) - return; - - drm_kms_helper_poll_fini(priv->drm); - drm_atomic_helper_shutdown(priv->drm); -} - static int meson_drv_probe(struct platform_device *pdev) { struct component_match *match = NULL; @@ -564,7 +553,6 @@ static const struct dev_pm_ops meson_drv_pm_ops = {
static struct platform_driver meson_drm_platform_driver = { .probe = meson_drv_probe, - .shutdown = meson_drv_shutdown, .driver = { .name = "meson-drm", .of_match_table = dt_match,