disp: msm: sde: handle cont-splash & check only rm reserve
On the first commit, cont splash flag is still enabled on encoder, but connector is not yet attached. When a check-only rm reservation is made, it does not get released due to cont-splash check. If cont-splash is enabled, rm should not check for connector, but directly release rsvp_nxt. Change-Id: I79be3c1bb20b74ce4a95786c90f3accfb587d7f2 Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Цей коміт міститься в:

зафіксовано
Gerrit - the friendly Code Review server

джерело
e90235e1b3
коміт
ce0fef975e
@@ -1699,6 +1699,8 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
|
||||
{
|
||||
struct sde_rm_rsvp *rsvp;
|
||||
struct drm_connector *conn;
|
||||
struct msm_drm_private *priv;
|
||||
struct sde_kms *sde_kms;
|
||||
uint64_t top_ctrl;
|
||||
|
||||
if (!rm || !enc) {
|
||||
@@ -1706,6 +1708,13 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
|
||||
return;
|
||||
}
|
||||
|
||||
priv = enc->dev->dev_private;
|
||||
if (!priv->kms) {
|
||||
SDE_ERROR("invalid kms\n");
|
||||
return;
|
||||
}
|
||||
sde_kms = to_sde_kms(priv->kms);
|
||||
|
||||
mutex_lock(&rm->rm_lock);
|
||||
|
||||
if (nxt)
|
||||
@@ -1718,6 +1727,11 @@ void sde_rm_release(struct sde_rm *rm, struct drm_encoder *enc, bool nxt)
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (_sde_rm_is_display_in_cont_splash(sde_kms, enc)) {
|
||||
_sde_rm_release_rsvp(rm, rsvp, conn);
|
||||
goto end;
|
||||
}
|
||||
|
||||
conn = _sde_rm_get_connector(enc);
|
||||
if (!conn) {
|
||||
SDE_ERROR("failed to get connector for enc %d, nxt %d",
|
||||
|
Посилання в новій задачі
Заблокувати користувача