diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 18:04:33 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 23:42:32 +0100 |
commit | f07e572f6447465d8938679533d604e402b0f066 (patch) | |
tree | cb333bd2a67e59e7c07659514850a0fd55fc825e /target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch | |
parent | 5d3a6fd970619dfc55f8259035c3027d7613a2a6 (diff) | |
download | upstream-f07e572f6447465d8938679533d604e402b0f066.tar.gz upstream-f07e572f6447465d8938679533d604e402b0f066.tar.bz2 upstream-f07e572f6447465d8938679533d604e402b0f066.zip |
bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch b/target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch deleted file mode 100644 index 1d356eb6ab..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0476-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 0e7c5e80d8d310a881d723a426762e8822d5bf35 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 18 Nov 2019 16:51:24 +0100 -Subject: [PATCH] drm/modes: parse_cmdline: Stop parsing extras after - bpp / refresh at ', ' - -Commit c2ed3e941901810ad3d55ce1935fa22c5007fee4 upstream. - -Before this commit it was impossible to add an extra mode argument after -a bpp or refresh specifier, combined with an option, e.g. -video=HDMI-1:720x480-24e,rotate=180 would not work, either the "e" to -force enable would need to be dropped or the ",rotate=180", otherwise -the mode_option would not be accepted. - -This commit fixes this by fixing the length calculation if extras_ptr -is set to stop the extra parsing at the start of the options (stop at the -',' options_ptr points to). - -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-3-hdegoede@redhat.com ---- - drivers/gpu/drm/drm_modes.c | 10 ++++--- - .../gpu/drm/selftests/drm_cmdline_selftests.h | 1 + - .../drm/selftests/test-drm_cmdline_parser.c | 26 +++++++++++++++++++ - 3 files changed, 33 insertions(+), 4 deletions(-) - ---- a/drivers/gpu/drm/drm_modes.c -+++ b/drivers/gpu/drm/drm_modes.c -@@ -1728,7 +1728,7 @@ bool drm_mode_parse_command_line_for_con - const char *bpp_ptr = NULL, *refresh_ptr = NULL, *extra_ptr = NULL; - const char *options_ptr = NULL; - char *bpp_end_ptr = NULL, *refresh_end_ptr = NULL; -- int ret; -+ int i, len, ret; - - #ifdef CONFIG_FB - if (!mode_option) -@@ -1848,9 +1848,11 @@ bool drm_mode_parse_command_line_for_con - else if (refresh_ptr) - extra_ptr = refresh_end_ptr; - -- if (extra_ptr && -- extra_ptr != options_ptr) { -- int len = strlen(name) - (extra_ptr - name); -+ if (extra_ptr) { -+ if (options_ptr) -+ len = options_ptr - extra_ptr; -+ else -+ len = strlen(extra_ptr); - - ret = drm_mode_parse_cmdline_extra(extra_ptr, len, false, - connector, mode); ---- a/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -+++ b/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -@@ -61,3 +61,4 @@ cmdline_test(drm_cmdline_test_vmirror) - cmdline_test(drm_cmdline_test_margin_options) - cmdline_test(drm_cmdline_test_multiple_options) - cmdline_test(drm_cmdline_test_invalid_option) -+cmdline_test(drm_cmdline_test_bpp_extra_and_option) ---- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -+++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -@@ -1003,6 +1003,32 @@ static int drm_cmdline_test_invalid_opti - return 0; - } - -+static int drm_cmdline_test_bpp_extra_and_option(void *ignored) -+{ -+ struct drm_cmdline_mode mode = { }; -+ -+ FAIL_ON(!drm_mode_parse_command_line_for_connector("720x480-24e,rotate=180", -+ &no_connector, -+ &mode)); -+ FAIL_ON(!mode.specified); -+ FAIL_ON(mode.xres != 720); -+ FAIL_ON(mode.yres != 480); -+ FAIL_ON(mode.rotation_reflection != DRM_MODE_ROTATE_180); -+ -+ FAIL_ON(mode.refresh_specified); -+ -+ FAIL_ON(!mode.bpp_specified); -+ FAIL_ON(mode.bpp != 24); -+ -+ FAIL_ON(mode.rb); -+ FAIL_ON(mode.cvt); -+ FAIL_ON(mode.interlace); -+ FAIL_ON(mode.margins); -+ FAIL_ON(mode.force != DRM_FORCE_ON); -+ -+ return 0; -+} -+ - #include "drm_selftest.c" - - static int __init test_drm_cmdline_init(void) |