Lines Matching refs:mask

30 	       enum nvkm_intr_type type, int *leaf, u32 *mask)
39 while (data && data->mask) {
45 if (data->mask & BIT(tdev->intr)) {
47 *mask = BIT(tdev->intr);
55 *mask = data->mask;
67 *mask = BIT(type % 32);
76 nvkm_intr_find(struct nvkm_subdev *subdev, enum nvkm_intr_type type, int *leaf, u32 *mask)
82 ret = nvkm_intr_xlat(subdev, intr, type, leaf, mask);
91 nvkm_intr_allow_locked(struct nvkm_intr *intr, int leaf, u32 mask)
93 intr->mask[leaf] |= mask;
96 intr->func->reset(intr, leaf, mask);
97 intr->func->allow(intr, leaf, mask);
108 u32 mask;
110 intr = nvkm_intr_find(subdev, type, &leaf, &mask);
112 nvkm_debug(intr->subdev, "intr %d/%08x allowed by %s\n", leaf, mask, subdev->name);
114 nvkm_intr_allow_locked(intr, leaf, mask);
120 nvkm_intr_block_locked(struct nvkm_intr *intr, int leaf, u32 mask)
122 intr->mask[leaf] &= ~mask;
124 intr->func->block(intr, leaf, mask);
134 u32 mask;
136 intr = nvkm_intr_find(subdev, type, &leaf, &mask);
138 nvkm_debug(intr->subdev, "intr %d/%08x blocked by %s\n", leaf, mask, subdev->name);
140 nvkm_intr_block_locked(intr, leaf, mask);
199 if (intr->stat[inth->leaf] & inth->mask) {
202 intr->func->reset(intr, inth->leaf, inth->mask);
243 intr->mask = kcalloc(leaves, sizeof(*intr->mask), GFP_KERNEL);
244 if (!intr->stat || !intr->mask) {
251 intr->mask[i] = ~0;
299 for (data = intr->data; data && data->mask; data++) {
303 if (tdev->intr < 0 || !(data->mask & BIT(tdev->intr)))
331 intr->func->allow(intr, i, intr->mask[i]);
373 kfree(intr->mask);
414 if ((intr->mask[inth->leaf] & inth->mask) != inth->mask)
415 nvkm_intr_allow_locked(intr, inth->leaf, inth->mask);
427 if (WARN_ON(inth->mask))
430 ret = nvkm_intr_xlat(subdev, intr, type, &inth->leaf, &inth->mask);
435 inth->leaf, inth->mask, subdev->name);