summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dc/dc.h
diff options
context:
space:
mode:
authorVitaly Prosyak <vitaly.prosyak@amd.com>2017-06-07 12:23:59 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:07:56 -0400
commit9edba5574d8253b739f4c78d880c80f94578859b (patch)
tree285b1f4fe7d9c42530e1002b1656ec9e6804ba5a /drivers/gpu/drm/amd/display/dc/dc.h
parentc9742685c24acd6d71cdda3067bfc2f512fe2b7c (diff)
downloadlinux-9edba5574d8253b739f4c78d880c80f94578859b.tar.gz
linux-9edba5574d8253b739f4c78d880c80f94578859b.tar.bz2
linux-9edba5574d8253b739f4c78d880c80f94578859b.zip
drm/amd/display: RV stereo support
HDMI frame pack and DP frame alternate in band Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dc.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index e08e532cafb8..fb86808dd309 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -361,6 +361,7 @@ struct dc_surface_status {
struct dc_plane_address requested_address;
struct dc_plane_address current_address;
bool is_flip_pending;
+ bool is_right_eye;
};
/*
@@ -476,7 +477,7 @@ struct dc_stream {
const struct dc_transfer_func *out_transfer_func;
struct colorspace_transform gamut_remap_matrix;
struct csc_transform csc_color_matrix;
-
+ enum view_3d_format view_format;
/* TODO: custom INFO packets */
/* TODO: ABM info (DMCU) */
/* TODO: PSR info */
@@ -591,6 +592,15 @@ bool dc_commit_streams(
struct dc *dc,
const struct dc_stream *streams[],
uint8_t stream_count);
+/*
+ * Enable stereo when commit_streams is not required,
+ * for example, frame alternate.
+ */
+bool dc_enable_stereo(
+ struct dc *dc,
+ struct validate_context *context,
+ const struct dc_stream *streams[],
+ uint8_t stream_count);
/**
* Create a new default stream for the requested sink
@@ -777,6 +787,14 @@ 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
*/
@@ -788,6 +806,7 @@ struct dc_sink {
uint32_t dongle_max_pix_clk;
bool converter_disable_audio;
void *priv;
+ struct stereo_3d_features features_3d[TIMING_3D_FORMAT_MAX];
};
void dc_sink_retain(const struct dc_sink *sink);