Skip to content

Commit c3ee3a9

Browse files
committed
Merge tag 'drm-fixes-2022-02-11' of git://anongit.freedesktop.org/drm/drm
Pull drm fixes from Dave Airlie: "Regular fixes pull, mostly i915 and amd fixes, along with a maintainers update for fbdev core. Otherwise just some build fixes and vc4 HDMI fixes. fbdev: - MAINTAINERS: add Daniel as fbdev core module maintainer - build warning fix - implicit type cast fix panel: - simple: Fix assignments from panel_dpi_probe() privacy-screen: - fix docs warning i915: - non-x86 build fix - ttm error propogation fix - drrs on hsw/ivb disabled - BIOS readout fixes - missing stackdepot oops fix amd: - DCN 3.1 display fixes - GC 10.3.1 harvest fix - Page flip irq fix - hwmon label fix - DCN 2.0 display fix rockchip: - fix HDMI error cleanup - fix RK3399 VOP register fields vc4: - HDMI fixes - remove redundant code" * tag 'drm-fixes-2022-02-11' of git://anongit.freedesktop.org/drm/drm: (25 commits) drm/amdgpu/display: change pipe policy for DCN 2.0 drm/amd/pm: fix hwmon node of power1_label create issue drm/amd/display: keep eDP Vdd on when eDP stream is already enabled drm/amd/display: fix yellow carp wm clamping drm/amd/display: Cap pflip irqs per max otg number drm/amdgpu: add utcl2_harvest to gc 10.3.1 display/amd: decrease message verbosity about watermarks table failure drm/rockchip: vop: Correct RK3399 VOP register fields drm/rockchip: dw_hdmi: Do not leave clock enabled in error case MAINTAINERS: Add entry for fbdev core fbcon: Avoid 'cap' set but not used warning drm/privacy-screen: Fix sphinx warning drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL drm/i915: Populate pipe dbuf slices more accurately during readout drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration drm/i915: Fix header test for !CONFIG_X86 drm/i915/ttm: Return some errors instead of trying memcpy move drm/i915: Disable DRRS on IVB/HSW port != A drm/i915: Fix oops due to missing stack depot drm/vc4: crtc: Fix redundant variable assignment ...
2 parents 32f6c5d + 95e875b commit c3ee3a9

26 files changed

+261
-92
lines changed

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7575,6 +7575,12 @@ S: Maintained
75757575
W: http://floatingpoint.sourceforge.net/emulator/index.html
75767576
F: arch/x86/math-emu/
75777577

7578+
FRAMEBUFFER CORE
7579+
M: Daniel Vetter <[email protected]>
7580+
F: drivers/video/fbdev/core/
7581+
S: Odd Fixes
7582+
T: git git://anongit.freedesktop.org/drm/drm-misc
7583+
75787584
FRAMEBUFFER LAYER
75797585
M: Helge Deller <[email protected]>
75807586

drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,9 @@ static void gfxhub_v2_1_utcl2_harvest(struct amdgpu_device *adev)
543543
adev->gfx.config.max_sh_per_se *
544544
adev->gfx.config.max_shader_engines);
545545

546-
if (adev->ip_versions[GC_HWIP][0] == IP_VERSION(10, 3, 3)) {
546+
switch (adev->ip_versions[GC_HWIP][0]) {
547+
case IP_VERSION(10, 3, 1):
548+
case IP_VERSION(10, 3, 3):
547549
/* Get SA disabled bitmap from eFuse setting */
548550
efuse_setting = RREG32_SOC15(GC, 0, mmCC_GC_SA_UNIT_DISABLE);
549551
efuse_setting &= CC_GC_SA_UNIT_DISABLE__SA_DISABLE_MASK;
@@ -566,6 +568,9 @@ static void gfxhub_v2_1_utcl2_harvest(struct amdgpu_device *adev)
566568
disabled_sa = tmp;
567569

568570
WREG32_SOC15(GC, 0, mmGCUTCL2_HARVEST_BYPASS_GROUPS_YELLOW_CARP, disabled_sa);
571+
break;
572+
default:
573+
break;
569574
}
570575
}
571576

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3653,7 +3653,7 @@ static int dcn10_register_irq_handlers(struct amdgpu_device *adev)
36533653

36543654
/* Use GRPH_PFLIP interrupt */
36553655
for (i = DCN_1_0__SRCID__HUBP0_FLIP_INTERRUPT;
3656-
i <= DCN_1_0__SRCID__HUBP0_FLIP_INTERRUPT + adev->mode_info.num_crtc - 1;
3656+
i <= DCN_1_0__SRCID__HUBP0_FLIP_INTERRUPT + dc->caps.max_otg_num - 1;
36573657
i++) {
36583658
r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_DCE, i, &adev->pageflip_irq);
36593659
if (r) {

drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,11 @@ static int dcn31_smu_send_msg_with_param(struct clk_mgr_internal *clk_mgr,
120120
result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000);
121121

122122
if (result == VBIOSSMC_Result_Failed) {
123-
ASSERT(0);
123+
if (msg_id == VBIOSSMC_MSG_TransferTableDram2Smu &&
124+
param == TABLE_WATERMARKS)
125+
DC_LOG_WARNING("Watermarks table not configured properly by SMU");
126+
else
127+
ASSERT(0);
124128
REG_WRITE(MP1_SMN_C2PMSG_91, VBIOSSMC_Result_OK);
125129
return -1;
126130
}

drivers/gpu/drm/amd/display/dc/core/dc.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,6 +1220,8 @@ struct dc *dc_create(const struct dc_init_data *init_params)
12201220

12211221
dc->caps.max_dp_protocol_version = DP_VERSION_1_4;
12221222

1223+
dc->caps.max_otg_num = dc->res_pool->res_cap->num_timing_generator;
1224+
12231225
if (dc->res_pool->dmcu != NULL)
12241226
dc->versions.dmcu_version = dc->res_pool->dmcu->dmcu_version;
12251227
}

drivers/gpu/drm/amd/display/dc/dc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ struct dc_caps {
202202
bool edp_dsc_support;
203203
bool vbios_lttpr_aware;
204204
bool vbios_lttpr_enable;
205+
uint32_t max_otg_num;
205206
};
206207

207208
struct dc_bug_wa {

drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,9 +1834,29 @@ void dce110_enable_accelerated_mode(struct dc *dc, struct dc_state *context)
18341834
break;
18351835
}
18361836
}
1837-
// We are trying to enable eDP, don't power down VDD
1838-
if (can_apply_edp_fast_boot)
1837+
1838+
/*
1839+
* TO-DO: So far the code logic below only addresses single eDP case.
1840+
* For dual eDP case, there are a few things that need to be
1841+
* implemented first:
1842+
*
1843+
* 1. Change the fastboot logic above, so eDP link[0 or 1]'s
1844+
* stream[0 or 1] will all be checked.
1845+
*
1846+
* 2. Change keep_edp_vdd_on to an array, and maintain keep_edp_vdd_on
1847+
* for each eDP.
1848+
*
1849+
* Once above 2 things are completed, we can then change the logic below
1850+
* correspondingly, so dual eDP case will be fully covered.
1851+
*/
1852+
1853+
// We are trying to enable eDP, don't power down VDD if eDP stream is existing
1854+
if ((edp_stream_num == 1 && edp_streams[0] != NULL) || can_apply_edp_fast_boot) {
18391855
keep_edp_vdd_on = true;
1856+
DC_LOG_EVENT_LINK_TRAINING("Keep eDP Vdd on\n");
1857+
} else {
1858+
DC_LOG_EVENT_LINK_TRAINING("No eDP stream enabled, turn eDP Vdd off\n");
1859+
}
18401860
}
18411861

18421862
// Check seamless boot support

drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1069,7 +1069,7 @@ static const struct dc_debug_options debug_defaults_drv = {
10691069
.timing_trace = false,
10701070
.clock_trace = true,
10711071
.disable_pplib_clock_request = true,
1072-
.pipe_split_policy = MPC_SPLIT_DYNAMIC,
1072+
.pipe_split_policy = MPC_SPLIT_AVOID_MULT_DISP,
10731073
.force_single_disp_pipe_split = false,
10741074
.disable_dcc = DCC_ENABLE,
10751075
.vsr_support = true,

drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubbub.c

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,11 @@ static uint32_t convert_and_clamp(
138138
ret_val = wm_ns * refclk_mhz;
139139
ret_val /= 1000;
140140

141-
if (ret_val > clamp_value)
141+
if (ret_val > clamp_value) {
142+
/* clamping WMs is abnormal, unexpected and may lead to underflow*/
143+
ASSERT(0);
142144
ret_val = clamp_value;
145+
}
143146

144147
return ret_val;
145148
}
@@ -159,7 +162,7 @@ static bool hubbub31_program_urgent_watermarks(
159162
if (safe_to_lower || watermarks->a.urgent_ns > hubbub2->watermarks.a.urgent_ns) {
160163
hubbub2->watermarks.a.urgent_ns = watermarks->a.urgent_ns;
161164
prog_wm_value = convert_and_clamp(watermarks->a.urgent_ns,
162-
refclk_mhz, 0x1fffff);
165+
refclk_mhz, 0x3fff);
163166
REG_SET(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A, 0,
164167
DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A, prog_wm_value);
165168

@@ -193,7 +196,7 @@ static bool hubbub31_program_urgent_watermarks(
193196
if (safe_to_lower || watermarks->a.urgent_latency_ns > hubbub2->watermarks.a.urgent_latency_ns) {
194197
hubbub2->watermarks.a.urgent_latency_ns = watermarks->a.urgent_latency_ns;
195198
prog_wm_value = convert_and_clamp(watermarks->a.urgent_latency_ns,
196-
refclk_mhz, 0x1fffff);
199+
refclk_mhz, 0x3fff);
197200
REG_SET(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_A, 0,
198201
DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_A, prog_wm_value);
199202
} else if (watermarks->a.urgent_latency_ns < hubbub2->watermarks.a.urgent_latency_ns)
@@ -203,7 +206,7 @@ static bool hubbub31_program_urgent_watermarks(
203206
if (safe_to_lower || watermarks->b.urgent_ns > hubbub2->watermarks.b.urgent_ns) {
204207
hubbub2->watermarks.b.urgent_ns = watermarks->b.urgent_ns;
205208
prog_wm_value = convert_and_clamp(watermarks->b.urgent_ns,
206-
refclk_mhz, 0x1fffff);
209+
refclk_mhz, 0x3fff);
207210
REG_SET(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B, 0,
208211
DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B, prog_wm_value);
209212

@@ -237,7 +240,7 @@ static bool hubbub31_program_urgent_watermarks(
237240
if (safe_to_lower || watermarks->b.urgent_latency_ns > hubbub2->watermarks.b.urgent_latency_ns) {
238241
hubbub2->watermarks.b.urgent_latency_ns = watermarks->b.urgent_latency_ns;
239242
prog_wm_value = convert_and_clamp(watermarks->b.urgent_latency_ns,
240-
refclk_mhz, 0x1fffff);
243+
refclk_mhz, 0x3fff);
241244
REG_SET(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B, 0,
242245
DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B, prog_wm_value);
243246
} else if (watermarks->b.urgent_latency_ns < hubbub2->watermarks.b.urgent_latency_ns)
@@ -247,7 +250,7 @@ static bool hubbub31_program_urgent_watermarks(
247250
if (safe_to_lower || watermarks->c.urgent_ns > hubbub2->watermarks.c.urgent_ns) {
248251
hubbub2->watermarks.c.urgent_ns = watermarks->c.urgent_ns;
249252
prog_wm_value = convert_and_clamp(watermarks->c.urgent_ns,
250-
refclk_mhz, 0x1fffff);
253+
refclk_mhz, 0x3fff);
251254
REG_SET(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C, 0,
252255
DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C, prog_wm_value);
253256

@@ -281,7 +284,7 @@ static bool hubbub31_program_urgent_watermarks(
281284
if (safe_to_lower || watermarks->c.urgent_latency_ns > hubbub2->watermarks.c.urgent_latency_ns) {
282285
hubbub2->watermarks.c.urgent_latency_ns = watermarks->c.urgent_latency_ns;
283286
prog_wm_value = convert_and_clamp(watermarks->c.urgent_latency_ns,
284-
refclk_mhz, 0x1fffff);
287+
refclk_mhz, 0x3fff);
285288
REG_SET(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C, 0,
286289
DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C, prog_wm_value);
287290
} else if (watermarks->c.urgent_latency_ns < hubbub2->watermarks.c.urgent_latency_ns)
@@ -291,7 +294,7 @@ static bool hubbub31_program_urgent_watermarks(
291294
if (safe_to_lower || watermarks->d.urgent_ns > hubbub2->watermarks.d.urgent_ns) {
292295
hubbub2->watermarks.d.urgent_ns = watermarks->d.urgent_ns;
293296
prog_wm_value = convert_and_clamp(watermarks->d.urgent_ns,
294-
refclk_mhz, 0x1fffff);
297+
refclk_mhz, 0x3fff);
295298
REG_SET(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D, 0,
296299
DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D, prog_wm_value);
297300

@@ -325,7 +328,7 @@ static bool hubbub31_program_urgent_watermarks(
325328
if (safe_to_lower || watermarks->d.urgent_latency_ns > hubbub2->watermarks.d.urgent_latency_ns) {
326329
hubbub2->watermarks.d.urgent_latency_ns = watermarks->d.urgent_latency_ns;
327330
prog_wm_value = convert_and_clamp(watermarks->d.urgent_latency_ns,
328-
refclk_mhz, 0x1fffff);
331+
refclk_mhz, 0x3fff);
329332
REG_SET(DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D, 0,
330333
DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D, prog_wm_value);
331334
} else if (watermarks->d.urgent_latency_ns < hubbub2->watermarks.d.urgent_latency_ns)
@@ -351,7 +354,7 @@ static bool hubbub31_program_stutter_watermarks(
351354
watermarks->a.cstate_pstate.cstate_enter_plus_exit_ns;
352355
prog_wm_value = convert_and_clamp(
353356
watermarks->a.cstate_pstate.cstate_enter_plus_exit_ns,
354-
refclk_mhz, 0x1fffff);
357+
refclk_mhz, 0xffff);
355358
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A, 0,
356359
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A, prog_wm_value);
357360
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_EXIT_WATERMARK_A calculated =%d\n"
@@ -367,7 +370,7 @@ static bool hubbub31_program_stutter_watermarks(
367370
watermarks->a.cstate_pstate.cstate_exit_ns;
368371
prog_wm_value = convert_and_clamp(
369372
watermarks->a.cstate_pstate.cstate_exit_ns,
370-
refclk_mhz, 0x1fffff);
373+
refclk_mhz, 0xffff);
371374
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A, 0,
372375
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A, prog_wm_value);
373376
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_A calculated =%d\n"
@@ -383,7 +386,7 @@ static bool hubbub31_program_stutter_watermarks(
383386
watermarks->a.cstate_pstate.cstate_enter_plus_exit_z8_ns;
384387
prog_wm_value = convert_and_clamp(
385388
watermarks->a.cstate_pstate.cstate_enter_plus_exit_z8_ns,
386-
refclk_mhz, 0x1fffff);
389+
refclk_mhz, 0xffff);
387390
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_A, 0,
388391
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_A, prog_wm_value);
389392
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_Z8_A calculated =%d\n"
@@ -399,7 +402,7 @@ static bool hubbub31_program_stutter_watermarks(
399402
watermarks->a.cstate_pstate.cstate_exit_z8_ns;
400403
prog_wm_value = convert_and_clamp(
401404
watermarks->a.cstate_pstate.cstate_exit_z8_ns,
402-
refclk_mhz, 0x1fffff);
405+
refclk_mhz, 0xffff);
403406
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_A, 0,
404407
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_A, prog_wm_value);
405408
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_Z8_A calculated =%d\n"
@@ -416,7 +419,7 @@ static bool hubbub31_program_stutter_watermarks(
416419
watermarks->b.cstate_pstate.cstate_enter_plus_exit_ns;
417420
prog_wm_value = convert_and_clamp(
418421
watermarks->b.cstate_pstate.cstate_enter_plus_exit_ns,
419-
refclk_mhz, 0x1fffff);
422+
refclk_mhz, 0xffff);
420423
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B, 0,
421424
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B, prog_wm_value);
422425
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_EXIT_WATERMARK_B calculated =%d\n"
@@ -432,7 +435,7 @@ static bool hubbub31_program_stutter_watermarks(
432435
watermarks->b.cstate_pstate.cstate_exit_ns;
433436
prog_wm_value = convert_and_clamp(
434437
watermarks->b.cstate_pstate.cstate_exit_ns,
435-
refclk_mhz, 0x1fffff);
438+
refclk_mhz, 0xffff);
436439
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B, 0,
437440
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B, prog_wm_value);
438441
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_B calculated =%d\n"
@@ -448,7 +451,7 @@ static bool hubbub31_program_stutter_watermarks(
448451
watermarks->b.cstate_pstate.cstate_enter_plus_exit_z8_ns;
449452
prog_wm_value = convert_and_clamp(
450453
watermarks->b.cstate_pstate.cstate_enter_plus_exit_z8_ns,
451-
refclk_mhz, 0x1fffff);
454+
refclk_mhz, 0xffff);
452455
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_B, 0,
453456
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_B, prog_wm_value);
454457
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_Z8_B calculated =%d\n"
@@ -464,7 +467,7 @@ static bool hubbub31_program_stutter_watermarks(
464467
watermarks->b.cstate_pstate.cstate_exit_z8_ns;
465468
prog_wm_value = convert_and_clamp(
466469
watermarks->b.cstate_pstate.cstate_exit_z8_ns,
467-
refclk_mhz, 0x1fffff);
470+
refclk_mhz, 0xffff);
468471
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_B, 0,
469472
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_B, prog_wm_value);
470473
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_Z8_B calculated =%d\n"
@@ -481,7 +484,7 @@ static bool hubbub31_program_stutter_watermarks(
481484
watermarks->c.cstate_pstate.cstate_enter_plus_exit_ns;
482485
prog_wm_value = convert_and_clamp(
483486
watermarks->c.cstate_pstate.cstate_enter_plus_exit_ns,
484-
refclk_mhz, 0x1fffff);
487+
refclk_mhz, 0xffff);
485488
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C, 0,
486489
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C, prog_wm_value);
487490
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_EXIT_WATERMARK_C calculated =%d\n"
@@ -497,7 +500,7 @@ static bool hubbub31_program_stutter_watermarks(
497500
watermarks->c.cstate_pstate.cstate_exit_ns;
498501
prog_wm_value = convert_and_clamp(
499502
watermarks->c.cstate_pstate.cstate_exit_ns,
500-
refclk_mhz, 0x1fffff);
503+
refclk_mhz, 0xffff);
501504
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C, 0,
502505
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C, prog_wm_value);
503506
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_C calculated =%d\n"
@@ -513,7 +516,7 @@ static bool hubbub31_program_stutter_watermarks(
513516
watermarks->c.cstate_pstate.cstate_enter_plus_exit_z8_ns;
514517
prog_wm_value = convert_and_clamp(
515518
watermarks->c.cstate_pstate.cstate_enter_plus_exit_z8_ns,
516-
refclk_mhz, 0x1fffff);
519+
refclk_mhz, 0xffff);
517520
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_C, 0,
518521
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_C, prog_wm_value);
519522
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_Z8_C calculated =%d\n"
@@ -529,7 +532,7 @@ static bool hubbub31_program_stutter_watermarks(
529532
watermarks->c.cstate_pstate.cstate_exit_z8_ns;
530533
prog_wm_value = convert_and_clamp(
531534
watermarks->c.cstate_pstate.cstate_exit_z8_ns,
532-
refclk_mhz, 0x1fffff);
535+
refclk_mhz, 0xffff);
533536
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_C, 0,
534537
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_C, prog_wm_value);
535538
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_Z8_C calculated =%d\n"
@@ -546,7 +549,7 @@ static bool hubbub31_program_stutter_watermarks(
546549
watermarks->d.cstate_pstate.cstate_enter_plus_exit_ns;
547550
prog_wm_value = convert_and_clamp(
548551
watermarks->d.cstate_pstate.cstate_enter_plus_exit_ns,
549-
refclk_mhz, 0x1fffff);
552+
refclk_mhz, 0xffff);
550553
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D, 0,
551554
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D, prog_wm_value);
552555
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_EXIT_WATERMARK_D calculated =%d\n"
@@ -562,7 +565,7 @@ static bool hubbub31_program_stutter_watermarks(
562565
watermarks->d.cstate_pstate.cstate_exit_ns;
563566
prog_wm_value = convert_and_clamp(
564567
watermarks->d.cstate_pstate.cstate_exit_ns,
565-
refclk_mhz, 0x1fffff);
568+
refclk_mhz, 0xffff);
566569
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D, 0,
567570
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D, prog_wm_value);
568571
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_D calculated =%d\n"
@@ -578,7 +581,7 @@ static bool hubbub31_program_stutter_watermarks(
578581
watermarks->d.cstate_pstate.cstate_enter_plus_exit_z8_ns;
579582
prog_wm_value = convert_and_clamp(
580583
watermarks->d.cstate_pstate.cstate_enter_plus_exit_z8_ns,
581-
refclk_mhz, 0x1fffff);
584+
refclk_mhz, 0xffff);
582585
REG_SET(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_D, 0,
583586
DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_Z8_D, prog_wm_value);
584587
DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_Z8_D calculated =%d\n"
@@ -594,7 +597,7 @@ static bool hubbub31_program_stutter_watermarks(
594597
watermarks->d.cstate_pstate.cstate_exit_z8_ns;
595598
prog_wm_value = convert_and_clamp(
596599
watermarks->d.cstate_pstate.cstate_exit_z8_ns,
597-
refclk_mhz, 0x1fffff);
600+
refclk_mhz, 0xffff);
598601
REG_SET(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_D, 0,
599602
DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_Z8_D, prog_wm_value);
600603
DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_Z8_D calculated =%d\n"
@@ -625,7 +628,7 @@ static bool hubbub31_program_pstate_watermarks(
625628
watermarks->a.cstate_pstate.pstate_change_ns;
626629
prog_wm_value = convert_and_clamp(
627630
watermarks->a.cstate_pstate.pstate_change_ns,
628-
refclk_mhz, 0x1fffff);
631+
refclk_mhz, 0xffff);
629632
REG_SET(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A, 0,
630633
DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A, prog_wm_value);
631634
DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_A calculated =%d\n"
@@ -642,7 +645,7 @@ static bool hubbub31_program_pstate_watermarks(
642645
watermarks->b.cstate_pstate.pstate_change_ns;
643646
prog_wm_value = convert_and_clamp(
644647
watermarks->b.cstate_pstate.pstate_change_ns,
645-
refclk_mhz, 0x1fffff);
648+
refclk_mhz, 0xffff);
646649
REG_SET(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B, 0,
647650
DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B, prog_wm_value);
648651
DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_B calculated =%d\n"
@@ -659,7 +662,7 @@ static bool hubbub31_program_pstate_watermarks(
659662
watermarks->c.cstate_pstate.pstate_change_ns;
660663
prog_wm_value = convert_and_clamp(
661664
watermarks->c.cstate_pstate.pstate_change_ns,
662-
refclk_mhz, 0x1fffff);
665+
refclk_mhz, 0xffff);
663666
REG_SET(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C, 0,
664667
DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C, prog_wm_value);
665668
DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_C calculated =%d\n"
@@ -676,7 +679,7 @@ static bool hubbub31_program_pstate_watermarks(
676679
watermarks->d.cstate_pstate.pstate_change_ns;
677680
prog_wm_value = convert_and_clamp(
678681
watermarks->d.cstate_pstate.pstate_change_ns,
679-
refclk_mhz, 0x1fffff);
682+
refclk_mhz, 0xffff);
680683
REG_SET(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D, 0,
681684
DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D, prog_wm_value);
682685
DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_D calculated =%d\n"

drivers/gpu/drm/amd/pm/amdgpu_pm.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3462,8 +3462,7 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
34623462
attr == &sensor_dev_attr_power2_cap_min.dev_attr.attr ||
34633463
attr == &sensor_dev_attr_power2_cap.dev_attr.attr ||
34643464
attr == &sensor_dev_attr_power2_cap_default.dev_attr.attr ||
3465-
attr == &sensor_dev_attr_power2_label.dev_attr.attr ||
3466-
attr == &sensor_dev_attr_power1_label.dev_attr.attr))
3465+
attr == &sensor_dev_attr_power2_label.dev_attr.attr))
34673466
return 0;
34683467

34693468
return effective_mode;

0 commit comments

Comments
 (0)