drm/panel: ltk050h3146w: add mipi_dsi_device.mode_flags to of_match_data
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Mon, 31 Jan 2022 16:47:21 +0000 (17:47 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 10 Oct 2023 16:32:25 +0000 (18:32 +0200)
To prepare for a new display to be supported by this driver which has a
slightly different set of DSI mode related flags, let's move the
currently hardcoded mode flags to the .data field of of_device_id
structure.

Cc: Quentin Schulz <foss+kernel@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220131164723.714836-1-quentin.schulz@theobroma-systems.com
drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c

index d41482d3a34f64bb71e0bb6f1e20b4a6ea9c7085..d157bf53f9f970413c2ca3556e8c84fa2032de21 100644 (file)
@@ -24,6 +24,7 @@ struct ltk050h3146w_cmd {
 
 struct ltk050h3146w;
 struct ltk050h3146w_desc {
+       const unsigned long mode_flags;
        const struct drm_display_mode *mode;
        int (*init)(struct ltk050h3146w *ctx);
 };
@@ -330,6 +331,8 @@ static const struct drm_display_mode ltk050h3146w_mode = {
 static const struct ltk050h3146w_desc ltk050h3146w_data = {
        .mode = &ltk050h3146w_mode,
        .init = ltk050h3146w_init_sequence,
+       .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+               MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET,
 };
 
 static int ltk050h3146w_a2_select_page(struct ltk050h3146w *ctx, int page)
@@ -424,6 +427,8 @@ static const struct drm_display_mode ltk050h3146w_a2_mode = {
 static const struct ltk050h3146w_desc ltk050h3146w_a2_data = {
        .mode = &ltk050h3146w_a2_mode,
        .init = ltk050h3146w_a2_init_sequence,
+       .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+               MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET,
 };
 
 static int ltk050h3146w_unprepare(struct drm_panel *panel)
@@ -583,8 +588,7 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 
        dsi->lanes = 4;
        dsi->format = MIPI_DSI_FMT_RGB888;
-       dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
-                         MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET;
+       dsi->mode_flags = ctx->panel_desc->mode_flags;
 
        drm_panel_init(&ctx->panel, &dsi->dev, &ltk050h3146w_funcs,
                       DRM_MODE_CONNECTOR_DSI);