Lines Matching refs:dd
84 int ipath_diag_add(struct ipath_devdata *dd) in ipath_diag_add() argument
95 ipath_dev_err(dd, "Couldn't create ipath_diagpkt " in ipath_diag_add()
101 snprintf(name, sizeof(name), "ipath_diag%d", dd->ipath_unit); in ipath_diag_add()
103 ret = ipath_cdev_init(IPATH_DIAG_MINOR_BASE + dd->ipath_unit, name, in ipath_diag_add()
104 &diag_file_ops, &dd->diag_cdev, in ipath_diag_add()
105 &dd->diag_dev); in ipath_diag_add()
107 ipath_dev_err(dd, "Couldn't create %s device: %d", in ipath_diag_add()
114 void ipath_diag_remove(struct ipath_devdata *dd) in ipath_diag_remove() argument
119 ipath_cdev_cleanup(&dd->diag_cdev, &dd->diag_dev); in ipath_diag_remove()
135 static int ipath_read_umem64(struct ipath_devdata *dd, void __user *uaddr, in ipath_read_umem64() argument
143 if (reg_addr < dd->ipath_kregbase || reg_end > dd->ipath_kregend) { in ipath_read_umem64()
172 static int ipath_write_umem64(struct ipath_devdata *dd, void __iomem *caddr, in ipath_write_umem64() argument
180 if (reg_addr < dd->ipath_kregbase || reg_end > dd->ipath_kregend) { in ipath_write_umem64()
210 static int ipath_read_umem32(struct ipath_devdata *dd, void __user *uaddr, in ipath_read_umem32() argument
217 if (reg_addr < (u32 __iomem *) dd->ipath_kregbase || in ipath_read_umem32()
218 reg_end > (u32 __iomem *) dd->ipath_kregend) { in ipath_read_umem32()
250 static int ipath_write_umem32(struct ipath_devdata *dd, void __iomem *caddr, in ipath_write_umem32() argument
257 if (reg_addr < (u32 __iomem *) dd->ipath_kregbase || in ipath_write_umem32()
258 reg_end > (u32 __iomem *) dd->ipath_kregend) { in ipath_write_umem32()
281 struct ipath_devdata *dd; in ipath_diag_open() local
291 dd = ipath_lookup(unit); in ipath_diag_open()
293 if (dd == NULL || !(dd->ipath_flags & IPATH_PRESENT) || in ipath_diag_open()
294 !dd->ipath_kregbase) { in ipath_diag_open()
299 fp->private_data = dd; in ipath_diag_open()
306 ipath_expose_reset(&dd->pcidev->dev); in ipath_diag_open()
330 struct ipath_devdata *dd; in ipath_diagpkt_write() local
381 dd = ipath_lookup(dp.unit); in ipath_diagpkt_write()
382 if (!dd || !(dd->ipath_flags & IPATH_PRESENT) || in ipath_diagpkt_write()
383 !dd->ipath_kregbase) { in ipath_diagpkt_write()
391 !(dd->ipath_flags & IPATH_LINKACTIVE)) { in ipath_diagpkt_write()
395 ipath_set_linkstate(dd, IPATH_IB_LINKARM); in ipath_diagpkt_write()
396 ipath_set_linkstate(dd, IPATH_IB_LINKACTIVE); in ipath_diagpkt_write()
399 if (!(dd->ipath_flags & IPATH_INITTED)) { in ipath_diagpkt_write()
401 ipath_cdbg(VERBOSE, "unit %u not usable\n", dd->ipath_unit); in ipath_diagpkt_write()
410 val = ipath_ib_state(dd, dd->ipath_lastibcstat); in ipath_diagpkt_write()
411 lt_state = ipath_ib_linktrstate(dd, dd->ipath_lastibcstat); in ipath_diagpkt_write()
412 l_state = ipath_ib_linkstate(dd, dd->ipath_lastibcstat); in ipath_diagpkt_write()
414 (val != dd->ib_init && val != dd->ib_arm && in ipath_diagpkt_write()
415 val != dd->ib_active))) { in ipath_diagpkt_write()
417 dd->ipath_unit, (unsigned long long) val); in ipath_diagpkt_write()
426 if ((plen + 4) > dd->ipath_ibmaxlen) { in ipath_diagpkt_write()
428 plen - 4, dd->ipath_ibmaxlen); in ipath_diagpkt_write()
434 dev_info(&dd->pcidev->dev, "Unable to allocate tmp buffer, " in ipath_diagpkt_write()
449 piobuf = ipath_getpiobuf(dd, plen, &pbufn); in ipath_diagpkt_write()
452 dd->ipath_unit); in ipath_diagpkt_write()
457 ipath_disarm_piobufs(dd, pbufn, 1); in ipath_diagpkt_write()
461 dd->ipath_unit, plen - 1, pbufn); in ipath_diagpkt_write()
471 if (dd->ipath_flags & IPATH_PIO_FLUSH_WC) { in ipath_diagpkt_write()
500 struct ipath_devdata *dd = fp->private_data; in ipath_diag_read() local
504 kreg_base = dd->ipath_kregbase; in ipath_diag_read()
515 ret = ipath_read_umem32(dd, data, kreg_base + *off, count); in ipath_diag_read()
517 ret = ipath_read_umem64(dd, data, kreg_base + *off, count); in ipath_diag_read()
532 struct ipath_devdata *dd = fp->private_data; in ipath_diag_write() local
536 kreg_base = dd->ipath_kregbase; in ipath_diag_write()
548 ret = ipath_write_umem32(dd, kreg_base + *off, data, count); in ipath_diag_write()
550 ret = ipath_write_umem64(dd, kreg_base + *off, data, count); in ipath_diag_write()