On Thu, Jan 19, 2023 at 09:06:54AM +0100, Thomas Zimmermann wrote:
> Hi
>
> Am 18.01.23 um 20:21 schrieb Rodrigo Vivi:
> > On Thu, Jan 12, 2023 at 09:11:55PM +0100, Thomas Zimmermann wrote:
> > > Set the framebuffer info for drivers that support VGA switcheroo. Only
> > > affects the amdgpu and nouveau drivers, which use VGA switcheroo and
> > > generic fbdev emulation. For other drivers, this does nothing.
> > >
> > > This fixes a potential regression in the console code. Both, amdgpu and
> > > nouveau, invoked vga_switcheroo_client_fb_set() from their internal fbdev
> > > code. But the call got lost when the drivers switched to the generic
> > > emulation.
> > >
> > > Fixes: 087451f372bf ("drm/amdgpu: use generic fb helpers instead of
> > > setting up AMD own's.")
> > > Fixes: 4a16dd9d18a0 ("drm/nouveau/kms: switch to drm fbdev helpers")
> > > Signed-off-by: Thomas Zimmermann <[email protected]>
> > > Reviewed-by: Daniel Vetter <[email protected]>
> > > Reviewed-by: Alex Deucher <[email protected]>
> > > Cc: Ben Skeggs <[email protected]>
> > > Cc: Karol Herbst <[email protected]>
> > > Cc: Lyude Paul <[email protected]>
> > > Cc: Thomas Zimmermann <[email protected]>
> > > Cc: Javier Martinez Canillas <[email protected]>
> > > Cc: Laurent Pinchart <[email protected]>
> > > Cc: Jani Nikula <[email protected]>
> > > Cc: Dave Airlie <[email protected]>
> > > Cc: Evan Quan <[email protected]>
> > > Cc: Christian König <[email protected]>
> > > Cc: Alex Deucher <[email protected]>
> > > Cc: Hawking Zhang <[email protected]>
> > > Cc: Likun Gao <[email protected]>
> > > Cc: "Christian König" <[email protected]>
> > > Cc: Stanley Yang <[email protected]>
> > > Cc: "Tianci.Yin" <[email protected]>
> > > Cc: Xiaojian Du <[email protected]>
> > > Cc: Andrey Grodzovsky <[email protected]>
> > > Cc: YiPeng Chai <[email protected]>
> > > Cc: Somalapuram Amaranath <[email protected]>
> > > Cc: Bokun Zhang <[email protected]>
> > > Cc: Guchun Chen <[email protected]>
> > > Cc: Hamza Mahfooz <[email protected]>
> > > Cc: Aurabindo Pillai <[email protected]>
> > > Cc: Mario Limonciello <[email protected]>
> > > Cc: Solomon Chiu <[email protected]>
> > > Cc: Kai-Heng Feng <[email protected]>
> > > Cc: Felix Kuehling <[email protected]>
> > > Cc: Daniel Vetter <[email protected]>
> > > Cc: "Marek Olšák" <[email protected]>
> > > Cc: Sam Ravnborg <[email protected]>
> > > Cc: Hans de Goede <[email protected]>
> > > Cc: "Ville Syrjälä" <[email protected]>
> > > Cc: [email protected]
> > > Cc: [email protected]
> > > Cc: <[email protected]> # v5.17+
> > > ---
> > > drivers/gpu/drm/drm_fb_helper.c | 8 ++++++++
> > > 1 file changed, 8 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/drm_fb_helper.c
> > > b/drivers/gpu/drm/drm_fb_helper.c
> > > index 427631706128..5e445c61252d 100644
> > > --- a/drivers/gpu/drm/drm_fb_helper.c
> > > +++ b/drivers/gpu/drm/drm_fb_helper.c
> > > @@ -30,7 +30,9 @@
> > > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> > > #include <linux/console.h>
> > > +#include <linux/pci.h>
> > > #include <linux/sysrq.h>
> > > +#include <linux/vga_switcheroo.h>
> > > #include <drm/drm_atomic.h>
> > > #include <drm/drm_drv.h>
> > > @@ -1940,6 +1942,7 @@ static int drm_fb_helper_single_fb_probe(struct
> > > drm_fb_helper *fb_helper,
> > > int preferred_bpp)
> > > {
> > > struct drm_client_dev *client = &fb_helper->client;
> > > + struct drm_device *dev = fb_helper->dev;
> >
> > On drm-tip, this commit has a silent conflict with
> > cff84bac9922 ("drm/fh-helper: Split fbdev single-probe helper")
> > that's already in drm-next.
> >
> > I had created a fix-up patch in drm-tip re-introducing this line.
>
> Thank you. Is it fixed for now?
Fixed in drm-tip, yes. But broke linux-next as well. This
resolution will need to go up with any merge...
>
> >
> > We probably need a backmerge from drm-next into drm-misc-fixes with
> > the resolution applied there. And probably propagated that resolution
> > later...
>
> Backmerging from -next into -fixes branches is a problem, as -fixes should
> be close to the latest release.
doh! Indeed I should've known this by heart... -ENOTEHOUGHCOFFEE
>
> Can we solve this by merging -fixes into upstream and backmerging this into
> our -next branches?
hmmm... probably better just wait and let folks know the resolution
when the patches are moving up...
>
> Best regards
> Thomas
>
> >
> > > struct drm_fb_helper_surface_size sizes;
> > > int ret;
> > > @@ -1961,6 +1964,11 @@ static int drm_fb_helper_single_fb_probe(struct
> > > drm_fb_helper *fb_helper,
> > > return ret;
> > > strcpy(fb_helper->fb->comm, "[fbcon]");
> > > +
> > > + /* Set the fb info for vgaswitcheroo clients. Does nothing otherwise. */
> > > + if (dev_is_pci(dev->dev))
> > > + vga_switcheroo_client_fb_set(to_pci_dev(dev->dev),
> > > fb_helper->info);
> > > +
> > > return 0;
> > > }
> > > --
> > > 2.39.0
> > >
>
> --
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Ivo Totev