[PATCH 0/4] drm/nouveau: Remove struct nouveau_framebuffer

Thomas Zimmermann tzimmermann at suse.de
Thu Feb 6 10:19:38 UTC 2020


All fields in struct nouveau_framebuffer appear to be obsolete. The
data structure can be replaced by struct drm_framebuffer entirely.

Patch 1 removes several unused fields from struct nouveau_framebuffer.

Patch 2 moves the field vma to struct nouveau_fbdev. The information
in vma is only relevant for fbdev emulation, and as such he field is
only used there.

Patch 3 removes nvbo from struct nouveau_framebuffer. The nouveau
buffer object is based on gem, and as such should be stored in obj[0]
of struct drm_framebuffer. This also enables the use of several generic
GEM framebuffer functions.

Finally patch 4 removes struct nouveau_framebuffer. At this point it's
merely a wrapper around struct drm_framebuffer.

The patchset has been smoke-tested on NV34 HW by running fbcon and X11.

Future directions: There are still functions for creating frameuffers.
With further refinements of nouveau's fbcon code, GEM framebuffer helpers
could be used here.

Thomas Zimmermann (4):
  drm/nouveau: Remove unused fields from struct nouveau_framebuffer
  drm/nouveau: Move struct nouveau_framebuffer.vma to struct
    nouveau_fbdev
  drm/nouveau: Remove field nvbo from struct nouveau_framebuffer
  drm/nouveau: Remove struct nouveau_framebuffer

 drivers/gpu/drm/nouveau/dispnv04/crtc.c    | 19 ++++-----
 drivers/gpu/drm/nouveau/dispnv04/disp.c    | 21 +++++-----
 drivers/gpu/drm/nouveau/dispnv04/overlay.c | 21 +++++-----
 drivers/gpu/drm/nouveau/dispnv50/wndw.c    | 45 ++++++++++++---------
 drivers/gpu/drm/nouveau/nouveau_display.c  | 47 ++++++----------------
 drivers/gpu/drm/nouveau/nouveau_display.h  | 25 +++---------
 drivers/gpu/drm/nouveau/nouveau_fbcon.c    | 42 ++++++++++---------
 drivers/gpu/drm/nouveau/nouveau_fbcon.h    |  3 ++
 drivers/gpu/drm/nouveau/nv50_fbcon.c       |  9 ++---
 drivers/gpu/drm/nouveau/nvc0_fbcon.c       |  9 ++---
 10 files changed, 108 insertions(+), 133 deletions(-)

--
2.25.0



More information about the dri-devel mailing list