Skip to content

Commit 2523c38

Browse files
hoshinolinajannau
authored andcommitted
drm/asahi: workqueue: Tweak some debug logs
Silence some logs that are possible and harmless in rare cases, add more debug to another log that is questionable. Signed-off-by: Asahi Lina <lina@asahilina.net>
1 parent 0a55ce7 commit 2523c38

1 file changed

Lines changed: 25 additions & 4 deletions

File tree

drivers/gpu/drm/asahi/workqueue.rs

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,16 @@ impl Job::ver {
370370
} else if let Some(work) = inner.pending.first() {
371371
Some(work.get_fence())
372372
} else {
373-
pr_err!("WorkQueue: Cannot submit, but queue is empty?\n");
373+
pr_err!(
374+
"WorkQueue: Cannot submit, but queue is empty? {} > {}, {} > {} (pend={} ls={:#x?} lc={:#x?})\n",
375+
inner.free_slots(),
376+
self.event_count,
377+
inner.free_space(),
378+
self.pending.len(),
379+
inner.pending.len(),
380+
inner.last_submitted,
381+
inner.last_completed,
382+
);
374383
None
375384
}
376385
}
@@ -751,7 +760,11 @@ impl WorkQueue for WorkQueue::ver {
751760
let event = inner.event.as_ref();
752761
let value = match event {
753762
None => {
754-
pr_err!("WorkQueue: signal() called but no event?\n");
763+
mod_pr_debug!("WorkQueue: signal() called but no event?\n");
764+
765+
if inner.pending_jobs > 0 || !inner.pending.is_empty() {
766+
pr_crit!("WorkQueue: signal() called with no event and pending jobs.\n");
767+
}
755768
return true;
756769
}
757770
Some(event) => event.0.current(),
@@ -848,7 +861,11 @@ impl WorkQueue for WorkQueue::ver {
848861
let mut inner = self.inner.lock();
849862

850863
if inner.event.is_none() {
851-
pr_err!("WorkQueue: signal_fault() called but no event?\n");
864+
mod_pr_debug!("WorkQueue: signal_fault() called but no event?\n");
865+
866+
if inner.pending_jobs > 0 || !inner.pending.is_empty() {
867+
pr_crit!("WorkQueue: signal_fault() called with no event and pending jobs.\n");
868+
}
852869
return;
853870
}
854871

@@ -877,7 +894,11 @@ impl WorkQueue for WorkQueue::ver {
877894
let mut inner = self.inner.lock();
878895

879896
if inner.event.is_none() {
880-
pr_err!("WorkQueue: fail_all() called but no event?\n");
897+
mod_pr_debug!("WorkQueue: fail_all() called but no event?\n");
898+
899+
if inner.pending_jobs > 0 || !inner.pending.is_empty() {
900+
pr_crit!("WorkQueue: fail_all() called with no event and pending jobs.\n");
901+
}
881902
return;
882903
}
883904

0 commit comments

Comments
 (0)