From: Vitaly Prosyak Date: Mon, 12 Jun 2017 11:03:26 -0500 Subject: drm/amd/display: RV stereo support Git-commit: b6d6103bbb21ed51acf0168529d867df1ecde445 Patch-mainline: v4.15-rc1 References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166 Re-organize 3d declarations Signed-off-by: Vitaly Prosyak Reviewed-by: Charlene Liu Acked-by: Harry Wentland Signed-off-by: Alex Deucher Acked-by: Petr Tesarik --- drivers/gpu/drm/amd/display/dc/dc.h | 8 ----- drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 43 ++++++++++++++------------- drivers/gpu/drm/amd/display/dc/dc_types.h | 9 +++++ 3 files changed, 33 insertions(+), 27 deletions(-) --- a/drivers/gpu/drm/amd/display/dc/dc.h +++ b/drivers/gpu/drm/amd/display/dc/dc.h @@ -787,13 +787,7 @@ struct dc_container_id { unsigned short productCode; }; -struct stereo_3d_features { - bool supported ; - bool allTimings ; - bool cloneMode ; - bool scaling ; - bool singleFrameSWPacked; -}; + /* * The sink structure contains EDID and other display device properties --- a/drivers/gpu/drm/amd/display/dc/dc_hw_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_hw_types.h @@ -551,27 +551,7 @@ enum dc_timing_standard { TIMING_STANDARD_MAX }; -enum dc_timing_3d_format { - TIMING_3D_FORMAT_NONE, - TIMING_3D_FORMAT_FRAME_ALTERNATE, /* No stereosync at all*/ - TIMING_3D_FORMAT_INBAND_FA, /* Inband Frame Alternate (DVI/DP)*/ - TIMING_3D_FORMAT_DP_HDMI_INBAND_FA, /* Inband FA to HDMI Frame Pack*/ - /* for active DP-HDMI dongle*/ - TIMING_3D_FORMAT_SIDEBAND_FA, /* Sideband Frame Alternate (eDP)*/ - TIMING_3D_FORMAT_HW_FRAME_PACKING, - TIMING_3D_FORMAT_SW_FRAME_PACKING, - TIMING_3D_FORMAT_ROW_INTERLEAVE, - TIMING_3D_FORMAT_COLUMN_INTERLEAVE, - TIMING_3D_FORMAT_PIXEL_INTERLEAVE, - TIMING_3D_FORMAT_SIDE_BY_SIDE, - TIMING_3D_FORMAT_TOP_AND_BOTTOM, - TIMING_3D_FORMAT_SBS_SW_PACKED, - /* Side-by-side, packed by application/driver into 2D frame*/ - TIMING_3D_FORMAT_TB_SW_PACKED, - /* Top-and-bottom, packed by application/driver into 2D frame*/ - TIMING_3D_FORMAT_MAX, -}; enum dc_color_depth { COLOR_DEPTH_UNDEFINED, @@ -643,6 +623,29 @@ struct dc_crtc_timing_flags { }; +enum dc_timing_3d_format { + TIMING_3D_FORMAT_NONE, + TIMING_3D_FORMAT_FRAME_ALTERNATE, /* No stereosync at all*/ + TIMING_3D_FORMAT_INBAND_FA, /* Inband Frame Alternate (DVI/DP)*/ + TIMING_3D_FORMAT_DP_HDMI_INBAND_FA, /* Inband FA to HDMI Frame Pack*/ + /* for active DP-HDMI dongle*/ + TIMING_3D_FORMAT_SIDEBAND_FA, /* Sideband Frame Alternate (eDP)*/ + TIMING_3D_FORMAT_HW_FRAME_PACKING, + TIMING_3D_FORMAT_SW_FRAME_PACKING, + TIMING_3D_FORMAT_ROW_INTERLEAVE, + TIMING_3D_FORMAT_COLUMN_INTERLEAVE, + TIMING_3D_FORMAT_PIXEL_INTERLEAVE, + TIMING_3D_FORMAT_SIDE_BY_SIDE, + TIMING_3D_FORMAT_TOP_AND_BOTTOM, + TIMING_3D_FORMAT_SBS_SW_PACKED, + /* Side-by-side, packed by application/driver into 2D frame*/ + TIMING_3D_FORMAT_TB_SW_PACKED, + /* Top-and-bottom, packed by application/driver into 2D frame*/ + + TIMING_3D_FORMAT_MAX, +}; + + struct dc_crtc_timing { uint32_t h_total; --- a/drivers/gpu/drm/amd/display/dc/dc_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_types.h @@ -272,6 +272,15 @@ enum dc_timing_source { TIMING_SOURCE_COUNT }; + +struct stereo_3d_features { + bool supported ; + bool allTimings ; + bool cloneMode ; + bool scaling ; + bool singleFrameSWPacked; +}; + enum dc_timing_support_method { TIMING_SUPPORT_METHOD_UNDEFINED, TIMING_SUPPORT_METHOD_EXPLICIT,