Lines Matching refs:fp
98 static int qib_get_base_info(struct file *fp, void __user *ubase, in qib_get_base_info() argument
101 struct qib_ctxtdata *rcd = ctxt_fp(fp); in qib_get_base_info()
117 master = !subctxt_fp(fp); in qib_get_base_info()
206 unsigned slave = subctxt_fp(fp) - 1; in qib_get_base_info()
215 cvt_kvaddr(&rcd->user_event_mask[subctxt_fp(fp)]); in qib_get_base_info()
243 kinfo->spi_subctxt = subctxt_fp(fp); in qib_get_base_info()
284 static int qib_tid_update(struct qib_ctxtdata *rcd, struct file *fp, in qib_tid_update() argument
296 unsigned subctxt = subctxt_fp(fp); in qib_tid_update()
318 tid = tidcursor_fp(fp); in qib_tid_update()
323 tid = tidcursor_fp(fp); in qib_tid_update()
456 tidcursor_fp(fp) = tid; in qib_tid_update()
996 static int qib_mmapf(struct file *fp, struct vm_area_struct *vma) in qib_mmapf() argument
1004 rcd = ctxt_fp(fp); in qib_mmapf()
1036 ret = mmap_kvaddr(vma, pgaddr, rcd, subctxt_fp(fp)); in qib_mmapf()
1048 } else if (!subctxt_fp(fp)) { in qib_mmapf()
1055 unsigned slave = subctxt_fp(fp) - 1; in qib_mmapf()
1103 struct file *fp, in qib_poll_urgent() argument
1109 poll_wait(fp, &rcd->wait, pt); in qib_poll_urgent()
1125 struct file *fp, in qib_poll_next() argument
1131 poll_wait(fp, &rcd->wait, pt); in qib_poll_next()
1145 static unsigned int qib_poll(struct file *fp, struct poll_table_struct *pt) in qib_poll() argument
1150 rcd = ctxt_fp(fp); in qib_poll()
1154 pollflag = qib_poll_urgent(rcd, fp, pt); in qib_poll()
1156 pollflag = qib_poll_next(rcd, fp, pt); in qib_poll()
1163 static void assign_ctxt_affinity(struct file *fp, struct qib_devdata *dd) in assign_ctxt_affinity() argument
1165 struct qib_filedata *fd = fp->private_data; in assign_ctxt_affinity()
1306 struct file *fp, const struct qib_user_info *uinfo) in setup_ctxt() argument
1308 struct qib_filedata *fd = fp->private_data; in setup_ctxt()
1315 assign_ctxt_affinity(fp, dd); in setup_ctxt()
1346 ctxt_fp(fp) = rcd; in setup_ctxt()
1375 static int choose_port_ctxt(struct file *fp, struct qib_devdata *dd, u32 port, in choose_port_ctxt() argument
1407 ret = ppd ? setup_ctxt(ppd, ctxt, fp, uinfo) : -ENETDOWN; in choose_port_ctxt()
1412 static int find_free_ctxt(int unit, struct file *fp, in find_free_ctxt() argument
1421 ret = choose_port_ctxt(fp, dd, uinfo->spu_port, uinfo); in find_free_ctxt()
1426 static int get_a_ctxt(struct file *fp, const struct qib_user_info *uinfo, in get_a_ctxt() argument
1474 ret = choose_port_ctxt(fp, udd, port, uinfo); in get_a_ctxt()
1482 ret = choose_port_ctxt(fp, dd, port, uinfo); in get_a_ctxt()
1496 static int find_shared_ctxt(struct file *fp, in find_shared_ctxt() argument
1526 ctxt_fp(fp) = rcd; in find_shared_ctxt()
1527 subctxt_fp(fp) = rcd->cnt++; in find_shared_ctxt()
1528 rcd->subpid[subctxt_fp(fp)] = current->pid; in find_shared_ctxt()
1529 tidcursor_fp(fp) = 0; in find_shared_ctxt()
1530 rcd->active_slaves |= 1 << subctxt_fp(fp); in find_shared_ctxt()
1540 static int qib_open(struct inode *in, struct file *fp) in qib_open() argument
1543 fp->private_data = kzalloc(sizeof(struct qib_filedata), GFP_KERNEL); in qib_open()
1544 if (fp->private_data) /* no cpu affinity by default */ in qib_open()
1545 ((struct qib_filedata *)fp->private_data)->rec_cpu_num = -1; in qib_open()
1546 return fp->private_data ? 0 : -ENOMEM; in qib_open()
1583 static int do_qib_user_sdma_queue_create(struct file *fp) in do_qib_user_sdma_queue_create() argument
1585 struct qib_filedata *fd = fp->private_data; in do_qib_user_sdma_queue_create()
1605 static int qib_assign_ctxt(struct file *fp, const struct qib_user_info *uinfo) in qib_assign_ctxt() argument
1612 if (ctxt_fp(fp)) { in qib_assign_ctxt()
1633 ret = find_shared_ctxt(fp, uinfo); in qib_assign_ctxt()
1635 ret = do_qib_user_sdma_queue_create(fp); in qib_assign_ctxt()
1637 assign_ctxt_affinity(fp, (ctxt_fp(fp))->dd); in qib_assign_ctxt()
1642 i_minor = iminor(file_inode(fp)) - QIB_USER_MINOR_BASE; in qib_assign_ctxt()
1644 ret = find_free_ctxt(i_minor - 1, fp, uinfo); in qib_assign_ctxt()
1653 if (!find_free_ctxt(unit, fp, uinfo)) { in qib_assign_ctxt()
1657 ret = get_a_ctxt(fp, uinfo, alg); in qib_assign_ctxt()
1662 ret = do_qib_user_sdma_queue_create(fp); in qib_assign_ctxt()
1671 static int qib_do_user_init(struct file *fp, in qib_do_user_init() argument
1675 struct qib_ctxtdata *rcd = ctxt_fp(fp); in qib_do_user_init()
1680 if (subctxt_fp(fp)) { in qib_do_user_init()
1812 static int qib_close(struct inode *in, struct file *fp) in qib_close() argument
1824 fd = fp->private_data; in qib_close()
1825 fp->private_data = NULL; in qib_close()
1903 static int qib_ctxt_info(struct file *fp, struct qib_ctxt_info __user *uinfo) in qib_ctxt_info() argument
1908 struct qib_ctxtdata *rcd = ctxt_fp(fp); in qib_ctxt_info()
1911 fd = fp->private_data; in qib_ctxt_info()
1917 info.subctxt = subctxt_fp(fp); in qib_ctxt_info()
2058 static ssize_t qib_write(struct file *fp, const char __user *data, in qib_write() argument
2069 if (WARN_ON_ONCE(!ib_safe_file_access(fp))) in qib_write()
2173 rcd = ctxt_fp(fp); in qib_write()
2186 ret = qib_assign_ctxt(fp, &cmd.cmd.user_info); in qib_write()
2192 ret = qib_do_user_init(fp, &cmd.cmd.user_info); in qib_write()
2195 ret = qib_get_base_info(fp, (void __user *) (unsigned long) in qib_write()
2201 ret = qib_manage_rcvq(rcd, subctxt_fp(fp), cmd.cmd.recv_ctrl); in qib_write()
2205 ret = qib_ctxt_info(fp, (struct qib_ctxt_info __user *) in qib_write()
2210 ret = qib_tid_update(rcd, fp, &cmd.cmd.tid_info); in qib_write()
2214 ret = qib_tid_free(rcd, subctxt_fp(fp), &cmd.cmd.tid_info); in qib_write()
2239 ret = qib_sdma_get_inflight(user_sdma_queue_fp(fp), in qib_write()
2246 user_sdma_queue_fp(fp), in qib_write()
2252 ret = qib_user_event_ack(rcd, subctxt_fp(fp), in qib_write()
2266 struct qib_filedata *fp = iocb->ki_filp->private_data; in qib_write_iter() local
2268 struct qib_user_sdma_queue *pq = fp->pq; in qib_write_iter()