disp: msm: add support for seamless dsc switch
This change adds logic to determine dsc switch based on the connector property "CONNECTOR_PROP_DSC_MODE" and performs seamless DSC switch if there is any change in DSC configuration. The connector property is populated in msm_sub_mode based on which suitable mode is selected. Change-Id: Ifc4931f16dfb814781bc1d72b103e09103e6bfee Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
このコミットが含まれているのは:

committed by
Gerrit - the friendly Code Review server

コミット
7e03fb61fd
@@ -377,6 +377,7 @@ end:
|
||||
|
||||
int dp_connector_get_mode_info(struct drm_connector *connector,
|
||||
const struct drm_display_mode *drm_mode,
|
||||
struct msm_sub_mode *sub_mode,
|
||||
struct msm_mode_info *mode_info,
|
||||
void *display, const struct msm_resource_caps_info *avail_res)
|
||||
{
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _DP_DRM_H_
|
||||
@@ -103,12 +103,14 @@ enum drm_mode_status dp_connector_mode_valid(struct drm_connector *connector,
|
||||
* @connector: Pointer to drm connector structure
|
||||
* @drm_mode: Display mode set for the display
|
||||
* @mode_info: Out parameter. Information of the mode
|
||||
* @sub_mode: Additional mode info to drm display mode
|
||||
* @display: Pointer to private display structure
|
||||
* @avail_res: Pointer with curr available resources
|
||||
* Returns: zero on success
|
||||
*/
|
||||
int dp_connector_get_mode_info(struct drm_connector *connector,
|
||||
const struct drm_display_mode *drm_mode,
|
||||
struct msm_sub_mode *sub_mode,
|
||||
struct msm_mode_info *mode_info,
|
||||
void *display, const struct msm_resource_caps_info *avail_res);
|
||||
|
||||
@@ -216,6 +218,7 @@ static inline enum drm_mode_status dp_connector_mode_valid(
|
||||
|
||||
static inline int dp_connector_get_mode_info(struct drm_connector *connector,
|
||||
const struct drm_display_mode *drm_mode,
|
||||
struct msm_sub_mode *sub_mode,
|
||||
struct msm_mode_info *mode_info,
|
||||
void *display, const struct msm_resource_caps_info *avail_res)
|
||||
{
|
||||
|
@@ -1116,6 +1116,7 @@ int dp_mst_connector_get_info(struct drm_connector *connector,
|
||||
|
||||
int dp_mst_connector_get_mode_info(struct drm_connector *connector,
|
||||
const struct drm_display_mode *drm_mode,
|
||||
struct msm_sub_mode *sub_mode,
|
||||
struct msm_mode_info *mode_info,
|
||||
void *display,
|
||||
const struct msm_resource_caps_info *avail_res)
|
||||
@@ -1125,7 +1126,7 @@ int dp_mst_connector_get_mode_info(struct drm_connector *connector,
|
||||
DP_MST_DEBUG("enter:\n");
|
||||
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_ENTRY, connector->base.id);
|
||||
|
||||
rc = dp_connector_get_mode_info(connector, drm_mode, mode_info,
|
||||
rc = dp_connector_get_mode_info(connector, drm_mode, NULL, mode_info,
|
||||
display, avail_res);
|
||||
|
||||
DP_MST_DEBUG("mst connector:%d get mode info. rc:%d\n",
|
||||
|
新しいイシューから参照
ユーザーをブロックする