drm/logicvc: 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. The logicvc driver specifies a preferred color mode from the value in struct drm_mode_config.preferred_depth. The fbdev client also looks at this value for the default pixel format. Thus remove the format selection from logicvc. v5: - select DRM_CLIENT_SELECTION Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-25-tzimmermann@suse.de
This commit is contained in:
@@ -2,6 +2,7 @@ config DRM_LOGICVC
|
||||
tristate "LogiCVC DRM"
|
||||
depends on DRM
|
||||
depends on OF || COMPILE_TEST
|
||||
select DRM_CLIENT_SELECTION
|
||||
select DRM_KMS_HELPER
|
||||
select DRM_KMS_DMA_HELPER
|
||||
select DRM_GEM_DMA_HELPER
|
||||
|
||||
@@ -16,8 +16,10 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <drm/drm_atomic_helper.h>
|
||||
#include <drm/drm_client_setup.h>
|
||||
#include <drm/drm_drv.h>
|
||||
#include <drm/drm_fbdev_dma.h>
|
||||
#include <drm/drm_fourcc.h>
|
||||
#include <drm/drm_gem_dma_helper.h>
|
||||
#include <drm/drm_print.h>
|
||||
|
||||
@@ -55,6 +57,7 @@ static struct drm_driver logicvc_drm_driver = {
|
||||
.minor = 0,
|
||||
|
||||
DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(logicvc_drm_gem_dma_dumb_create),
|
||||
DRM_FBDEV_DMA_DRIVER_OPS,
|
||||
};
|
||||
|
||||
static struct regmap_config logicvc_drm_regmap_config = {
|
||||
@@ -301,7 +304,6 @@ static int logicvc_drm_probe(struct platform_device *pdev)
|
||||
struct regmap *regmap = NULL;
|
||||
struct resource res;
|
||||
void __iomem *base;
|
||||
unsigned int preferred_bpp;
|
||||
int irq;
|
||||
int ret;
|
||||
|
||||
@@ -439,17 +441,7 @@ static int logicvc_drm_probe(struct platform_device *pdev)
|
||||
goto error_mode;
|
||||
}
|
||||
|
||||
switch (drm_dev->mode_config.preferred_depth) {
|
||||
case 16:
|
||||
preferred_bpp = 16;
|
||||
break;
|
||||
case 24:
|
||||
case 32:
|
||||
default:
|
||||
preferred_bpp = 32;
|
||||
break;
|
||||
}
|
||||
drm_fbdev_dma_setup(drm_dev, preferred_bpp);
|
||||
drm_client_setup(drm_dev, NULL);
|
||||
|
||||
return 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user