Thread (1 message) 1 message, 1 author, 2017-08-10

Re: [PATCH libdrm] drm: Remove create_handle() drm_framebuffer "virtual".

From: Joe Kniss via Virtualization <hidden>
Date: 2017-08-10 19:29:30

On Wed, Aug 9, 2017 at 4:13 PM, Joe Kniss [off-list ref] wrote:
On Wed, Aug 9, 2017 at 12:14 PM, Noralf Trønnes [off-list ref] wrote:
quoted
Den 09.08.2017 01.42, skrev Joe Kniss:
quoted
Because all drivers currently use gem objects for framebuffer planes,
the virtual create_handle() is not required.  This change adds a
struct drm_gem_object *gems[4] field to drm_framebuffer and removes
create_handle() function pointer from drm_framebuffer_funcs.  The
corresponding *_create_handle() function is removed from each driver.

In many cases this change eliminates a struct *_framebuffer object,
as the only need for the derived struct is the addition of the gem
object pointer.

TESTED: compiled: allyesconfig ARCH=x86,arm platforms:i915, rockchip

Signed-off-by: Joe Kniss <redacted>
---

Hi Joe,

I'm also looking into adding gem objs to drm_framebuffer in this patch:
[PATCH v2 01/22] drm: Add GEM backed framebuffer library
https://lists.freedesktop.org/archives/dri-devel/2017-August/149782.html
Great.  There's only minimal overlap here.  I'll rebase this change on yours
once it's in.
quoted
[...]
quoted
diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c
b/drivers/gpu/drm/drm_fb_cma_helper.c
index ade319d10e70..f5f011b910b1 100644
--- a/drivers/gpu/drm/drm_fb_cma_helper.c
+++ b/drivers/gpu/drm/drm_fb_cma_helper.c
@@ -31,14 +31,9 @@
    #define DEFAULT_FBDEFIO_DELAY_MS 50
  -struct drm_fb_cma {
-       struct drm_framebuffer          fb;
-       struct drm_gem_cma_object       *obj[4];
-};
-
  struct drm_fbdev_cma {
        struct drm_fb_helper    fb_helper;
-       struct drm_fb_cma       *fb;
+       struct drm_framebuffer  *fb;

This fb pointer isn't necessary, since fb_helper already has one.
So, looking deeper into this, it seems that the struct
drm_framebuffer_funcs *fb_funcs is also redundant here?  In which case
this whole struct can go...
I'll remove it... but I am sure when I look deeper there will be more
of these in the various drivers too.
quoted
Noralf.
-joe
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help