Merge "disp: msm: sde: fix the QOS setting mismatch"

This commit is contained in:
qctecmdr
2019-07-10 04:50:43 -07:00
committed by Gerrit - the friendly Code Review server
2 fájl változott, egészen pontosan 22 új sor hozzáadva és 2 régi sor törölve

Fájl megtekintése

@@ -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

Fájl megtekintése

@@ -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);