summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrikanth Rajagopalan <rasrik@codeaurora.org>2017-07-05 22:08:52 -0700
committerSrikanth Rajagopalan <rasrik@codeaurora.org>2017-07-10 12:48:26 -0700
commitfb87ca54f6836cc345d99bc70e67f0439cc83aa2 (patch)
treec6a70fc1cf8c2f07a04264d6bc8af3127d963b0f
parente868dcc8bbe582a3ac9e859c8fd8db54f4e25813 (diff)
drm/msm/sde: Expose the HDR support capability of the chipset
Expose HDR capability using a property to the userspace. This will help userspace to decide whether to invoke the HDR library and pass the relevant parameters to be sent to the sink. Change-Id: I3c4bf4d6c4e0f0babdf49b3c99baab42dcb2b5c0 Signed-off-by: Srikanth Rajagopalan <rasrik@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/sde/sde_crtc.c1
-rw-r--r--drivers/gpu/drm/msm/sde/sde_hw_catalog.c5
-rw-r--r--drivers/gpu/drm/msm/sde/sde_hw_catalog.h3
3 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.c b/drivers/gpu/drm/msm/sde/sde_crtc.c
index 5a49a1beee49..5323c0194594 100644
--- a/drivers/gpu/drm/msm/sde/sde_crtc.c
+++ b/drivers/gpu/drm/msm/sde/sde_crtc.c
@@ -1385,6 +1385,7 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
if (catalog->qseed_type == SDE_SSPP_SCALER_QSEED3)
sde_kms_info_add_keystr(info, "qseed_type", "qseed3");
sde_kms_info_add_keyint(info, "has_src_split", catalog->has_src_split);
+ sde_kms_info_add_keyint(info, "has_hdr", catalog->has_hdr);
if (catalog->perf.max_bw_low)
sde_kms_info_add_keyint(info, "max_bandwidth_low",
catalog->perf.max_bw_low);
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
index eb398fbee816..635c2e4e954b 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_catalog.c
@@ -2075,6 +2075,11 @@ static int sde_hardware_format_caps(struct sde_mdss_cfg *sde_cfg,
goto end;
}
+ if (IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_300) ||
+ IS_SDE_MAJOR_MINOR_SAME((hw_rev), SDE_HW_VER_301)) {
+ sde_cfg->has_hdr = true;
+ }
+
index = _sde_copy_formats(sde_cfg->dma_formats, dma_list_size,
0, plane_formats, ARRAY_SIZE(plane_formats));
index += _sde_copy_formats(sde_cfg->dma_formats, dma_list_size,
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_catalog.h b/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
index 01204df48871..73bb77b7afa6 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
+++ b/drivers/gpu/drm/msm/sde/sde_hw_catalog.h
@@ -655,6 +655,7 @@ struct sde_vp_cfg {
* @csc_type csc or csc_10bit support.
* @has_src_split source split feature status
* @has_cdp Client driver prefetch feature status
+ * @has_hdr HDR feature support
* @dma_formats Supported formats for dma pipe
* @cursor_formats Supported formats for cursor pipe
* @vig_formats Supported formats for vig pipe
@@ -672,7 +673,7 @@ struct sde_mdss_cfg {
u32 csc_type;
bool has_src_split;
bool has_cdp;
-
+ bool has_hdr;
u32 mdss_count;
struct sde_mdss_base_cfg mdss[MAX_BLOCKS];