Skip to content

Commit c8213a6

Browse files
committed
drm/radeon/dp: add back special handling for NUTMEG
When I fixed the dp rate selection in: 092c96a drm/radeon: fix dp link rate selection (v2) I accidently dropped the special handling for NUTMEG DP bridge chips. They require a fixed link rate. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Tested-by: Ken Moffat <zarniwhoop@ntlworld.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
1 parent 1e1490a commit c8213a6

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

drivers/gpu/drm/radeon/atombios_dp.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,15 +315,27 @@ int radeon_dp_get_dp_link_config(struct drm_connector *connector,
315315
unsigned max_lane_num = drm_dp_max_lane_count(dpcd);
316316
unsigned lane_num, i, max_pix_clock;
317317

318-
for (lane_num = 1; lane_num <= max_lane_num; lane_num <<= 1) {
319-
for (i = 0; i < ARRAY_SIZE(link_rates) && link_rates[i] <= max_link_rate; i++) {
320-
max_pix_clock = (lane_num * link_rates[i] * 8) / bpp;
318+
if (radeon_connector_encoder_get_dp_bridge_encoder_id(connector) ==
319+
ENCODER_OBJECT_ID_NUTMEG) {
320+
for (lane_num = 1; lane_num <= max_lane_num; lane_num <<= 1) {
321+
max_pix_clock = (lane_num * 270000 * 8) / bpp;
321322
if (max_pix_clock >= pix_clock) {
322323
*dp_lanes = lane_num;
323-
*dp_rate = link_rates[i];
324+
*dp_rate = 270000;
324325
return 0;
325326
}
326327
}
328+
} else {
329+
for (lane_num = 1; lane_num <= max_lane_num; lane_num <<= 1) {
330+
for (i = 0; i < ARRAY_SIZE(link_rates) && link_rates[i] <= max_link_rate; i++) {
331+
max_pix_clock = (lane_num * link_rates[i] * 8) / bpp;
332+
if (max_pix_clock >= pix_clock) {
333+
*dp_lanes = lane_num;
334+
*dp_rate = link_rates[i];
335+
return 0;
336+
}
337+
}
338+
}
327339
}
328340

329341
return -EINVAL;

0 commit comments

Comments
 (0)