OSDN Git Service

drm/panel: sitronix-st7789v: avoid hardcoding panel size
authorSebastian Reichel <sre@kernel.org>
Fri, 14 Jul 2023 01:37:46 +0000 (03:37 +0200)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 1 Aug 2023 08:29:55 +0000 (10:29 +0200)
Move the panel size information to the mode struct, so
that different panel sizes can be specified depending
on the panel type.

Reviewed-by: Michael Riesch <michael.riesch@wolfvision.net>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230714013756.1546769-10-sre@kernel.org
drivers/gpu/drm/panel/panel-sitronix-st7789v.c

index 24c5bec..aa11a1d 100644 (file)
@@ -163,6 +163,8 @@ static const struct drm_display_mode default_mode = {
        .vsync_start = 320 + 8,
        .vsync_end = 320 + 8 + 4,
        .vtotal = 320 + 8 + 4 + 4,
+       .width_mm = 61,
+       .height_mm = 103,
 };
 
 static const struct st7789_panel_info default_panel = {
@@ -188,8 +190,8 @@ static int st7789v_get_modes(struct drm_panel *panel,
        mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
        drm_mode_probed_add(connector, mode);
 
-       connector->display_info.width_mm = 61;
-       connector->display_info.height_mm = 103;
+       connector->display_info.width_mm = ctx->info->mode->width_mm;
+       connector->display_info.height_mm = ctx->info->mode->height_mm;
 
        return 1;
 }