From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
To: Ben Skeggs <bskeggs@redhat.com>
Cc: nouveau@lists.freedesktop.org,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Subject: [PATCH] drm/nouveau/mc: complain loudly if we can't call a interrupt handler
Date: Thu, 17 Jan 2013 14:10:39 +0100 [thread overview]
Message-ID: <50F7F84F.5000504@canonical.com> (raw)
I noticed that bsp, vp and ppp had no interrupt handler after investigating why 15% of my cpu time went to interrupts.
nouveau was silent about it, but it should be an error since we have no way of acking in that case.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
---
fwiw, the interrupt was 10, the exit interrupt after secret scrubber finishes..
I have absolutely no idea why, as it times out on wait before the engine initialization..
Maybe just ack it from the bsp/vp/ppp interrupt handler? Or should it be part of the base fuc class..
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/base.c b/drivers/gpu/drm/nouveau/core/subdev/mc/base.c
index 8379aaf..16bf49c 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/mc/base.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/mc/base.c
@@ -36,8 +36,16 @@ nouveau_mc_intr(struct nouveau_subdev *subdev)
while (stat && map->stat) {
if (stat & map->stat) {
unit = nouveau_subdev(subdev, map->unit);
- if (unit && unit->intr)
- unit->intr(unit);
+ if (unit) {
+ if (unit->intr)
+ unit->intr(unit);
+ else if (printk_ratelimit())
+ nv_error(pmc,
+ "%s has no interrupt handler, ignoring interrupt %x\n",
+ unit->name, intr & map->stat);
+ } else if (printk_ratelimit())
+ nv_error(pmc, "subdev %u does not exist for interrupt %x\n",
+ map->unit, intr & map->stat);
intr &= ~map->stat;
}
map++;
reply other threads:[~2013-01-17 13:10 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50F7F84F.5000504@canonical.com \
--to=maarten.lankhorst@canonical.com \
--cc=bskeggs@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=nouveau@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.