Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8406b61 authored by Rob Clark's avatar Rob Clark
Browse files

drm/msm/mdp5: dump smp state on errors too



If the dumpstate modparam is enabled, for debugging error irq's, also
dump SMP state.

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent bc5289ee
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ static void mdp5_irq_error_handler(struct mdp_irq *irq, uint32_t irqstatus)
	if (dumpstate && __ratelimit(&rs)) {
		struct drm_printer p = drm_info_printer(mdp5_kms->dev->dev);
		drm_state_dump(mdp5_kms->dev, &p);
		if (mdp5_kms->smp)
			mdp5_smp_dump(mdp5_kms->smp, &p);
	}
}

+4 −2
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p)
	drm_printf(p, "name\tinuse\tplane\n");
	drm_printf(p, "----\t-----\t-----\n");

	if (drm_can_sleep())
		drm_modeset_lock(&mdp5_kms->state_lock, NULL);

	/* grab these *after* we hold the state_lock */
@@ -329,6 +330,7 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p)
	drm_printf(p, "AVAIL:\t%d\n", smp->blk_cnt -
			bitmap_weight(state->state, smp->blk_cnt));

	if (drm_can_sleep())
		drm_modeset_unlock(&mdp5_kms->state_lock);
}