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

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

From: Emil Velikov <hidden>
Date: 2017-08-10 23:52:13
Also in: amd-gfx, dri-devel, intel-gfx, linux-arm-msm, linux-mediatek, linux-rockchip, linux-samsung-soc, nouveau

On 10 August 2017 at 20:29, Joe Kniss [off-list ref] wrote:
On Wed, Aug 9, 2017 at 4:13 PM, Joe Kniss [off-list ref] wrote:
quoted
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 think you're spot on.

Perhaps the goal was to allow drivers to use separate funcs for fb vs fbdev?
Not sure how well that will fair, yet again, all current users use the
same funcs for both.

-Emil
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help