Message ID | 20200613223027.4189309-1-linus.walleij@linaro.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | b984b6d8b52372b98cce0a6ff6c2787f50665b87 |
Headers | show |
Series | [1/2] drm: mcde: Fix display initialization problem | expand |
Hi Linus. On Sun, Jun 14, 2020 at 12:30:26AM +0200, Linus Walleij wrote: > The following bug appeared in the MCDE driver/display > initialization during the recent merge window. > > First the place we call drm_fbdev_generic_setup() in the > wrong place: this needs to be called AFTER calling > drm_dev_register() else we get this splat: > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 1 at ../drivers/gpu/drm/drm_fb_helper.c:2198 drm_fbdev_generic_setup+0x164/0x1a8 > mcde a0350000.mcde: Device has not been registered. > Modules linked in: > Hardware name: ST-Ericsson Ux5x0 platform (Device Tree Support) > [<c010e704>] (unwind_backtrace) from [<c010a86c>] (show_stack+0x10/0x14) > [<c010a86c>] (show_stack) from [<c0414f38>] (dump_stack+0x9c/0xb0) > [<c0414f38>] (dump_stack) from [<c0121c8c>] (__warn+0xb8/0xd0) > [<c0121c8c>] (__warn) from [<c0121d18>] (warn_slowpath_fmt+0x74/0xb8) > [<c0121d18>] (warn_slowpath_fmt) from [<c04b154c>] (drm_fbdev_generic_setup+0x164/0x1a8) > [<c04b154c>] (drm_fbdev_generic_setup) from [<c04ed278>] (mcde_drm_bind+0xc4/0x160) > [<c04ed278>] (mcde_drm_bind) from [<c04f06b8>] (try_to_bring_up_master+0x15c/0x1a4) > (...) > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Yup, this is the right way to do it. Reviewed-by: Sam Ravnborg <sam@ravnborg.org> One small thing to consider, see below. But for another patch. > --- > drivers/gpu/drm/mcde/mcde_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mcde/mcde_drv.c b/drivers/gpu/drm/mcde/mcde_drv.c > index 84f3e2dbd77b..80082d6dce3a 100644 > --- a/drivers/gpu/drm/mcde/mcde_drv.c > +++ b/drivers/gpu/drm/mcde/mcde_drv.c > @@ -209,7 +209,6 @@ static int mcde_modeset_init(struct drm_device *drm) > > drm_mode_config_reset(drm); > drm_kms_helper_poll_init(drm); > - drm_fbdev_generic_setup(drm, 32); > > return 0; > } > @@ -264,6 +263,8 @@ static int mcde_drm_bind(struct device *dev) > if (ret < 0) > goto unbind; > > + drm_fbdev_generic_setup(drm, 32); Consider using mode_config.preferred_depth, then you can pass 0 here. > + > return 0; > > unbind: > -- > 2.26.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Sun, Jun 14, 2020 at 9:44 AM Sam Ravnborg <sam@ravnborg.org> wrote: > Hi Linus. > > On Sun, Jun 14, 2020 at 12:30:26AM +0200, Linus Walleij wrote: > > The following bug appeared in the MCDE driver/display > > initialization during the recent merge window. > > > > First the place we call drm_fbdev_generic_setup() in the > > wrong place: this needs to be called AFTER calling > > drm_dev_register() else we get this splat: > > > > ------------[ cut here ]------------ > > WARNING: CPU: 0 PID: 1 at ../drivers/gpu/drm/drm_fb_helper.c:2198 drm_fbdev_generic_setup+0x164/0x1a8 > > mcde a0350000.mcde: Device has not been registered. > > Modules linked in: > > Hardware name: ST-Ericsson Ux5x0 platform (Device Tree Support) > > [<c010e704>] (unwind_backtrace) from [<c010a86c>] (show_stack+0x10/0x14) > > [<c010a86c>] (show_stack) from [<c0414f38>] (dump_stack+0x9c/0xb0) > > [<c0414f38>] (dump_stack) from [<c0121c8c>] (__warn+0xb8/0xd0) > > [<c0121c8c>] (__warn) from [<c0121d18>] (warn_slowpath_fmt+0x74/0xb8) > > [<c0121d18>] (warn_slowpath_fmt) from [<c04b154c>] (drm_fbdev_generic_setup+0x164/0x1a8) > > [<c04b154c>] (drm_fbdev_generic_setup) from [<c04ed278>] (mcde_drm_bind+0xc4/0x160) > > [<c04ed278>] (mcde_drm_bind) from [<c04f06b8>] (try_to_bring_up_master+0x15c/0x1a4) > > (...) > > > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > > Yup, this is the right way to do it. > > Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Hm I can't seem to apply these because drm-misc-fixes isn't rebased to v5.8-rc1 or something (wrong ancestor). Does anyone know if ther is a special trick for this or do I need to wait for someone else to rebase that branch? Yours, Linus Walleij
On Sun, Jun 14, 2020 at 11:29 PM Linus Walleij <linus.walleij@linaro.org> wrote: > > On Sun, Jun 14, 2020 at 9:44 AM Sam Ravnborg <sam@ravnborg.org> wrote: > > > Hi Linus. > > > > On Sun, Jun 14, 2020 at 12:30:26AM +0200, Linus Walleij wrote: > > > The following bug appeared in the MCDE driver/display > > > initialization during the recent merge window. > > > > > > First the place we call drm_fbdev_generic_setup() in the > > > wrong place: this needs to be called AFTER calling > > > drm_dev_register() else we get this splat: > > > > > > ------------[ cut here ]------------ > > > WARNING: CPU: 0 PID: 1 at ../drivers/gpu/drm/drm_fb_helper.c:2198 drm_fbdev_generic_setup+0x164/0x1a8 > > > mcde a0350000.mcde: Device has not been registered. > > > Modules linked in: > > > Hardware name: ST-Ericsson Ux5x0 platform (Device Tree Support) > > > [<c010e704>] (unwind_backtrace) from [<c010a86c>] (show_stack+0x10/0x14) > > > [<c010a86c>] (show_stack) from [<c0414f38>] (dump_stack+0x9c/0xb0) > > > [<c0414f38>] (dump_stack) from [<c0121c8c>] (__warn+0xb8/0xd0) > > > [<c0121c8c>] (__warn) from [<c0121d18>] (warn_slowpath_fmt+0x74/0xb8) > > > [<c0121d18>] (warn_slowpath_fmt) from [<c04b154c>] (drm_fbdev_generic_setup+0x164/0x1a8) > > > [<c04b154c>] (drm_fbdev_generic_setup) from [<c04ed278>] (mcde_drm_bind+0xc4/0x160) > > > [<c04ed278>] (mcde_drm_bind) from [<c04f06b8>] (try_to_bring_up_master+0x15c/0x1a4) > > > (...) > > > > > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > > > > Yup, this is the right way to do it. > > > > Reviewed-by: Sam Ravnborg <sam@ravnborg.org> > > Hm I can't seem to apply these because drm-misc-fixes isn't > rebased to v5.8-rc1 or something (wrong ancestor). > > Does anyone know if ther is a special trick for this or do I > need to wait for someone else to rebase that branch? Thomas Zimmermann (added) as current -fixes handler needs to roll the branch forward (and make sure nothing got lost). -Daniel > > Yours, > Linus Walleij > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Linus, On Sat, 13 Jun 2020 at 23:30, Linus Walleij <linus.walleij@linaro.org> wrote: > > The following bug appeared in the MCDE driver/display > initialization during the recent merge window. > > First the place we call drm_fbdev_generic_setup() in the > wrong place: this needs to be called AFTER calling > drm_dev_register() else we get this splat: > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 1 at ../drivers/gpu/drm/drm_fb_helper.c:2198 drm_fbdev_generic_setup+0x164/0x1a8 > mcde a0350000.mcde: Device has not been registered. > Modules linked in: > Hardware name: ST-Ericsson Ux5x0 platform (Device Tree Support) > [<c010e704>] (unwind_backtrace) from [<c010a86c>] (show_stack+0x10/0x14) > [<c010a86c>] (show_stack) from [<c0414f38>] (dump_stack+0x9c/0xb0) > [<c0414f38>] (dump_stack) from [<c0121c8c>] (__warn+0xb8/0xd0) > [<c0121c8c>] (__warn) from [<c0121d18>] (warn_slowpath_fmt+0x74/0xb8) > [<c0121d18>] (warn_slowpath_fmt) from [<c04b154c>] (drm_fbdev_generic_setup+0x164/0x1a8) > [<c04b154c>] (drm_fbdev_generic_setup) from [<c04ed278>] (mcde_drm_bind+0xc4/0x160) > [<c04ed278>] (mcde_drm_bind) from [<c04f06b8>] (try_to_bring_up_master+0x15c/0x1a4) > (...) > Worth adding Cc: stable or Fixes tag, so this lands in the stable branches? If anything I'm slightly worried that w/o such a tag, the AI bot (as used by the stable team) might auto-nominate this even where it's not applicable. HTH Emil
diff --git a/drivers/gpu/drm/mcde/mcde_drv.c b/drivers/gpu/drm/mcde/mcde_drv.c index 84f3e2dbd77b..80082d6dce3a 100644 --- a/drivers/gpu/drm/mcde/mcde_drv.c +++ b/drivers/gpu/drm/mcde/mcde_drv.c @@ -209,7 +209,6 @@ static int mcde_modeset_init(struct drm_device *drm) drm_mode_config_reset(drm); drm_kms_helper_poll_init(drm); - drm_fbdev_generic_setup(drm, 32); return 0; } @@ -264,6 +263,8 @@ static int mcde_drm_bind(struct device *dev) if (ret < 0) goto unbind; + drm_fbdev_generic_setup(drm, 32); + return 0; unbind:
The following bug appeared in the MCDE driver/display initialization during the recent merge window. First the place we call drm_fbdev_generic_setup() in the wrong place: this needs to be called AFTER calling drm_dev_register() else we get this splat: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at ../drivers/gpu/drm/drm_fb_helper.c:2198 drm_fbdev_generic_setup+0x164/0x1a8 mcde a0350000.mcde: Device has not been registered. Modules linked in: Hardware name: ST-Ericsson Ux5x0 platform (Device Tree Support) [<c010e704>] (unwind_backtrace) from [<c010a86c>] (show_stack+0x10/0x14) [<c010a86c>] (show_stack) from [<c0414f38>] (dump_stack+0x9c/0xb0) [<c0414f38>] (dump_stack) from [<c0121c8c>] (__warn+0xb8/0xd0) [<c0121c8c>] (__warn) from [<c0121d18>] (warn_slowpath_fmt+0x74/0xb8) [<c0121d18>] (warn_slowpath_fmt) from [<c04b154c>] (drm_fbdev_generic_setup+0x164/0x1a8) [<c04b154c>] (drm_fbdev_generic_setup) from [<c04ed278>] (mcde_drm_bind+0xc4/0x160) [<c04ed278>] (mcde_drm_bind) from [<c04f06b8>] (try_to_bring_up_master+0x15c/0x1a4) (...) Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- drivers/gpu/drm/mcde/mcde_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)