[SRU] [L] [PATCH 0/9] Make TTY switching possible for NVIDIA when it's boot VGA

Kai-Heng Feng kai.heng.feng at canonical.com
Wed Jul 26 08:19:38 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2028749

[Impact]
TTY switching is not possible on some workstations when iGPU is present
and NVIDIA GFX is boot VGA. On that case, fbdev /dev/fb* is not created.

[Fix]
Find the correct boot VGA and remove overlapped aperture (BAR), so fbdev
can be created properly.

[Test]
Once the fix gets applied, /dev/fb0 is present and TTY switching works.

[Where problems could occur]
The fix is a major overhaul over resource management on video apertures
(BAR), so the boot VGA discovery might change and different aperture
might be evicted.

Daniel Vetter (8):
  drm/gma500: Use drm_aperture_remove_conflicting_pci_framebuffers
  video/aperture: use generic code to figure out the vga default device
  drm/aperture: Remove primary argument
  video/aperture: Only kick vgacon when the pdev is decoding vga
  video/aperture: Move vga handling to pci function
  video/aperture: Drop primary argument
  video/aperture: Only remove sysfb on the default vga pci device
  fbdev: Simplify fb_is_primary_device for x86

Thomas Zimmermann (1):
  video/aperture: Provide a VGA helper for gma500 and internal use

 arch/x86/video/fbdev.c                      | 13 +---
 drivers/gpu/drm/arm/hdlcd_drv.c             |  2 +-
 drivers/gpu/drm/armada/armada_drv.c         |  2 +-
 drivers/gpu/drm/ast/ast_drv.c               |  2 +-
 drivers/gpu/drm/drm_aperture.c              | 11 +---
 drivers/gpu/drm/gma500/psb_drv.c            | 43 ++++++++++---
 drivers/gpu/drm/hyperv/hyperv_drm_drv.c     |  1 -
 drivers/gpu/drm/meson/meson_drv.c           |  2 +-
 drivers/gpu/drm/msm/msm_fbdev.c             |  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c |  2 +-
 drivers/gpu/drm/stm/drv.c                   |  2 +-
 drivers/gpu/drm/sun4i/sun4i_drv.c           |  2 +-
 drivers/gpu/drm/tegra/drm.c                 |  2 +-
 drivers/gpu/drm/vc4/vc4_drv.c               |  2 +-
 drivers/staging/sm750fb/sm750.c             |  2 +-
 drivers/video/aperture.c                    | 70 ++++++++++++++-------
 drivers/video/fbdev/aty/radeon_base.c       |  2 +-
 drivers/video/fbdev/hyperv_fb.c             |  2 +-
 include/drm/drm_aperture.h                  |  7 +--
 include/linux/aperture.h                    | 16 +++--
 20 files changed, 111 insertions(+), 76 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list