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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel