linux/drivers/gpu/drm/amd/display/dc/dce
Jun Lei ceb3dbb469 drm/amd/display: remove sink reference in dc_stream_state
[why]
dc_stream_state containing a pointer to sink is poor design.
Sink describes the display, and the specifications or capabilities
it has.  That information is irrelevant for dc_stream_state, which describes
hardware state, and is generally used for hardware programming.  It
could further be argued that dc_sink itself is just a convenience dc
provides, and DC should be perfectly capable of programming hardware
without any dc_sinks (for example, emulated sinks).

[how]
Phase 1:
Deprecate use of dc_sink pointer in dc_stream.  Most references are trivial
to remove, but some call sites are risky (such as is_timing_changed) with
no obvious logical replacement.  These will be removed in follow up change.

Add dc_link pointer to dc_stream.  This is the typical reason DC really needed
sink pointer, and most call sites are replaced with this.

DMs also need minor updates, as all 3 DMs leverage stream->sink for
some functionality.  this is replaced instead by a pointer to private data
inside dc_stream_state, which is used by DMs as a quality of life improvment
for some key functionality.  it allows DMs to set pointers have to their own objects
which associate OS objects to dc_stream_states (such as DisplayTarget
and amdgpu_dm_connector).  Without the private pointer, DMs would be
forced to perform a lookup for callbacks.

Signed-off-by: Jun Lei <Jun.Lei@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: David Francis <David.Francis@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-01-14 15:04:36 -05:00
..
dce_abm.c drm/amd/display: Expose target backlight level 2018-11-05 14:21:43 -05:00
dce_abm.h
dce_audio.c drm/amd/display: Add Dynamic debug prints 2018-04-11 13:08:05 -05:00
dce_audio.h
dce_aux.c drm/amd/display: Use proper enums in process_channel_reply 2018-10-09 17:04:22 -05:00
dce_aux.h drm/amd/display: flatten aux_engine and engine 2018-07-27 09:07:42 -05:00
dce_clk_mgr.c drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce_clk_mgr.h drm/amd/display: expose dentist_get_divider_from_did 2018-11-19 15:27:35 -05:00
dce_clock_source.c drm/amd/display: stop using switch for different CS revisions 2018-09-14 15:47:11 -05:00
dce_clock_source.h drm/amd/display: stop using switch for different CS revisions 2018-09-14 15:47:11 -05:00
dce_dmcu.c Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86" 2018-08-21 14:32:28 -05:00
dce_dmcu.h drm/amd/display: Enable backlight support for pre-DCE11 ASICs 2018-03-14 15:08:46 -05:00
dce_hwseq.c drm/amd/display: remove dummy is_blanked() to optimise boot time 2018-05-15 13:43:07 -05:00
dce_hwseq.h drm/amd/display: Add missing pipes registers for VGA enable/disable 2018-11-05 14:21:34 -05:00
dce_i2c_hw.c drm/amd/display: Flatten unnecessary i2c functions 2018-08-27 15:21:11 -05:00
dce_i2c_hw.h drm/amd/display: Remove redundant i2c structs 2018-08-27 15:20:56 -05:00
dce_i2c_sw.c drm/amd/display: Remove redundant i2c structs 2018-08-27 15:20:56 -05:00
dce_i2c_sw.h drm/amd/display: Create new i2c resource 2018-08-27 11:11:05 -05:00
dce_i2c.c drm/amd/display: Create new i2c resource 2018-08-27 11:11:05 -05:00
dce_i2c.h drm/amd/display: Remove redundant i2c structs 2018-08-27 15:20:56 -05:00
dce_ipp.c drm/amd/display: get rid of 32.32 unsigned fixed point 2018-05-18 16:08:21 -05:00
dce_ipp.h
dce_link_encoder.c drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce_link_encoder.h drm/amdgpu/display: add support for LVDS (v5) 2018-08-27 11:11:15 -05:00
dce_mem_input.c drm/amd/display: make function tables const 2018-07-10 14:17:11 -05:00
dce_mem_input.h drm/amd/display: Separate mem input constuctors for dce 112 and 120 2018-04-11 13:07:42 -05:00
dce_opp.c drm/amd/display: Fix FMT truncation programming 2018-03-21 00:22:35 -05:00
dce_opp.h
dce_scl_filters.c drm/amd/display: get rid of 32.32 unsigned fixed point 2018-05-18 16:08:21 -05:00
dce_stream_encoder.c drm/amd/display: Clean up dp_blank functions 2018-11-19 15:27:37 -05:00
dce_stream_encoder.h
dce_transform.c drm/amd/display: add HDR visual confirm 2018-07-16 16:11:49 -05:00
dce_transform.h
Makefile drm/amd/display: rename dccg to clk_mgr 2018-11-05 14:20:48 -05:00