From: Ben Skeggs Date: Mon, 30 May 2016 00:36:02 +0000 (+1000) Subject: drm/nouveau/top: add function to lookup interrupt mask for a given device X-Git-Tag: v5.15~13124^2~22^2~95 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3560e1703f4f7605da203561bad0e231706b93bd;p=platform%2Fkernel%2Flinux-starfive.git drm/nouveau/top: add function to lookup interrupt mask for a given device Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h index 5f75a66..71ebbfd 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/top.h @@ -10,6 +10,7 @@ struct nvkm_top { u32 nvkm_top_reset(struct nvkm_device *, enum nvkm_devidx); u32 nvkm_top_intr(struct nvkm_device *, u32 intr, u64 *subdevs); +u32 nvkm_top_intr_mask(struct nvkm_device *, enum nvkm_devidx); enum nvkm_devidx nvkm_top_fault(struct nvkm_device *, int fault); enum nvkm_devidx nvkm_top_engine(struct nvkm_device *, int, int *runl, int *engn); diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c index 19fbcfd..fe063d5 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/top/base.c @@ -57,6 +57,22 @@ nvkm_top_reset(struct nvkm_device *device, enum nvkm_devidx index) } u32 +nvkm_top_intr_mask(struct nvkm_device *device, enum nvkm_devidx devidx) +{ + struct nvkm_top *top = device->top; + struct nvkm_top_device *info; + + if (top) { + list_for_each_entry(info, &top->device, head) { + if (info->index == devidx && info->intr >= 0) + return BIT(info->intr); + } + } + + return 0; +} + +u32 nvkm_top_intr(struct nvkm_device *device, u32 intr, u64 *psubdevs) { struct nvkm_top *top = device->top;