Message ID | 20240410130557.31572-29-tzimmermann@suse.de |
---|---|
State | New |
Headers | show |
Series | drm: Provide fbdev emulation per memory manager | expand |
Hi Thomas, Thank you for the patch. On Wed, Apr 10, 2024 at 03:02:24PM +0200, Thomas Zimmermann wrote: > Implement fbdev emulation with fbdev-dma. Fbdev-dma now supports > damage handling, which is required by rcar-du. Avoids the overhead of > fbdev-generic's additional shadow buffering. No functional changes. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> On a side note, I noticed that drm_fbdev_generic_client_funcs and drm_fbdev_dma_client_funcs point to functions that are identical. Would there be a way to avoid the code duplication ? > --- > drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > index dee530e4c8b27..fb719d9aff10d 100644 > --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > @@ -20,7 +20,7 @@ > > #include <drm/drm_atomic_helper.h> > #include <drm/drm_drv.h> > -#include <drm/drm_fbdev_generic.h> > +#include <drm/drm_fbdev_dma.h> > #include <drm/drm_gem_dma_helper.h> > #include <drm/drm_managed.h> > #include <drm/drm_probe_helper.h> > @@ -716,7 +716,7 @@ static int rcar_du_probe(struct platform_device *pdev) > > drm_info(&rcdu->ddev, "Device %s probed\n", dev_name(&pdev->dev)); > > - drm_fbdev_generic_setup(&rcdu->ddev, 32); > + drm_fbdev_dma_setup(&rcdu->ddev, 32); > > return 0; >
On Fri, Apr 12, 2024 at 09:57:27PM +0300, Laurent Pinchart wrote: > Hi Thomas, > > Thank you for the patch. > > On Wed, Apr 10, 2024 at 03:02:24PM +0200, Thomas Zimmermann wrote: > > Implement fbdev emulation with fbdev-dma. Fbdev-dma now supports > > damage handling, which is required by rcar-du. Avoids the overhead of > > fbdev-generic's additional shadow buffering. No functional changes. > > > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> I meant Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > On a side note, I noticed that drm_fbdev_generic_client_funcs and > drm_fbdev_dma_client_funcs point to functions that are identical. Would > there be a way to avoid the code duplication ? > > > --- > > drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > > index dee530e4c8b27..fb719d9aff10d 100644 > > --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > > +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c > > @@ -20,7 +20,7 @@ > > > > #include <drm/drm_atomic_helper.h> > > #include <drm/drm_drv.h> > > -#include <drm/drm_fbdev_generic.h> > > +#include <drm/drm_fbdev_dma.h> > > #include <drm/drm_gem_dma_helper.h> > > #include <drm/drm_managed.h> > > #include <drm/drm_probe_helper.h> > > @@ -716,7 +716,7 @@ static int rcar_du_probe(struct platform_device *pdev) > > > > drm_info(&rcdu->ddev, "Device %s probed\n", dev_name(&pdev->dev)); > > > > - drm_fbdev_generic_setup(&rcdu->ddev, 32); > > + drm_fbdev_dma_setup(&rcdu->ddev, 32); > > > > return 0; > >
Hi Am 12.04.24 um 20:57 schrieb Laurent Pinchart: > Hi Thomas, > > Thank you for the patch. > > On Wed, Apr 10, 2024 at 03:02:24PM +0200, Thomas Zimmermann wrote: >> Implement fbdev emulation with fbdev-dma. Fbdev-dma now supports >> damage handling, which is required by rcar-du. Avoids the overhead of >> fbdev-generic's additional shadow buffering. No functional changes. >> >> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> >> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> >> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > On a side note, I noticed that drm_fbdev_generic_client_funcs and > drm_fbdev_dma_client_funcs point to functions that are identical. Would > there be a way to avoid the code duplication ? I avoided this so far as I don't want to accidentally de-duplicate functions that later turn out to not be identical. But it is on the TODO list. Best regards Thomas > >> --- >> drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c >> index dee530e4c8b27..fb719d9aff10d 100644 >> --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c >> +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c >> @@ -20,7 +20,7 @@ >> >> #include <drm/drm_atomic_helper.h> >> #include <drm/drm_drv.h> >> -#include <drm/drm_fbdev_generic.h> >> +#include <drm/drm_fbdev_dma.h> >> #include <drm/drm_gem_dma_helper.h> >> #include <drm/drm_managed.h> >> #include <drm/drm_probe_helper.h> >> @@ -716,7 +716,7 @@ static int rcar_du_probe(struct platform_device *pdev) >> >> drm_info(&rcdu->ddev, "Device %s probed\n", dev_name(&pdev->dev)); >> >> - drm_fbdev_generic_setup(&rcdu->ddev, 32); >> + drm_fbdev_dma_setup(&rcdu->ddev, 32); >> >> return 0; >>
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c index dee530e4c8b27..fb719d9aff10d 100644 --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c @@ -20,7 +20,7 @@ #include <drm/drm_atomic_helper.h> #include <drm/drm_drv.h> -#include <drm/drm_fbdev_generic.h> +#include <drm/drm_fbdev_dma.h> #include <drm/drm_gem_dma_helper.h> #include <drm/drm_managed.h> #include <drm/drm_probe_helper.h> @@ -716,7 +716,7 @@ static int rcar_du_probe(struct platform_device *pdev) drm_info(&rcdu->ddev, "Device %s probed\n", dev_name(&pdev->dev)); - drm_fbdev_generic_setup(&rcdu->ddev, 32); + drm_fbdev_dma_setup(&rcdu->ddev, 32); return 0;
Implement fbdev emulation with fbdev-dma. Fbdev-dma now supports damage handling, which is required by rcar-du. Avoids the overhead of fbdev-generic's additional shadow buffering. No functional changes. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> --- drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)