Message ID | 20240924071734.98201-43-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Provide client setup helper and convert drivers | expand |
On 24/09/2024 10:12, Thomas Zimmermann wrote: > Call drm_client_setup_with_color_mode() 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. > > v5: > - select DRM_CLIENT_SELECTION > v3: > - add DRM_FBDEV_DMA_DRIVER_OPS macro > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Jyri Sarha <jyri.sarha@iki.fi> > Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> > Acked-by: Javier Martinez Canillas <javierm@redhat.com> > --- > drivers/gpu/drm/tilcdc/Kconfig | 1 + > drivers/gpu/drm/tilcdc/tilcdc_drv.c | 5 ++++- > 2 files changed, 5 insertions(+), 1 deletion(-) Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Tomi > diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig > index d3bd2d7a181e..24f9a245ba59 100644 > --- a/drivers/gpu/drm/tilcdc/Kconfig > +++ b/drivers/gpu/drm/tilcdc/Kconfig > @@ -2,6 +2,7 @@ > config DRM_TILCDC > tristate "DRM Support for TI LCDC Display Controller" > depends on DRM && OF && ARM > + select DRM_CLIENT_SELECTION > select DRM_KMS_HELPER > select DRM_GEM_DMA_HELPER > select DRM_BRIDGE > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c > index cd5eefa06060..8c9f3705aa6c 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c > @@ -14,6 +14,7 @@ > #include <linux/pm_runtime.h> > > #include <drm/drm_atomic_helper.h> > +#include <drm/drm_client_setup.h> > #include <drm/drm_debugfs.h> > #include <drm/drm_drv.h> > #include <drm/drm_fbdev_dma.h> > @@ -374,7 +375,8 @@ static int tilcdc_init(const struct drm_driver *ddrv, struct device *dev) > goto init_failed; > priv->is_registered = true; > > - drm_fbdev_dma_setup(ddev, bpp); > + drm_client_setup_with_color_mode(ddev, bpp); > + > return 0; > > init_failed: > @@ -472,6 +474,7 @@ DEFINE_DRM_GEM_DMA_FOPS(fops); > static const struct drm_driver tilcdc_driver = { > .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, > DRM_GEM_DMA_DRIVER_OPS, > + DRM_FBDEV_DMA_DRIVER_OPS, > #ifdef CONFIG_DEBUG_FS > .debugfs_init = tilcdc_debugfs_init, > #endif
diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig index d3bd2d7a181e..24f9a245ba59 100644 --- a/drivers/gpu/drm/tilcdc/Kconfig +++ b/drivers/gpu/drm/tilcdc/Kconfig @@ -2,6 +2,7 @@ config DRM_TILCDC tristate "DRM Support for TI LCDC Display Controller" depends on DRM && OF && ARM + select DRM_CLIENT_SELECTION select DRM_KMS_HELPER select DRM_GEM_DMA_HELPER select DRM_BRIDGE diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c index cd5eefa06060..8c9f3705aa6c 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c @@ -14,6 +14,7 @@ #include <linux/pm_runtime.h> #include <drm/drm_atomic_helper.h> +#include <drm/drm_client_setup.h> #include <drm/drm_debugfs.h> #include <drm/drm_drv.h> #include <drm/drm_fbdev_dma.h> @@ -374,7 +375,8 @@ static int tilcdc_init(const struct drm_driver *ddrv, struct device *dev) goto init_failed; priv->is_registered = true; - drm_fbdev_dma_setup(ddev, bpp); + drm_client_setup_with_color_mode(ddev, bpp); + return 0; init_failed: @@ -472,6 +474,7 @@ DEFINE_DRM_GEM_DMA_FOPS(fops); static const struct drm_driver tilcdc_driver = { .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, DRM_GEM_DMA_DRIVER_OPS, + DRM_FBDEV_DMA_DRIVER_OPS, #ifdef CONFIG_DEBUG_FS .debugfs_init = tilcdc_debugfs_init, #endif