2022-08-29 13:31:39

by Maxime Ripard

[permalink] [raw]
Subject: [PATCH v2 17/41] drm/connector: Add pixel clock to cmdline mode

We'll need to get the pixel clock to generate proper display modes for

all the current named modes. Let's add it to struct drm_cmdline_mode and

fill it when parsing the named mode.



Signed-off-by: Maxime Ripard <[email protected]>



diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c

index 5e898699b532..73d01e755496 100644

--- a/drivers/gpu/drm/drm_modes.c

+++ b/drivers/gpu/drm/drm_modes.c

@@ -2208,22 +2208,24 @@ static int drm_mode_parse_cmdline_options(const char *str,



struct drm_named_mode {

const char *name;

+ unsigned int pixel_clock_khz;

unsigned int xres;

unsigned int yres;

unsigned int flags;

};



-#define NAMED_MODE(_name, _x, _y, _flags) \

+#define NAMED_MODE(_name, _pclk, _x, _y, _flags) \

{ \

.name = _name, \

+ .pixel_clock_khz = _pclk, \

.xres = _x, \

.yres = _y, \

.flags = _flags, \

}



static const struct drm_named_mode drm_named_modes[] = {

- NAMED_MODE("NTSC", 720, 480, DRM_MODE_FLAG_INTERLACE),

- NAMED_MODE("PAL", 720, 576, DRM_MODE_FLAG_INTERLACE),

+ NAMED_MODE("NTSC", 13500, 720, 480, DRM_MODE_FLAG_INTERLACE),

+ NAMED_MODE("PAL", 13500, 720, 576, DRM_MODE_FLAG_INTERLACE),

};



static int drm_mode_parse_cmdline_named_mode(const char *name,

@@ -2265,6 +2267,7 @@ static int drm_mode_parse_cmdline_named_mode(const char *name,

continue;



strcpy(cmdline_mode->name, mode->name);

+ cmdline_mode->pixel_clock = mode->pixel_clock_khz;

cmdline_mode->xres = mode->xres;

cmdline_mode->yres = mode->yres;

cmdline_mode->interlace = !!(mode->flags & DRM_MODE_FLAG_INTERLACE);

diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h

index 7d3881f35e7c..bb39d2bb806e 100644

--- a/include/drm/drm_connector.h

+++ b/include/drm/drm_connector.h

@@ -1352,6 +1352,13 @@ struct drm_cmdline_mode {

*/

bool bpp_specified;



+ /**

+ * @pixel_clock:

+ *

+ * Pixel Clock in kHz. Optional.

+ */

+ unsigned int pixel_clock;

+

/**

* @xres:

*



--

b4 0.10.0-dev-65ba7