Merge "disp: msm: sde: fix the QOS setting mismatch"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
a9a92a5f84
@@ -619,6 +619,24 @@ static inline enum sde_crtc_client_type sde_crtc_get_client_type(
|
||||
return cstate->rsc_client ? RT_RSC_CLIENT : RT_CLIENT;
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_crtc_get_client_type_for_qos - check the crtc type- rt, nrt, rsc_rt, etc.
|
||||
* @crtc: Pointer to crtc
|
||||
*/
|
||||
static inline enum sde_crtc_client_type sde_crtc_get_client_type_for_qos(
|
||||
struct drm_crtc *crtc)
|
||||
{
|
||||
struct sde_crtc_state *cstate =
|
||||
crtc ? to_sde_crtc_state(crtc->state) : NULL;
|
||||
|
||||
if (!cstate)
|
||||
return NRT_CLIENT;
|
||||
|
||||
return sde_crtc_get_intf_mode(crtc) ==
|
||||
INTF_MODE_WB_LINE ? NRT_CLIENT :
|
||||
(cstate->rsc_client ? RT_RSC_CLIENT : RT_CLIENT);
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_crtc_is_enabled - check if sde crtc is enabled or not
|
||||
* @crtc: Pointer to crtc
|
||||
|
@@ -376,7 +376,8 @@ static void _sde_plane_set_qos_lut(struct drm_plane *plane,
|
||||
|
||||
if (fmt && SDE_FORMAT_IS_LINEAR(fmt))
|
||||
lut_usage = SDE_QOS_LUT_USAGE_LINEAR;
|
||||
else if (psde->features & BIT(SDE_SSPP_SCALER_QSEED3))
|
||||
else if (psde->features & BIT(SDE_SSPP_SCALER_QSEED3) ||
|
||||
psde->features & BIT(SDE_SSPP_SCALER_QSEED3LITE))
|
||||
lut_usage = SDE_QOS_LUT_USAGE_MACROTILE_QSEED;
|
||||
else
|
||||
lut_usage = SDE_QOS_LUT_USAGE_MACROTILE;
|
||||
@@ -3194,7 +3195,8 @@ static int sde_plane_sspp_atomic_update(struct drm_plane *plane,
|
||||
return 0;
|
||||
pstate->pending = true;
|
||||
|
||||
psde->is_rt_pipe = (sde_crtc_get_client_type(crtc) != NRT_CLIENT);
|
||||
psde->is_rt_pipe =
|
||||
(sde_crtc_get_client_type_for_qos(crtc) != NRT_CLIENT);
|
||||
_sde_plane_set_qos_ctrl(plane, false, SDE_PLANE_QOS_PANIC_CTRL);
|
||||
|
||||
_sde_plane_update_properties(plane, crtc, fb);
|
||||
|
Reference in New Issue
Block a user