diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch b/target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch deleted file mode 100644 index 9077034af6..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0737-drm-modes-Parse-overscan-properties.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 99b367ee521e48beae92bea59515dd0f08f2e55b Mon Sep 17 00:00:00 2001 -From: Maxime Ripard <maxime.ripard@bootlin.com> -Date: Wed, 19 Jun 2019 12:17:51 +0200 -Subject: [PATCH 737/806] drm/modes: Parse overscan properties -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 3d46a3007cd8f73bae502bf5c171977b91d7aacc upstream. - -Properly configuring the overscan properties might be needed for the -initial setup of the framebuffer for display that still have overscan. -Let's allow for more properties on the kernel command line to setup each -margin. - -Reviewed-by: Noralf Trønnes <noralf@tronnes.org> -Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> -Link: https://patchwork.freedesktop.org/patch/msgid/e481f1628e3768ca49226ec2115cfa4dfcbd5e4c.1560783090.git-series.maxime.ripard@bootlin.com ---- - Documentation/fb/modedb.txt | 2 ++ - drivers/gpu/drm/drm_modes.c | 44 +++++++++++++++++++++++++++++++++++++ - include/drm/drm_connector.h | 5 +++++ - 3 files changed, 51 insertions(+) - ---- a/Documentation/fb/modedb.txt -+++ b/Documentation/fb/modedb.txt -@@ -57,6 +57,8 @@ Options can also be passed after the mod - - Valid options are: - -+ - margin_top, margin_bottom, margin_left, margin_right (integer): -+ Number of pixels in the margins, typically to deal with overscan on TVs - - reflect_x (boolean): Perform an axial symmetry on the X axis - - reflect_y (boolean): Perform an axial symmetry on the Y axis - - rotate (integer): Rotate the initial framebuffer by x ---- a/drivers/gpu/drm/drm_modes.c -+++ b/drivers/gpu/drm/drm_modes.c -@@ -1615,6 +1615,50 @@ static int drm_mode_parse_cmdline_option - } else if (!strncmp(option, "reflect_y", delim - option)) { - rotation |= DRM_MODE_REFLECT_Y; - sep = delim; -+ } else if (!strncmp(option, "margin_right", delim - option)) { -+ const char *value = delim + 1; -+ unsigned int margin; -+ -+ margin = simple_strtol(value, &sep, 10); -+ -+ /* Make sure we have parsed something */ -+ if (sep == value) -+ return -EINVAL; -+ -+ mode->tv_margins.right = margin; -+ } else if (!strncmp(option, "margin_left", delim - option)) { -+ const char *value = delim + 1; -+ unsigned int margin; -+ -+ margin = simple_strtol(value, &sep, 10); -+ -+ /* Make sure we have parsed something */ -+ if (sep == value) -+ return -EINVAL; -+ -+ mode->tv_margins.left = margin; -+ } else if (!strncmp(option, "margin_top", delim - option)) { -+ const char *value = delim + 1; -+ unsigned int margin; -+ -+ margin = simple_strtol(value, &sep, 10); -+ -+ /* Make sure we have parsed something */ -+ if (sep == value) -+ return -EINVAL; -+ -+ mode->tv_margins.top = margin; -+ } else if (!strncmp(option, "margin_bottom", delim - option)) { -+ const char *value = delim + 1; -+ unsigned int margin; -+ -+ margin = simple_strtol(value, &sep, 10); -+ -+ /* Make sure we have parsed something */ -+ if (sep == value) -+ return -EINVAL; -+ -+ mode->tv_margins.bottom = margin; - } else { - return -EINVAL; - } ---- a/include/drm/drm_connector.h -+++ b/include/drm/drm_connector.h -@@ -886,6 +886,11 @@ struct drm_cmdline_mode { - * DRM_MODE_ROTATE_0 and DRM_MODE_ROTATE_180. - */ - unsigned int rotation_reflection; -+ -+ /** -+ * @tv_margins: TV margins to apply to the mode. -+ */ -+ struct drm_connector_tv_margins tv_margins; - }; - - /** |