Commit e8406b61 authored by Rob Clark's avatar Rob Clark

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
...@@ -41,6 +41,8 @@ static void mdp5_irq_error_handler(struct mdp_irq *irq, uint32_t irqstatus) ...@@ -41,6 +41,8 @@ static void mdp5_irq_error_handler(struct mdp_irq *irq, uint32_t irqstatus)
if (dumpstate && __ratelimit(&rs)) { if (dumpstate && __ratelimit(&rs)) {
struct drm_printer p = drm_info_printer(mdp5_kms->dev->dev); struct drm_printer p = drm_info_printer(mdp5_kms->dev->dev);
drm_state_dump(mdp5_kms->dev, &p); drm_state_dump(mdp5_kms->dev, &p);
if (mdp5_kms->smp)
mdp5_smp_dump(mdp5_kms->smp, &p);
} }
} }
......
...@@ -302,7 +302,8 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p) ...@@ -302,7 +302,8 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p)
drm_printf(p, "name\tinuse\tplane\n"); drm_printf(p, "name\tinuse\tplane\n");
drm_printf(p, "----\t-----\t-----\n"); drm_printf(p, "----\t-----\t-----\n");
drm_modeset_lock(&mdp5_kms->state_lock, NULL); if (drm_can_sleep())
drm_modeset_lock(&mdp5_kms->state_lock, NULL);
/* grab these *after* we hold the state_lock */ /* grab these *after* we hold the state_lock */
hwpstate = &mdp5_kms->state->hwpipe; hwpstate = &mdp5_kms->state->hwpipe;
...@@ -329,7 +330,8 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p) ...@@ -329,7 +330,8 @@ void mdp5_smp_dump(struct mdp5_smp *smp, struct drm_printer *p)
drm_printf(p, "AVAIL:\t%d\n", smp->blk_cnt - drm_printf(p, "AVAIL:\t%d\n", smp->blk_cnt -
bitmap_weight(state->state, smp->blk_cnt)); bitmap_weight(state->state, smp->blk_cnt));
drm_modeset_unlock(&mdp5_kms->state_lock); if (drm_can_sleep())
drm_modeset_unlock(&mdp5_kms->state_lock);
} }
void mdp5_smp_destroy(struct mdp5_smp *smp) void mdp5_smp_destroy(struct mdp5_smp *smp)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment