lists.linaro.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
List overview
Download
Linux-stable-mirror
April 2023
----- 2025 -----
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
linux-stable-mirror@lists.linaro.org
384 participants
1532 discussions
Start a n
N
ew thread
[PATCH] drm/nouveau/disp: Support more modes by checking with lower bpc
by Karol Herbst
This allows us to advertise more modes especially on HDR displays. Fixes using 4K@60 modes on my TV and main display both using a HDMI to DP adapter. Also fixes similiar issues for users running into this. Cc: stable(a)vger.kernel.org # 5.10+ Signed-off-by: Karol Herbst <kherbst(a)redhat.com> --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 32 +++++++++++++++++++++++++ drivers/gpu/drm/nouveau/nouveau_dp.c | 8 ++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c index ed9d374147b8d..f28e47c161dd9 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -363,6 +363,35 @@ nv50_outp_atomic_check_view(struct drm_encoder *encoder, return 0; } +static void +nv50_outp_atomic_fix_depth(struct drm_encoder *encoder, struct drm_crtc_state *crtc_state) +{ + struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); + struct drm_display_mode *mode = &asyh->state.adjusted_mode; + unsigned int max_rate, mode_rate; + + switch (nv_encoder->dcb->type) { + case DCB_OUTPUT_DP: + max_rate = nv_encoder->dp.link_nr * nv_encoder->dp.link_bw; + + /* we don't support more than 10 anyway */ + asyh->or.bpc = max_t(u8, asyh->or.bpc, 10); + + /* reduce the bpc until it works out */ + while (asyh->or.bpc > 6) { + mode_rate = DIV_ROUND_UP(mode->clock * asyh->or.bpc * 3, 8); + if (mode_rate <= max_rate) + break; + + asyh->or.bpc -= 2; + } + break; + default: + break; + } +} + static int nv50_outp_atomic_check(struct drm_encoder *encoder, struct drm_crtc_state *crtc_state, @@ -381,6 +410,9 @@ nv50_outp_atomic_check(struct drm_encoder *encoder, if (crtc_state->mode_changed || crtc_state->connectors_changed) asyh->or.bpc = connector->display_info.bpc; + /* We might have to reduce the bpc */ + nv50_outp_atomic_fix_depth(encoder, crtc_state); + return 0; } diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index e00876f92aeea..d49b4875fc3c9 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -263,8 +263,6 @@ nouveau_dp_irq(struct work_struct *work) } /* TODO: - * - Use the minimum possible BPC here, once we add support for the max bpc - * property. * - Validate against the DP caps advertised by the GPU (we don't check these * yet) */ @@ -276,7 +274,11 @@ nv50_dp_mode_valid(struct drm_connector *connector, { const unsigned int min_clock = 25000; unsigned int max_rate, mode_rate, ds_max_dotclock, clock = mode->clock; - const u8 bpp = connector->display_info.bpc * 3; + /* Check with the minmum bpc always, so we can advertise better modes. + * In particlar not doing this causes modes to be dropped on HDR + * displays as we might check with a bpc of 16 even. + */ + const u8 bpp = 6 * 3; if (mode->flags & DRM_MODE_FLAG_INTERLACE && !outp->caps.dp_interlace) return MODE_NO_INTERLACE; -- 2.39.2
2 years
2
2
0
0
stable-rc/queue/4.19 baseline: 105 runs, 2 regressions (v4.19.279-62-gd009556a422b)
by kernelci.org bot
stable-rc/queue/4.19 baseline: 105 runs, 2 regressions (v4.19.279-62-gd009556a422b) Regressions Summary ------------------- platform | arch | lab | compiler | defconfig | regressions --------------+------+--------------+----------+--------------------+------------ at91sam9g20ek | arm | lab-broonie | gcc-10 | multi_v5_defconfig | 1 cubietruck | arm | lab-baylibre | gcc-10 | multi_v7_defconfig | 1 Details:
https://kernelci.org/test/job/stable-rc/branch/queue%2F4.19/kernel/v4.19.27…
Test: baseline Tree: stable-rc Branch: queue/4.19 Describe: v4.19.279-62-gd009556a422b URL:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
SHA: d009556a422b6858920c1bba8854ef52d7cacdb0 Test Regressions ---------------- platform | arch | lab | compiler | defconfig | regressions --------------+------+--------------+----------+--------------------+------------ at91sam9g20ek | arm | lab-broonie | gcc-10 | multi_v5_defconfig | 1 Details:
https://kernelci.org/test/plan/id/6427403846b773494562f779
Results: 42 PASS, 9 FAIL, 1 SKIP Full config: multi_v5_defconfig Compiler: gcc-10 (arm-linux-gnueabihf-gcc (Debian 10.2.1-6) 10.2.1 20210110) Plain log:
https://storage.kernelci.org//stable-rc/queue-4.19/v4.19.279-62-gd009556a42…
HTML log:
https://storage.kernelci.org//stable-rc/queue-4.19/v4.19.279-62-gd009556a42…
Rootfs:
http://storage.kernelci.org/images/rootfs/buildroot/buildroot-baseline/2023…
* baseline.bootrr.deferred-probe-empty:
https://kernelci.org/test/case/id/6427403846b773494562f7ab
failing since 4 days (last pass: v4.19.279-25-g8270940878fa3, first fail: v4.19.279-25-gc95d797f10041) 2023-03-31T20:18:22.798859 + set +x 2023-03-31T20:18:22.804085 <8><LAVA_SIGNAL_ENDRUN 0_dmesg 259876_1.5.2.4.1> 2023-03-31T20:18:22.916960 / # # 2023-03-31T20:18:23.019776 export SHELL=/bin/sh 2023-03-31T20:18:23.020531 # 2023-03-31T20:18:23.122455 / # export SHELL=/bin/sh. /lava-259876/environment 2023-03-31T20:18:23.123208 2023-03-31T20:18:23.225177 / # . /lava-259876/environment/lava-259876/bin/lava-test-runner /lava-259876/1 2023-03-31T20:18:23.226483 2023-03-31T20:18:23.232829 / # /lava-259876/bin/lava-test-runner /lava-259876/1 ... (12 line(s) more) platform | arch | lab | compiler | defconfig | regressions --------------+------+--------------+----------+--------------------+------------ cubietruck | arm | lab-baylibre | gcc-10 | multi_v7_defconfig | 1 Details:
https://kernelci.org/test/plan/id/642740e0ec3d622ebf62f790
Results: 5 PASS, 1 FAIL, 1 SKIP Full config: multi_v7_defconfig Compiler: gcc-10 (arm-linux-gnueabihf-gcc (Debian 10.2.1-6) 10.2.1 20210110) Plain log:
https://storage.kernelci.org//stable-rc/queue-4.19/v4.19.279-62-gd009556a42…
HTML log:
https://storage.kernelci.org//stable-rc/queue-4.19/v4.19.279-62-gd009556a42…
Rootfs:
http://storage.kernelci.org/images/rootfs/buildroot/buildroot-baseline/2023…
* baseline.bootrr.deferred-probe-empty:
https://kernelci.org/test/case/id/642740e0ec3d622ebf62f795
failing since 73 days (last pass: v4.19.269-9-gce7b59ec9d48, first fail: v4.19.269-521-g305d312d039a) 2023-03-31T20:21:34.548564 <8>[ 7.394970] <LAVA_SIGNAL_ENDRUN 0_dmesg 3459941_1.5.2.4.1> 2023-03-31T20:21:34.659535 / # # 2023-03-31T20:21:34.762928 export SHELL=/bin/sh 2023-03-31T20:21:34.763895 # 2023-03-31T20:21:34.865959 / # export SHELL=/bin/sh. /lava-3459941/environment 2023-03-31T20:21:34.866951 2023-03-31T20:21:34.969198 / # . /lava-3459941/environment/lava-3459941/bin/lava-test-runner /lava-3459941/1 2023-03-31T20:21:34.970757 2023-03-31T20:21:34.975532 / # /lava-3459941/bin/lava-test-runner /lava-3459941/1 2023-03-31T20:21:35.059174 + export 'TESTRUN_ID=1_bootrr' ... (11 line(s) more)
2 years
1
0
0
0
← Newer
1
...
151
152
153
154
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Results per page:
10
25
50
100
200