linux/drivers/gpu/drm/amd/display/dc
Nikola Cornij ec5b356c58 drm/amd/display: Map ODM memory correctly when doing ODM combine
[why]
Up to 4 ODM memory pieces are required per ODM combine and cannot
overlap, i.e. each ODM "session" has to use its own memory pieces.
The ODM-memory mapping is currently broken for generic case.

The maximum number of memory pieces is ASIC-dependent, but it's always
big enough to satisfy maximum number of ODM combines. Memory pieces
are mapped as a bit-map, i.e. one memory piece corresponds to one bit.
The OPTC doing ODM needs to select memory pieces by setting the
corresponding bits, making sure there's no overlap with other OPTC
instances that might be doing ODM.

The current mapping works only for OPTC instance indexes smaller than
3. For instance indexes 3 and up it practically maps no ODM memory,
causing black, gray or white screen in display configs that include
ODM on OPTC instance 3 or up.

[how]
Statically map two unique ODM memory pieces for each OPTC instance
and piece them together when programming ODM combine mode.

Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-12-18 16:09:09 -05:00
..
basics drm/amd/display: cleanup of function pointer tables 2019-11-19 10:12:53 -05:00
bios drm/amd/display: populate bios integrated info for renoir 2019-12-05 18:16:19 -05:00
calcs amdgpu: Enable initial DCN support on POWER 2019-12-18 16:09:05 -05:00
clk_mgr drm/amd/display: Enable Seamless Boot Transition for Multiple Streams 2019-12-18 16:09:08 -05:00
core drm/amd/display: Add warmup escape call support 2019-12-18 16:09:09 -05:00
dce drm/amdgpu/display: add fallthrough comment 2019-12-09 17:03:45 -05:00
dce80 drm/amd/display: add separate of private hwss functions 2019-12-05 16:26:46 -05:00
dce100 drm/amd/display: add separate of private hwss functions 2019-12-05 16:26:46 -05:00
dce110 drm/amd/display: add separate of private hwss functions 2019-12-05 16:26:46 -05:00
dce112 drm/amd/display: add separate of private hwss functions 2019-12-05 16:26:46 -05:00
dce120 drm/amd/display: add separate of private hwss functions 2019-12-05 16:26:46 -05:00
dcn10 drm/amd/display: update chroma viewport wa 2019-12-18 16:09:08 -05:00
dcn20 drm/amd/display: Map ODM memory correctly when doing ODM combine 2019-12-18 16:09:09 -05:00
dcn21 drm/amd/display: Collapse resource arrays when pipe is disabled 2019-12-18 16:09:08 -05:00
dml drm/amd/display: HDMI 2.x audio bandwidth check 2019-12-18 16:09:07 -05:00
dsc drm/amd/display: Add interface to adjust DSC max target bpp limit 2019-12-18 16:09:07 -05:00
gpio drm/amd/display: cleanup of construct and destruct funcs 2019-11-19 10:12:52 -05:00
hdcp drm/amd/display: remove redundant null pointer check before kfree 2019-10-30 11:07:13 -04:00
inc drm/amd/display: Add warmup escape call support 2019-12-18 16:09:09 -05:00
irq drm/amd/display: rename core_dc to dc 2019-12-05 16:26:39 -05:00
virtual drm/amd/display: Drop CONFIG_DRM_AMD_DC_DCN2_0 and DSC_SUPPORTED 2019-11-13 15:29:44 -05: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: Spin for DMCUB PHY init in DC 2019-11-19 10:12:53 -05:00
dc_dmub_srv.h drm/amd/display: Add DMUB support to DC 2019-11-13 15:29:42 -05:00
dc_dp_types.h drm/amd/display: add color space option when sending link test pattern 2019-11-19 10:12:52 -05:00
dc_dsc.h drm/amd/display: Add interface to adjust DSC max target bpp limit 2019-12-18 16:09:07 -05:00
dc_helper.c drm/amd/display: Split DMUB cmd type into type/subtype 2019-12-05 16:30:35 -05:00
dc_hw_types.h drm/amd/display: Drop AMD_EDID_UTILITY defines 2019-12-02 17:38:21 -05:00
dc_link.h drm/amd/display: add color space option when sending link test pattern 2019-11-19 10:12:52 -05:00
dc_stream.h drm/amd/display: Add warmup escape call support 2019-12-18 16:09:09 -05:00
dc_types.h drm/amd/display: HDMI 2.x audio bandwidth check 2019-12-18 16:09:07 -05:00
dc.h drm/amd/display: 3.2.63 2019-12-18 16:09:08 -05:00
dm_cp_psp.h drm/amd/display: Update hdcp display config 2019-10-03 09:10:58 -05: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 amdgpu: Enable initial DCN support on POWER 2019-12-18 16:09:05 -05:00