linux_dsm_epyc7002/drivers/gpu/drm/amd/display/dc
Nicholas Kazlauskas a24eaa5c51 drm/amd/display: Revalidate bandwidth before commiting DC updates
[Why]
Whenever we switch between tiled formats without also switching pixel
formats or doing anything else that recreates the DC plane state we
can run into underflow or hangs since we're not updating the
DML parameters before committing to the hardware.

[How]
If the update type is FULL then call validate_bandwidth again to update
the DML parmeters before committing the state.

This is basically just a workaround and protective measure against
update types being added DC where we could run into this issue in
the future.

We can only fully validate the state in advance before applying it to
the hardware if we recreate all the plane and stream states since
we can't modify what's currently in use.

The next step is to update DM to ensure that we're creating the plane
and stream states for whatever could potentially be a full update in
DC to pre-emptively recreate the state for DC global validation.

The workaround can stay until this has been fixed in DM.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2020-06-03 15:33:06 -04:00
..
basics drm/amd/dc: Kill dc_conn_log_hex_linux() 2020-04-01 14:44:59 -04:00
bios drm/amd/display: Pass command instead of header into DMUB service 2020-04-28 16:19:05 -04:00
calcs drm/amd/display: Avoid pipe split when plane is too small 2020-05-21 12:48:43 -04:00
clk_mgr drm/amd/display: dmcu wait loop calculation is incorrect in RV 2020-04-22 18:11:48 -04:00
core drm/amd/display: Revalidate bandwidth before commiting DC updates 2020-06-03 15:33:06 -04:00
dce drm/amd/display: move location of dmub_srv.h file 2020-05-05 13:12:33 -04:00
dce80 drm/amd/display: change from panel to panel cntl 2020-04-22 18:11:48 -04:00
dce100 drm/amd/display: change from panel to panel cntl 2020-04-22 18:11:48 -04:00
dce110 drm/amd/display: Move panel_cntl specific register from abm to panel_cntl. 2020-05-05 13:10:46 -04:00
dce112 drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12. (v2) 2020-05-21 12:46:51 -04:00
dce120 drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12. (v2) 2020-05-21 12:46:51 -04:00
dcn10 drm/amd/display: Fix potential integer wraparound resulting in a hang 2020-05-27 18:42:10 -04:00
dcn20 drm/amd/display: correct rn NUM_VMID 2020-05-21 12:48:43 -04:00
dcn21 drm/amd/display: correct rn NUM_VMID 2020-05-21 12:48:43 -04:00
dml drm/amd/display: Remove dml_common_def file 2020-05-21 12:48:43 -04:00
dsc drm: Correct DP DSC macro typo 2020-04-30 15:08:58 -04:00
gpio drm/amdgpu/display: extend DCN guards 2020-02-12 16:04:39 -05:00
hdcp drm/amd/display: query hdcp capability during link detect 2020-04-09 10:43:17 -04:00
inc drm/amd/display: Defer cursor lock until after VUPDATE 2020-05-21 12:48:43 -04:00
irq drm/amd/display: rename core_dc to dc 2019-12-05 16:26:39 -05:00
virtual drm/amd/display: determine USB C DP2 mode only when USB DP Alt is enabled 2020-04-09 10:43:17 -04:00
dc_bios_types.h drm/amd/display: make firmware info only load once during dc_bios create 2019-08-15 10:53:36 -05:00
dc_ddc_types.h drm/amd/display: Proper return of result when aux engine acquire fails 2019-10-25 16:50:09 -04:00
dc_dmub_srv.c drm/amd/display: move location of dmub_srv.h file 2020-05-05 13:12:33 -04:00
dc_dmub_srv.h drm/amd/display: move location of dmub_srv.h file 2020-05-05 13:12:33 -04:00
dc_dp_types.h drm/amd/display: Unify psr feature flags 2020-04-22 18:11:47 -04:00
dc_dsc.h drm/amd/display: Add debug option to override DSC target bpp increment 2019-12-18 16:09:11 -05:00
dc_helper.c drm/amd/display: Pass command instead of header into DMUB service 2020-04-28 16:19:05 -04:00
dc_hw_types.h drm/amd/display: Make cursor source translation adjustment optional 2020-04-09 10:43:17 -04:00
dc_link.h drm/amd/display: move location of dmub_srv.h file 2020-05-05 13:12:33 -04:00
dc_stream.h drm/amd/display: Unify psr feature flags 2020-04-22 18:11:47 -04:00
dc_types.h drm/amd/display: add addition dc type to translate to dmub fw type 2020-05-05 13:11:49 -04:00
dc.h drm/amd/display: 3.2.84 2020-05-05 13:12:47 -04:00
dm_cp_psp.h drm/amd/display: determine is mst hdcp based on stream instead of sink signal 2020-03-09 13:49:06 -04:00
dm_event_log.h drm/amd/display: Add customizable tracing event 2018-11-30 12:02:49 -05:00
dm_helpers.h drm/amd/display: Drop CONFIG_DRM_AMD_DC_DCN2_0 and DSC_SUPPORTED 2019-11-13 15:29:44 -05:00
dm_pp_smu.h drm/amd/display: Drop CONFIG_DRM_AMD_DC_DCN2_1 flag 2019-11-13 15:29:44 -05:00
dm_services_types.h drm/amd/display: Add definition for number of backlight data points 2019-12-18 16:09:08 -05:00
dm_services.h drm/amd/display: Drop CONFIG_DRM_AMD_DC_DMUB guards 2019-11-13 15:29:42 -05:00
irq_types.h drm/amd/display: Add Vline1 interrupt source to InterruptManager 2019-01-28 11:44:10 -05:00
Makefile drm/amd/display: rename DCN1_0 kconfig to DCN 2019-11-13 15:29:44 -05:00
os_types.h drm/amdgpu/dc: Use WARN_ON_ONCE for ASSERT 2020-04-30 16:48:47 -04:00