mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Update RPI, should fix memory and USB problem
This commit is contained in:
parent
e632bdc531
commit
91d60c33e0
88 changed files with 9140 additions and 0 deletions
|
@ -0,0 +1,111 @@
|
|||
From 43e6a2a4ce7bf5fc75a4dcad706cca33db8d7e7e 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 748/826] 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(+)
|
||||
|
||||
diff --git a/Documentation/fb/modedb.txt b/Documentation/fb/modedb.txt
|
||||
index 52418c6dbfc4..1dd5a52f9390 100644
|
||||
--- a/Documentation/fb/modedb.txt
|
||||
+++ b/Documentation/fb/modedb.txt
|
||||
@@ -57,6 +57,8 @@ Options can also be passed after the mode, using commas as separator.
|
||||
|
||||
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
|
||||
diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
|
||||
index b5eed64d7349..243de91ee9ee 100644
|
||||
--- a/drivers/gpu/drm/drm_modes.c
|
||||
+++ b/drivers/gpu/drm/drm_modes.c
|
||||
@@ -1615,6 +1615,50 @@ static int drm_mode_parse_cmdline_options(char *str, size_t len,
|
||||
} 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;
|
||||
}
|
||||
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
|
||||
index 7789fbf785e9..6712a934c051 100644
|
||||
--- 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;
|
||||
};
|
||||
|
||||
/**
|
||||
--
|
||||
2.22.0
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue