mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
65 lines
1.9 KiB
Diff
65 lines
1.9 KiB
Diff
|
From 5b7efd2fa0c75164373d6faf28fec4b89065d39c Mon Sep 17 00:00:00 2001
|
||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||
|
Date: Mon, 18 Nov 2019 16:51:28 +0100
|
||
|
Subject: [PATCH] drm/modes: parse_cmdline: Set bpp/refresh_specified
|
||
|
after successful parsing
|
||
|
|
||
|
Commit 6a2d163756545aa3180d7851d5f8322b865e72be upstream.
|
||
|
|
||
|
drm_connector_get_cmdline_mode() calls
|
||
|
drm_mode_parse_command_line_for_connector() with &connector->cmdline_mode
|
||
|
as mode argument, so anything which we store in the mode arguments gets
|
||
|
kept even if we return false.
|
||
|
|
||
|
Avoid storing a possibly false-postive bpp/refresh_specified setting
|
||
|
in connector->cmdline_mode by moving the setting of these to after
|
||
|
successful parsing of the bpp/refresh parts of the video= argument.
|
||
|
|
||
|
Acked-by: Maxime Ripard <mripard@kernel.org>
|
||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||
|
Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdegoede@redhat.com
|
||
|
---
|
||
|
drivers/gpu/drm/drm_modes.c | 9 +++++----
|
||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||
|
|
||
|
--- a/drivers/gpu/drm/drm_modes.c
|
||
|
+++ b/drivers/gpu/drm/drm_modes.c
|
||
|
@@ -1771,10 +1771,8 @@ bool drm_mode_parse_command_line_for_con
|
||
|
|
||
|
/* Try to locate the bpp and refresh specifiers, if any */
|
||
|
bpp_ptr = strchr(name, '-');
|
||
|
- if (bpp_ptr) {
|
||
|
+ if (bpp_ptr)
|
||
|
bpp_off = bpp_ptr - name;
|
||
|
- mode->bpp_specified = true;
|
||
|
- }
|
||
|
|
||
|
refresh_ptr = strchr(name, '@');
|
||
|
if (refresh_ptr) {
|
||
|
@@ -1782,7 +1780,6 @@ bool drm_mode_parse_command_line_for_con
|
||
|
return false;
|
||
|
|
||
|
refresh_off = refresh_ptr - name;
|
||
|
- mode->refresh_specified = true;
|
||
|
}
|
||
|
|
||
|
/* Locate the start of named options */
|
||
|
@@ -1825,6 +1822,8 @@ bool drm_mode_parse_command_line_for_con
|
||
|
ret = drm_mode_parse_cmdline_bpp(bpp_ptr, &bpp_end_ptr, mode);
|
||
|
if (ret)
|
||
|
return false;
|
||
|
+
|
||
|
+ mode->bpp_specified = true;
|
||
|
}
|
||
|
|
||
|
if (refresh_ptr) {
|
||
|
@@ -1832,6 +1831,8 @@ bool drm_mode_parse_command_line_for_con
|
||
|
&refresh_end_ptr, mode);
|
||
|
if (ret)
|
||
|
return false;
|
||
|
+
|
||
|
+ mode->refresh_specified = true;
|
||
|
}
|
||
|
|
||
|
/*
|