[PATCH 0/7] drm/radeon: Convert to generic fbdev emulation

Thomas Zimmermann tzimmermann at suse.de
Thu Nov 12 13:21:10 UTC 2020


This patchset replaces radeon's framebuffer emulation with the generic
code from fb helpers. This reduces the driver size and complexity. As
a nice side effect, it also reduces memory pressure on low-memory devices.

Patches #1 and #2 add features to fbdev emulation to bring it on par with
radeons code.

Patch #4 adds internal pinning to vmap operations. This guarantess that
the framebuffer BO is not relocated while being updated.

Patch #5 and #6 replace radeon's framebuffer code with the generic helper
with shadow buffering. All userspace mappings interact with the shadow
buffer and the BO can be relocated an necessary. This allows to enable
32-bit colors on low-memory devices.

Patches #3 and #7 are merely cleanups.

Smoke tested with an AMD R5 (Oland) card by running the console and
switching to/from Xorg and weston.

Thomas Zimmermann (7):
  drm/fb-helper: Set framebuffer for vga-switcheroo clients
  drm/fb-helper: Add hint to enable VT switching during suspend/resume
  drm/radeon: Whitespace fixes
  drm/radeon: Pin buffers while they are vmap'ed
  drm/radeon: Replace framebuffer console with generic implementation
  drm/radeon: Use fbdev shadow fb
  drm/radeon: Move radeon_align_pitch() next to its only caller

 drivers/gpu/drm/drm_fb_helper.c         |  16 +-
 drivers/gpu/drm/radeon/radeon_device.c  |  11 +-
 drivers/gpu/drm/radeon/radeon_display.c |   2 -
 drivers/gpu/drm/radeon/radeon_drv.c     |   5 +-
 drivers/gpu/drm/radeon/radeon_fb.c      | 366 +-----------------------
 drivers/gpu/drm/radeon/radeon_gem.c     |  77 ++++-
 drivers/gpu/drm/radeon/radeon_kms.c     |  14 +-
 drivers/gpu/drm/radeon/radeon_mode.h    |  10 +-
 include/drm/drm_mode_config.h           |   7 +
 9 files changed, 111 insertions(+), 397 deletions(-)

--
2.29.2



More information about the amd-gfx mailing list