linux/drivers/gpu/drm/amd/display/dc
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
..
basics drm/amd/display: Convert remaining loggers off dc_logger 2018-07-13 14:48:42 -05:00
bios drm/amd/display: Add functionality to get XGMI SS info 2018-12-18 17:39:56 -05:00
calcs drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
core drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce80 drm/amd/display: Remove duplicate header 2018-11-26 15:54:40 -05:00
dce100 drm/amd/display: Allow clock lower on dce100 2018-11-30 12:03:37 -05:00
dce110 drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce112 drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dce120 drm/amd/display: rename dccg to clk_mgr 2018-11-05 14:20:48 -05:00
dcn10 drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dml drm/amd/display: fix dml max voltage state 2018-11-05 14:21:33 -05:00
gpio drm/amd/display: Add DCE_VERSION_12_1 enum for Vega 20 2018-12-18 17:39:49 -05:00
i2caux drm/amd/display: Add DCE_VERSION_12_1 enum for Vega 20 2018-12-18 17:39:49 -05:00
inc drm/amd/display: Fix runtime errors for diagnostic tests 2019-01-14 15:04:32 -05:00
irq Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86" 2018-08-21 14:32:28 -05:00
virtual drm/amd/display: Pass signal directly to enable_tmds_output 2018-03-07 16:27:20 -05:00
dc_bios_types.h drm/amd/display: Add condition to sync eDP SW status and HW status 2018-11-05 14:21:45 -05:00
dc_ddc_types.h drm/amd/display: Move i2c and aux structs into dc_ddc_types.h 2018-06-15 12:23:38 -05:00
dc_dp_types.h drm/amd/display: Write TEST_EDID_CHECKSUM_WRITE for EDID tests 2018-06-15 12:22:09 -05:00
dc_helper.c drm/amd/display: Warn instead of error on REG_WAIT timeout 2018-12-18 18:25:10 -05:00
dc_hw_types.h drm/amd/display: move AYCrCb8888 format to video section 2018-12-18 18:25:10 -05:00
dc_link.h drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dc_stream.h drm/amd/display: remove sink reference in dc_stream_state 2019-01-14 15:04:36 -05:00
dc_types.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
dc.h drm/amd/display: Add debug option to force fclk request 2019-01-14 15:04:35 -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: Add hook for MST root branch info 2018-07-16 16:11:49 -05:00
dm_pp_smu.h drm/amd/display: Add a PP_SMU_VER_MAX enum 2019-01-14 15:04:31 -05:00
dm_services_types.h drm/amd/display: Fix some backlight variable styling 2018-11-05 14:21:39 -05:00
dm_services.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
irq_types.h drm/amd/display: get rid of 32.32 unsigned fixed point 2018-05-18 16:08:21 -05:00
Makefile Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86" 2018-08-21 14:32:28 -05:00
os_types.h amd-gpu: Don't undefine READ and WRITE 2018-10-24 00:36:12 +01:00