-
- Downloads
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>
Showing
- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 6 additions, 4 deletionsdrivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c 3 additions, 3 deletionsdrivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
- drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
- drivers/gpu/drm/amd/display/dc/core/dc.c 5 additions, 6 deletionsdrivers/gpu/drm/amd/display/dc/core/dc.c
- drivers/gpu/drm/amd/display/dc/core/dc_link.c 27 additions, 27 deletionsdrivers/gpu/drm/amd/display/dc/core/dc_link.c
- drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 3 additions, 3 deletionsdrivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
- drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c 3 additions, 6 deletionsdrivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
- drivers/gpu/drm/amd/display/dc/core/dc_resource.c 7 additions, 7 deletionsdrivers/gpu/drm/amd/display/dc/core/dc_resource.c
- drivers/gpu/drm/amd/display/dc/core/dc_stream.c 14 additions, 16 deletionsdrivers/gpu/drm/amd/display/dc/core/dc_stream.c
- drivers/gpu/drm/amd/display/dc/dc_link.h 1 addition, 0 deletionsdrivers/gpu/drm/amd/display/dc/dc_link.h
- drivers/gpu/drm/amd/display/dc/dc_stream.h 12 additions, 1 deletiondrivers/gpu/drm/amd/display/dc/dc_stream.h
- drivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c 5 additions, 5 deletionsdrivers/gpu/drm/amd/display/dc/dce/dce_clk_mgr.c
- drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c
- drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 10 additions, 16 deletionsdrivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
- drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
- drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c 1 addition, 1 deletiondrivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
Loading
Please register or sign in to comment