Searched refs:ntfy (Results 1 - 24 of 24) sorted by relevance

/linux-4.4.14/drivers/gpu/drm/nouveau/
H A Dnouveau_usif.c57 struct usif_notify *ntfy; usif_notify_find() local
58 list_for_each_entry(ntfy, &cli->notifys, head) { usif_notify_find()
59 if (ntfy->handle == handle) usif_notify_find()
60 return ntfy; usif_notify_find()
66 usif_notify_dtor(struct usif_notify *ntfy) usif_notify_dtor() argument
68 list_del(&ntfy->head); usif_notify_dtor()
69 kfree(ntfy); usif_notify_dtor()
75 struct usif_notify *ntfy = NULL; usif_notify() local
84 if (WARN_ON(!(ntfy = (void *)(unsigned long)rep->v0.token))) usif_notify()
91 if (WARN_ON(!ntfy->p || ntfy->reply != (length + size))) usif_notify()
93 filp = ntfy->p->base.file_priv; usif_notify()
96 memcpy(&ntfy->p->e.data[0], header, length); usif_notify()
97 memcpy(&ntfy->p->e.data[length], data, size); usif_notify()
100 struct nvif_notify_rep_v0 *rep = (void *)ntfy->p->e.data; usif_notify()
101 rep->route = ntfy->route; usif_notify()
102 rep->token = ntfy->token; usif_notify()
111 if (!WARN_ON(filp->event_space < ntfy->p->e.base.length)) { usif_notify()
112 list_add_tail(&ntfy->p->base.link, &filp->event_list); usif_notify()
113 filp->event_space -= ntfy->p->e.base.length; usif_notify()
117 atomic_set(&ntfy->enabled, 0); usif_notify()
132 struct usif_notify *ntfy; usif_notify_new() local
142 if (!(ntfy = kmalloc(sizeof(*ntfy), GFP_KERNEL))) usif_notify_new()
144 atomic_set(&ntfy->enabled, 0); usif_notify_new()
147 ntfy->reply = sizeof(struct nvif_notify_rep_v0) + req->v0.reply; usif_notify_new()
148 ntfy->route = req->v0.route; usif_notify_new()
149 ntfy->token = req->v0.token; usif_notify_new()
151 req->v0.token = (unsigned long)(void *)ntfy; usif_notify_new()
153 req->v0.token = ntfy->token; usif_notify_new()
154 req->v0.route = ntfy->route; usif_notify_new()
155 ntfy->handle = args->v0.index; usif_notify_new()
159 list_add(&ntfy->head, &cli->notifys); usif_notify_new()
161 kfree(ntfy); usif_notify_new()
173 struct usif_notify *ntfy; usif_notify_del() local
177 if (!(ntfy = usif_notify_find(f, args->v0.index))) usif_notify_del()
184 usif_notify_dtor(ntfy); usif_notify_del()
196 struct usif_notify *ntfy; usif_notify_get() local
200 if (!(ntfy = usif_notify_find(f, args->v0.index))) usif_notify_get()
205 if (atomic_xchg(&ntfy->enabled, 1)) usif_notify_get()
208 ntfy->p = kmalloc(sizeof(*ntfy->p) + ntfy->reply, GFP_KERNEL); usif_notify_get()
209 if (ret = -ENOMEM, !ntfy->p) usif_notify_get()
211 ntfy->p->base.event = &ntfy->p->e.base; usif_notify_get()
212 ntfy->p->base.file_priv = f; usif_notify_get()
213 ntfy->p->base.pid = current->pid; usif_notify_get()
214 ntfy->p->base.destroy =(void(*)(struct drm_pending_event *))kfree; usif_notify_get()
215 ntfy->p->e.base.type = DRM_NOUVEAU_EVENT_NVIF; usif_notify_get()
216 ntfy->p->e.base.length = sizeof(ntfy->p->e.base) + ntfy->reply; usif_notify_get()
221 atomic_set(&ntfy->enabled, 0); usif_notify_get()
222 kfree(ntfy->p); usif_notify_get()
235 struct usif_notify *ntfy; usif_notify_put() local
239 if (!(ntfy = usif_notify_find(f, args->v0.index))) usif_notify_put()
245 if (ret == 0 && atomic_xchg(&ntfy->enabled, 0)) usif_notify_put()
246 kfree(ntfy->p); usif_notify_put()
252 struct list_head ntfy; member in struct:usif_object
H A Dnouveau_abi16.c109 struct nouveau_abi16_ntfy *ntfy) nouveau_abi16_ntfy_fini()
111 nvif_object_fini(&ntfy->object); nouveau_abi16_ntfy_fini()
112 nvkm_mm_free(&chan->heap, &ntfy->node); nouveau_abi16_ntfy_fini()
113 list_del(&ntfy->head); nouveau_abi16_ntfy_fini()
114 kfree(ntfy); nouveau_abi16_ntfy_fini()
121 struct nouveau_abi16_ntfy *ntfy, *temp; nouveau_abi16_chan_fini() local
125 if (chan->chan && chan->ntfy) nouveau_abi16_chan_fini()
129 list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) { nouveau_abi16_chan_fini()
130 nouveau_abi16_ntfy_fini(chan, ntfy); nouveau_abi16_chan_fini()
133 if (chan->ntfy) { nouveau_abi16_chan_fini()
134 nouveau_bo_vma_del(chan->ntfy, &chan->ntfy_vma); nouveau_abi16_chan_fini()
135 nouveau_bo_unpin(chan->ntfy); nouveau_abi16_chan_fini()
136 drm_gem_object_unreference_unlocked(&chan->ntfy->gem); nouveau_abi16_chan_fini()
312 0, 0, &chan->ntfy); nouveau_abi16_ioctl_channel_alloc()
314 ret = nouveau_bo_pin(chan->ntfy, TTM_PL_FLAG_TT, false); nouveau_abi16_ioctl_channel_alloc()
319 ret = nouveau_bo_vma_add(chan->ntfy, cli->vm, nouveau_abi16_ioctl_channel_alloc()
325 ret = drm_gem_handle_create(file_priv, &chan->ntfy->gem, nouveau_abi16_ioctl_channel_alloc()
411 struct nouveau_abi16_ntfy *ntfy; nouveau_abi16_ioctl_grobj_alloc() local
481 ntfy = kzalloc(sizeof(*ntfy), GFP_KERNEL); nouveau_abi16_ioctl_grobj_alloc()
482 if (!ntfy) nouveau_abi16_ioctl_grobj_alloc()
485 list_add(&ntfy->head, &chan->notifiers); nouveau_abi16_ioctl_grobj_alloc()
489 NULL, 0, &ntfy->object); nouveau_abi16_ioctl_grobj_alloc()
493 nouveau_abi16_ntfy_fini(chan, ntfy); nouveau_abi16_ioctl_grobj_alloc()
504 struct nouveau_abi16_ntfy *ntfy; nouveau_abi16_ioctl_notifierobj_alloc() local
522 ntfy = kzalloc(sizeof(*ntfy), GFP_KERNEL); nouveau_abi16_ioctl_notifierobj_alloc()
523 if (!ntfy) nouveau_abi16_ioctl_notifierobj_alloc()
526 list_add(&ntfy->head, &chan->notifiers); nouveau_abi16_ioctl_notifierobj_alloc()
529 &ntfy->node); nouveau_abi16_ioctl_notifierobj_alloc()
533 args.start = ntfy->node->offset; nouveau_abi16_ioctl_notifierobj_alloc()
534 args.limit = ntfy->node->offset + ntfy->node->length - 1; nouveau_abi16_ioctl_notifierobj_alloc()
544 args.start += drm->agp.base + chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
545 args.limit += drm->agp.base + chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
549 args.start += chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
550 args.limit += chan->ntfy->bo.offset; nouveau_abi16_ioctl_notifierobj_alloc()
557 &ntfy->object); nouveau_abi16_ioctl_notifierobj_alloc()
563 info->offset = ntfy->node->offset; nouveau_abi16_ioctl_notifierobj_alloc()
566 nouveau_abi16_ntfy_fini(chan, ntfy); nouveau_abi16_ioctl_notifierobj_alloc()
576 struct nouveau_abi16_ntfy *ntfy; nouveau_abi16_ioctl_gpuobj_free() local
589 list_for_each_entry(ntfy, &chan->notifiers, head) { nouveau_abi16_ioctl_gpuobj_free()
590 if (ntfy->object.handle == fini->handle) { nouveau_abi16_ioctl_gpuobj_free()
591 nouveau_abi16_ntfy_fini(chan, ntfy); nouveau_abi16_ioctl_gpuobj_free()
108 nouveau_abi16_ntfy_fini(struct nouveau_abi16_chan *chan, struct nouveau_abi16_ntfy *ntfy) nouveau_abi16_ntfy_fini() argument
H A Dnouveau_abi16.h25 struct nouveau_bo *ntfy; member in struct:nouveau_abi16_chan
H A Dnouveau_nvif.c119 client->ntfy = nvkm_client_ntfy; nvkm_client_driver_init()
H A Dnouveau_drm.h151 struct nvif_object ntfy; member in struct:nouveau_drm
H A Dnouveau_drm.c142 nvif_object_fini(&drm->ntfy); nouveau_accel_fini()
292 &drm->ntfy); nouveau_accel_init()
H A Dnouveau_bo.c879 OUT_RING (chan, chan->drm->ntfy.handle); nv50_bo_move_init()
968 OUT_RING (chan, chan->drm->ntfy.handle); nv04_bo_move_init()
/linux-4.4.14/drivers/gpu/drm/nouveau/nvif/
H A Dnotify.c38 struct nvif_ioctl_ntfy_put_v0 ntfy; nvif_notify_put_() member in struct:__anon4399
41 .ntfy.index = notify->index, nvif_notify_put_()
69 struct nvif_ioctl_ntfy_get_v0 ntfy; nvif_notify_get_() member in struct:__anon4400
72 .ntfy.index = notify->index, nvif_notify_get_()
150 struct nvif_ioctl_ntfy_del_v0 ntfy; nvif_notify_fini() member in struct:__anon4402
153 .ntfy.index = notify->index, nvif_notify_fini()
173 struct nvif_ioctl_ntfy_new_v0 ntfy; nvif_notify_init() member in struct:__anon4403
196 args->ntfy.version = 0; nvif_notify_init()
197 args->ntfy.event = event; nvif_notify_init()
205 notify->index = args->ntfy.index; nvif_notify_init()
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
H A Dchan.h10 int (*ntfy)(struct nvkm_fifo_chan *, u32 type, struct nvkm_event **); member in struct:nvkm_fifo_chan_func
H A Dchan.c250 if (chan->func->ntfy) nvkm_fifo_chan_ntfy()
251 return chan->func->ntfy(chan, type, pevent); nvkm_fifo_chan_ntfy()
340 .ntfy = nvkm_fifo_chan_ntfy,
H A Dchang84.c222 .ntfy = g84_fifo_chan_ntfy,
H A Dgpfifogf100.c183 .ntfy = g84_fifo_chan_ntfy,
H A Dgpfifogk104.c196 .ntfy = g84_fifo_chan_ntfy,
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/core/
H A Dioctl.c291 nvif_ioctl(object, "ntfy new size %d\n", size); nvkm_ioctl_ntfy_new()
293 nvif_ioctl(object, "ntfy new vers %d event %02x\n", nvkm_ioctl_ntfy_new()
317 nvif_ioctl(object, "ntfy del size %d\n", size); nvkm_ioctl_ntfy_del()
319 nvif_ioctl(object, "ntfy del vers %d index %d\n", nvkm_ioctl_ntfy_del()
336 nvif_ioctl(object, "ntfy get size %d\n", size); nvkm_ioctl_ntfy_get()
338 nvif_ioctl(object, "ntfy get vers %d index %d\n", nvkm_ioctl_ntfy_get()
355 nvif_ioctl(object, "ntfy put size %d\n", size); nvkm_ioctl_ntfy_put()
357 nvif_ioctl(object, "ntfy put vers %d index %d\n", nvkm_ioctl_ntfy_put()
H A Dobject.c40 if (likely(object->func->ntfy)) nvkm_object_ntfy()
41 return object->func->ntfy(object, mthd, pevent); nvkm_object_ntfy()
H A Doproxy.c172 .ntfy = nvkm_oproxy_ntfy,
H A Dclient.c48 return client->ntfy(&notify->rep, notify->size, n->data, n->size); nvkm_client_notify()
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/core/
H A Dclient.h17 int (*ntfy)(const void *, u32, const void *, u32); member in struct:nvkm_client
H A Dobject.h29 int (*ntfy)(struct nvkm_object *, u32 mthd, struct nvkm_event **); member in struct:nvkm_object_func
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/sw/
H A Dnvsw.c56 .ntfy = nvkm_nvsw_ntfy_,
/linux-4.4.14/drivers/scsi/qla2xxx/
H A Dqla_target.c118 struct imm_ntfy_from_isp *ntfy,
1110 struct imm_ntfy_from_isp *ntfy, qlt_send_notify_ack()
1139 nack->ox_id = ntfy->ox_id; qlt_send_notify_ack()
1141 nack->u.isp24.nport_handle = ntfy->u.isp24.nport_handle; qlt_send_notify_ack()
1142 if (le16_to_cpu(ntfy->u.isp24.status) == IMM_NTFY_ELS) { qlt_send_notify_ack()
1143 nack->u.isp24.flags = ntfy->u.isp24.flags & qlt_send_notify_ack()
1146 nack->u.isp24.srr_rx_id = ntfy->u.isp24.srr_rx_id; qlt_send_notify_ack()
1147 nack->u.isp24.status = ntfy->u.isp24.status; qlt_send_notify_ack()
1148 nack->u.isp24.status_subcode = ntfy->u.isp24.status_subcode; qlt_send_notify_ack()
1149 nack->u.isp24.fw_handle = ntfy->u.isp24.fw_handle; qlt_send_notify_ack()
1150 nack->u.isp24.exchange_address = ntfy->u.isp24.exchange_address; qlt_send_notify_ack()
1151 nack->u.isp24.srr_rel_offs = ntfy->u.isp24.srr_rel_offs; qlt_send_notify_ack()
1152 nack->u.isp24.srr_ui = ntfy->u.isp24.srr_ui; qlt_send_notify_ack()
1156 nack->u.isp24.vp_index = ntfy->u.isp24.vp_index; qlt_send_notify_ack()
2848 struct imm_ntfy_from_isp *ntfy) __qlt_send_term_imm_notif()
2871 nack->ox_id = ntfy->ox_id; __qlt_send_term_imm_notif()
2873 nack->u.isp24.nport_handle = ntfy->u.isp24.nport_handle; __qlt_send_term_imm_notif()
2874 if (le16_to_cpu(ntfy->u.isp24.status) == IMM_NTFY_ELS) { __qlt_send_term_imm_notif()
2875 nack->u.isp24.flags = ntfy->u.isp24.flags & __qlt_send_term_imm_notif()
2883 nack->u.isp24.srr_rx_id = ntfy->u.isp24.srr_rx_id; __qlt_send_term_imm_notif()
2884 nack->u.isp24.status = ntfy->u.isp24.status; __qlt_send_term_imm_notif()
2885 nack->u.isp24.status_subcode = ntfy->u.isp24.status_subcode; __qlt_send_term_imm_notif()
2886 nack->u.isp24.fw_handle = ntfy->u.isp24.fw_handle; __qlt_send_term_imm_notif()
2887 nack->u.isp24.exchange_address = ntfy->u.isp24.exchange_address; __qlt_send_term_imm_notif()
2888 nack->u.isp24.srr_rel_offs = ntfy->u.isp24.srr_rel_offs; __qlt_send_term_imm_notif()
2889 nack->u.isp24.srr_ui = ntfy->u.isp24.srr_ui; __qlt_send_term_imm_notif()
2890 nack->u.isp24.vp_index = ntfy->u.isp24.vp_index; __qlt_send_term_imm_notif()
4440 struct imm_ntfy_from_isp *ntfy = qlt_handle_srr() local
4450 offset = le32_to_cpu(ntfy->u.isp24.srr_rel_offs); qlt_handle_srr()
4451 srr_ui = ntfy->u.isp24.srr_ui; qlt_handle_srr()
4459 qlt_send_notify_ack(vha, ntfy, qlt_handle_srr()
4485 qlt_send_notify_ack(vha, ntfy, qlt_handle_srr()
4517 qlt_send_notify_ack(vha, ntfy, qlt_handle_srr()
4548 qlt_send_notify_ack(vha, ntfy, 0, 0, 0, qlt_handle_srr()
1109 qlt_send_notify_ack(struct scsi_qla_host *vha, struct imm_ntfy_from_isp *ntfy, uint32_t add_flags, uint16_t resp_code, int resp_code_valid, uint16_t srr_flags, uint16_t srr_reject_code, uint8_t srr_explan) qlt_send_notify_ack() argument
2847 __qlt_send_term_imm_notif(struct scsi_qla_host *vha, struct imm_ntfy_from_isp *ntfy) __qlt_send_term_imm_notif() argument
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/engine/disp/
H A Drootnv04.c115 .ntfy = nvkm_disp_ntfy,
H A Dchannv50.c258 .ntfy = nv50_disp_chan_ntfy,
H A Drootnv50.c266 .ntfy = nvkm_disp_ntfy,

Completed in 371 milliseconds