Thomas Zimmermann
2024-Aug-16 12:23 UTC
[PATCH 48/86] drm/xlnx: Run DRM default client setup
Call drm_client_setup() to run the kernel's default client setup
for DRM. Set fbdev_probe in struct drm_driver, so that the client
setup can start the common fbdev client.
Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>
Cc: Michal Simek <michal.simek at amd.com>
---
drivers/gpu/drm/xlnx/zynqmp_kms.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xlnx/zynqmp_kms.c
b/drivers/gpu/drm/xlnx/zynqmp_kms.c
index bd1368df7870..f26b119322d5 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_kms.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_kms.c
@@ -14,6 +14,7 @@
#include <drm/drm_blend.h>
#include <drm/drm_bridge.h>
#include <drm/drm_bridge_connector.h>
+#include <drm/drm_client_setup.h>
#include <drm/drm_connector.h>
#include <drm/drm_crtc.h>
#include <drm/drm_device.h>
@@ -402,6 +403,7 @@ static const struct drm_driver zynqmp_dpsub_drm_driver = {
DRIVER_ATOMIC,
DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(zynqmp_dpsub_dumb_create),
+ DRM_FBDEV_DMA_DRIVER_OPS,
.fops = &zynqmp_dpsub_drm_fops,
@@ -523,7 +525,7 @@ int zynqmp_dpsub_drm_init(struct zynqmp_dpsub *dpsub)
goto err_poll_fini;
/* Initialize fbdev generic emulation. */
- drm_fbdev_dma_setup(drm, 24);
+ drm_client_setup(drm, drm_format_info(DRM_FORMAT_RGB888));
return 0;
--
2.46.0
Laurent Pinchart
2024-Aug-18 20:19 UTC
[PATCH 48/86] drm/xlnx: Run DRM default client setup
Hi Thomas, Thank you for the patch. On Fri, Aug 16, 2024 at 02:23:14PM +0200, Thomas Zimmermann wrote:> Call drm_client_setup() to run the kernel's default client setup > for DRM. Set fbdev_probe in struct drm_driver, so that the client > setup can start the common fbdev client. > > Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de> > Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com> > Cc: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com> > Cc: Michal Simek <michal.simek at amd.com> > --- > drivers/gpu/drm/xlnx/zynqmp_kms.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/xlnx/zynqmp_kms.c b/drivers/gpu/drm/xlnx/zynqmp_kms.c > index bd1368df7870..f26b119322d5 100644 > --- a/drivers/gpu/drm/xlnx/zynqmp_kms.c > +++ b/drivers/gpu/drm/xlnx/zynqmp_kms.c > @@ -14,6 +14,7 @@ > #include <drm/drm_blend.h> > #include <drm/drm_bridge.h> > #include <drm/drm_bridge_connector.h> > +#include <drm/drm_client_setup.h> > #include <drm/drm_connector.h> > #include <drm/drm_crtc.h> > #include <drm/drm_device.h> > @@ -402,6 +403,7 @@ static const struct drm_driver zynqmp_dpsub_drm_driver = { > DRIVER_ATOMIC, > > DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(zynqmp_dpsub_dumb_create), > + DRM_FBDEV_DMA_DRIVER_OPS, > > .fops = &zynqmp_dpsub_drm_fops, > > @@ -523,7 +525,7 @@ int zynqmp_dpsub_drm_init(struct zynqmp_dpsub *dpsub) > goto err_poll_fini; > > /* Initialize fbdev generic emulation. */ > - drm_fbdev_dma_setup(drm, 24); > + drm_client_setup(drm, drm_format_info(DRM_FORMAT_RGB888));I know this would be a hassle to change, but do the majority of the callers of drm_client_setup() have a drm_format_info * already, or do they need to call drm_format_info() on a 4CC ? In the latter case, would it be better to pass the 4CC to drm_client_setup() ? As far as this patch goes, Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>> > return 0; >-- Regards, Laurent Pinchart