Lines Matching refs:dd

102 void qib_set_ctxtcnt(struct qib_devdata *dd)  in qib_set_ctxtcnt()  argument
105 dd->cfgctxts = dd->first_user_ctxt + num_online_cpus(); in qib_set_ctxtcnt()
106 if (dd->cfgctxts > dd->ctxtcnt) in qib_set_ctxtcnt()
107 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
108 } else if (qib_cfgctxts < dd->num_pports) in qib_set_ctxtcnt()
109 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
110 else if (qib_cfgctxts <= dd->ctxtcnt) in qib_set_ctxtcnt()
111 dd->cfgctxts = qib_cfgctxts; in qib_set_ctxtcnt()
113 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
114 dd->freectxts = (dd->first_user_ctxt > dd->cfgctxts) ? 0 : in qib_set_ctxtcnt()
115 dd->cfgctxts - dd->first_user_ctxt; in qib_set_ctxtcnt()
121 int qib_create_ctxts(struct qib_devdata *dd) in qib_create_ctxts() argument
124 int local_node_id = pcibus_to_node(dd->pcidev->bus); in qib_create_ctxts()
128 dd->assigned_node_id = local_node_id; in qib_create_ctxts()
134 dd->rcd = kcalloc(dd->ctxtcnt, sizeof(*dd->rcd), GFP_KERNEL); in qib_create_ctxts()
135 if (!dd->rcd) in qib_create_ctxts()
139 for (i = 0; i < dd->first_user_ctxt; ++i) { in qib_create_ctxts()
143 if (dd->skip_kctxt_mask & (1 << i)) in qib_create_ctxts()
146 ppd = dd->pport + (i % dd->num_pports); in qib_create_ctxts()
148 rcd = qib_create_ctxtdata(ppd, i, dd->assigned_node_id); in qib_create_ctxts()
150 qib_dev_err(dd, in qib_create_ctxts()
152 kfree(dd->rcd); in qib_create_ctxts()
153 dd->rcd = NULL; in qib_create_ctxts()
168 struct qib_devdata *dd = ppd->dd; in qib_create_ctxtdata() local
176 rcd->dd = dd; in qib_create_ctxtdata()
179 dd->rcd[ctxt] = rcd; in qib_create_ctxtdata()
181 if (ctxt < dd->first_user_ctxt) { /* N/A for PSM contexts */ in qib_create_ctxtdata()
186 qib_dev_err(dd, in qib_create_ctxtdata()
192 dd->f_init_ctxt(rcd); in qib_create_ctxtdata()
207 rcd->rcvegrbuf_size / dd->rcvegrbufsize; in qib_create_ctxtdata()
220 int qib_init_pportdata(struct qib_pportdata *ppd, struct qib_devdata *dd, in qib_init_pportdata() argument
225 ppd->dd = dd; in qib_init_pportdata()
297 qib_dev_err(dd, in qib_init_pportdata()
302 qib_dev_err(dd, "Congestion Control Agent disabled for port %d\n", in qib_init_pportdata()
307 static int init_pioavailregs(struct qib_devdata *dd) in init_pioavailregs() argument
312 dd->pioavailregs_dma = dma_alloc_coherent( in init_pioavailregs()
313 &dd->pcidev->dev, PAGE_SIZE, &dd->pioavailregs_phys, in init_pioavailregs()
315 if (!dd->pioavailregs_dma) { in init_pioavailregs()
316 qib_dev_err(dd, in init_pioavailregs()
327 ((char *) dd->pioavailregs_dma + in init_pioavailregs()
329 dd->pioavregs * sizeof(u64)) & ~L1_CACHE_BYTES)); in init_pioavailregs()
331 dd->devstatusp = status_page; in init_pioavailregs()
333 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in init_pioavailregs()
334 dd->pport[pidx].statusp = status_page; in init_pioavailregs()
342 dd->freezemsg = (char *) status_page; in init_pioavailregs()
343 *dd->freezemsg = 0; in init_pioavailregs()
345 ret = (char *) status_page - (char *) dd->pioavailregs_dma; in init_pioavailregs()
346 dd->freezelen = PAGE_SIZE - ret; in init_pioavailregs()
365 static void init_shadow_tids(struct qib_devdata *dd) in init_shadow_tids() argument
371 dd->cfgctxts * dd->rcvtidcnt)); in init_shadow_tids()
376 dd->cfgctxts * dd->rcvtidcnt)); in init_shadow_tids()
380 dd->pageshadow = pages; in init_shadow_tids()
381 dd->physshadow = addrs; in init_shadow_tids()
387 dd->pageshadow = NULL; in init_shadow_tids()
394 static int loadtime_init(struct qib_devdata *dd) in loadtime_init() argument
398 if (((dd->revision >> QLOGIC_IB_R_SOFTWARE_SHIFT) & in loadtime_init()
400 qib_dev_err(dd, in loadtime_init()
403 (int)(dd->revision >> in loadtime_init()
406 (unsigned long long) dd->revision); in loadtime_init()
411 if (dd->revision & QLOGIC_IB_R_EMULATOR_MASK) in loadtime_init()
412 qib_devinfo(dd->pcidev, "%s", dd->boardversion); in loadtime_init()
414 spin_lock_init(&dd->pioavail_lock); in loadtime_init()
415 spin_lock_init(&dd->sendctrl_lock); in loadtime_init()
416 spin_lock_init(&dd->uctxt_lock); in loadtime_init()
417 spin_lock_init(&dd->qib_diag_trans_lock); in loadtime_init()
418 spin_lock_init(&dd->eep_st_lock); in loadtime_init()
419 mutex_init(&dd->eep_lock); in loadtime_init()
424 ret = init_pioavailregs(dd); in loadtime_init()
425 init_shadow_tids(dd); in loadtime_init()
427 qib_get_eeprom_info(dd); in loadtime_init()
430 timer_setup(&dd->intrchk_timer, verify_interrupt, 0); in loadtime_init()
443 static int init_after_reset(struct qib_devdata *dd) in init_after_reset() argument
452 for (i = 0; i < dd->num_pports; ++i) { in init_after_reset()
457 dd->f_rcvctrl(dd->pport + i, QIB_RCVCTRL_CTXT_DIS | in init_after_reset()
461 dd->f_sendctrl(dd->pport + i, QIB_SENDCTRL_SEND_DIS | in init_after_reset()
468 static void enable_chip(struct qib_devdata *dd) in enable_chip() argument
476 for (i = 0; i < dd->num_pports; ++i) in enable_chip()
477 dd->f_sendctrl(dd->pport + i, QIB_SENDCTRL_SEND_ENB | in enable_chip()
484 rcvmask |= (dd->flags & QIB_NODMA_RTAIL) ? in enable_chip()
486 for (i = 0; dd->rcd && i < dd->first_user_ctxt; ++i) { in enable_chip()
487 struct qib_ctxtdata *rcd = dd->rcd[i]; in enable_chip()
490 dd->f_rcvctrl(rcd->ppd, rcvmask, i); in enable_chip()
496 struct qib_devdata *dd = from_timer(dd, t, intrchk_timer); in verify_interrupt() local
499 if (!dd) in verify_interrupt()
506 int_counter = qib_int_counter(dd) - dd->z_int_counter; in verify_interrupt()
508 if (!dd->f_intr_fallback(dd)) in verify_interrupt()
509 dev_err(&dd->pcidev->dev, in verify_interrupt()
512 mod_timer(&dd->intrchk_timer, jiffies + HZ/2); in verify_interrupt()
516 static void init_piobuf_state(struct qib_devdata *dd) in init_piobuf_state() argument
529 dd->f_sendctrl(dd->pport, QIB_SENDCTRL_DISARM_ALL); in init_piobuf_state()
530 for (pidx = 0; pidx < dd->num_pports; ++pidx) in init_piobuf_state()
531 dd->f_sendctrl(dd->pport + pidx, QIB_SENDCTRL_FLUSH); in init_piobuf_state()
539 uctxts = dd->cfgctxts - dd->first_user_ctxt; in init_piobuf_state()
540 dd->ctxts_extrabuf = dd->pbufsctxt ? in init_piobuf_state()
541 dd->lastctxt_piobuf - (dd->pbufsctxt * uctxts) : 0; in init_piobuf_state()
552 for (i = 0; i < dd->pioavregs; i++) { in init_piobuf_state()
555 tmp = dd->pioavailregs_dma[i]; in init_piobuf_state()
561 dd->pioavailshadow[i] = le64_to_cpu(tmp); in init_piobuf_state()
563 while (i < ARRAY_SIZE(dd->pioavailshadow)) in init_piobuf_state()
564 dd->pioavailshadow[i++] = 0; /* for debugging sanity */ in init_piobuf_state()
567 qib_chg_pioavailkernel(dd, 0, dd->piobcnt2k + dd->piobcnt4k, in init_piobuf_state()
569 dd->f_initvl15_bufs(dd); in init_piobuf_state()
576 static int qib_create_workqueues(struct qib_devdata *dd) in qib_create_workqueues() argument
581 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_create_workqueues()
582 ppd = dd->pport + pidx; in qib_create_workqueues()
586 dd->unit, pidx); in qib_create_workqueues()
595 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_create_workqueues()
596 ppd = dd->pport + pidx; in qib_create_workqueues()
629 int qib_init(struct qib_devdata *dd, int reinit) in qib_init() argument
639 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
640 ppd = dd->pport + pidx; in qib_init()
649 ret = init_after_reset(dd); in qib_init()
651 ret = loadtime_init(dd); in qib_init()
659 ret = dd->f_late_initreg(dd); in qib_init()
664 for (i = 0; dd->rcd && i < dd->first_user_ctxt; ++i) { in qib_init()
671 rcd = dd->rcd[i]; in qib_init()
675 lastfail = qib_create_rcvhdrq(dd, rcd); in qib_init()
679 qib_dev_err(dd, in qib_init()
683 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
688 ppd = dd->pport + pidx; in qib_init()
696 dd->piosize4k : dd->piosize2k, in qib_init()
697 dd->rcvegrbufsize + in qib_init()
698 (dd->rcvhdrentsize << 2)); in qib_init()
710 lastfail = dd->f_bringup_serdes(ppd); in qib_init()
712 qib_devinfo(dd->pcidev, in qib_init()
730 enable_chip(dd); in qib_init()
732 init_piobuf_state(dd); in qib_init()
737 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
738 ppd = dd->pport + pidx; in qib_init()
747 if (dd->flags & QIB_HAS_SEND_DMA) in qib_init()
754 dd->f_set_intr_state(dd, 1); in qib_init()
760 mod_timer(&dd->intrchk_timer, jiffies + HZ/2); in qib_init()
762 mod_timer(&dd->stats_timer, jiffies + HZ * ACTIVITY_TIMER); in qib_init()
775 int __attribute__((weak)) qib_enable_wc(struct qib_devdata *dd) in qib_enable_wc() argument
780 void __attribute__((weak)) qib_disable_wc(struct qib_devdata *dd) in qib_disable_wc() argument
793 static void qib_stop_timers(struct qib_devdata *dd) in qib_stop_timers() argument
798 if (dd->stats_timer.function) in qib_stop_timers()
799 del_timer_sync(&dd->stats_timer); in qib_stop_timers()
800 if (dd->intrchk_timer.function) in qib_stop_timers()
801 del_timer_sync(&dd->intrchk_timer); in qib_stop_timers()
802 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_stop_timers()
803 ppd = dd->pport + pidx; in qib_stop_timers()
824 static void qib_shutdown_device(struct qib_devdata *dd) in qib_shutdown_device() argument
829 if (dd->flags & QIB_SHUTDOWN) in qib_shutdown_device()
831 dd->flags |= QIB_SHUTDOWN; in qib_shutdown_device()
833 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
834 ppd = dd->pport + pidx; in qib_shutdown_device()
843 dd->flags &= ~QIB_INITTED; in qib_shutdown_device()
846 dd->f_set_intr_state(dd, 0); in qib_shutdown_device()
848 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
849 ppd = dd->pport + pidx; in qib_shutdown_device()
850 dd->f_rcvctrl(ppd, QIB_RCVCTRL_TAILUPD_DIS | in qib_shutdown_device()
858 dd->f_sendctrl(ppd, QIB_SENDCTRL_CLEAR); in qib_shutdown_device()
867 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
868 ppd = dd->pport + pidx; in qib_shutdown_device()
869 dd->f_setextled(ppd, 0); /* make sure LEDs are off */ in qib_shutdown_device()
871 if (dd->flags & QIB_HAS_SEND_DMA) in qib_shutdown_device()
874 dd->f_sendctrl(ppd, QIB_SENDCTRL_AVAIL_DIS | in qib_shutdown_device()
880 dd->f_quiet_serdes(ppd); in qib_shutdown_device()
902 void qib_free_ctxtdata(struct qib_devdata *dd, struct qib_ctxtdata *rcd) in qib_free_ctxtdata() argument
908 dma_free_coherent(&dd->pcidev->dev, rcd->rcvhdrq_size, in qib_free_ctxtdata()
912 dma_free_coherent(&dd->pcidev->dev, PAGE_SIZE, in qib_free_ctxtdata()
925 dma_free_coherent(&dd->pcidev->dev, size, in qib_free_ctxtdata()
960 static void qib_verify_pioperf(struct qib_devdata *dd) in qib_verify_pioperf() argument
967 piobuf = dd->f_getsendbuf(dd->pport, 0ULL, &pbnum); in qib_verify_pioperf()
969 qib_devinfo(dd->pcidev, in qib_verify_pioperf()
993 dd->f_set_armlaunch(dd, 0); in qib_verify_pioperf()
1014 qib_dev_err(dd, in qib_verify_pioperf()
1024 dd->f_sendctrl(dd->pport, QIB_SENDCTRL_DISARM_BUF(pbnum)); in qib_verify_pioperf()
1025 qib_sendbuf_done(dd, pbnum); in qib_verify_pioperf()
1026 dd->f_set_armlaunch(dd, 1); in qib_verify_pioperf()
1029 void qib_free_devdata(struct qib_devdata *dd) in qib_free_devdata() argument
1034 __xa_erase(&qib_dev_table, dd->unit); in qib_free_devdata()
1038 qib_dbg_ibdev_exit(&dd->verbs_dev); in qib_free_devdata()
1040 free_percpu(dd->int_counter); in qib_free_devdata()
1041 rvt_dealloc_device(&dd->verbs_dev.rdi); in qib_free_devdata()
1044 u64 qib_int_counter(struct qib_devdata *dd) in qib_int_counter() argument
1050 int_counter += *per_cpu_ptr(dd->int_counter, cpu); in qib_int_counter()
1057 struct qib_devdata *dd; in qib_sps_ints() local
1061 xa_for_each(&qib_dev_table, index, dd) { in qib_sps_ints()
1062 sps_ints += qib_int_counter(dd); in qib_sps_ints()
1076 struct qib_devdata *dd; in qib_alloc_devdata() local
1081 dd = (struct qib_devdata *)rvt_alloc_device(sizeof(*dd) + extra, in qib_alloc_devdata()
1083 if (!dd) in qib_alloc_devdata()
1086 ret = xa_alloc_irq(&qib_dev_table, &dd->unit, dd, xa_limit_32b, in qib_alloc_devdata()
1093 rvt_set_ibdev_name(&dd->verbs_dev.rdi, "%s%d", "qib", dd->unit); in qib_alloc_devdata()
1095 dd->int_counter = alloc_percpu(u64); in qib_alloc_devdata()
1096 if (!dd->int_counter) { in qib_alloc_devdata()
1111 qib_dbg_ibdev_init(&dd->verbs_dev); in qib_alloc_devdata()
1113 return dd; in qib_alloc_devdata()
1115 if (!list_empty(&dd->list)) in qib_alloc_devdata()
1116 list_del_init(&dd->list); in qib_alloc_devdata()
1117 rvt_dealloc_device(&dd->verbs_dev.rdi); in qib_alloc_devdata()
1126 void qib_disable_after_error(struct qib_devdata *dd) in qib_disable_after_error() argument
1128 if (dd->flags & QIB_INITTED) { in qib_disable_after_error()
1131 dd->flags &= ~QIB_INITTED; in qib_disable_after_error()
1132 if (dd->pport) in qib_disable_after_error()
1133 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_disable_after_error()
1136 ppd = dd->pport + pidx; in qib_disable_after_error()
1137 if (dd->flags & QIB_PRESENT) { in qib_disable_after_error()
1140 dd->f_setextled(ppd, 0); in qib_disable_after_error()
1151 if (dd->devstatusp) in qib_disable_after_error()
1152 *dd->devstatusp |= QIB_STATUS_HWERROR; in qib_disable_after_error()
1191 struct qib_devdata *dd = dev_get_drvdata(device); in qib_notify_dca_device() local
1194 return dd->f_notify_dca(dd, event); in qib_notify_dca_device()
1287 static void cleanup_device_data(struct qib_devdata *dd) in cleanup_device_data() argument
1295 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in cleanup_device_data()
1296 if (dd->pport[pidx].statusp) in cleanup_device_data()
1297 *dd->pport[pidx].statusp &= ~QIB_STATUS_CHIP_PRESENT; in cleanup_device_data()
1299 spin_lock(&dd->pport[pidx].cc_shadow_lock); in cleanup_device_data()
1301 kfree(dd->pport[pidx].congestion_entries); in cleanup_device_data()
1302 dd->pport[pidx].congestion_entries = NULL; in cleanup_device_data()
1303 kfree(dd->pport[pidx].ccti_entries); in cleanup_device_data()
1304 dd->pport[pidx].ccti_entries = NULL; in cleanup_device_data()
1305 kfree(dd->pport[pidx].ccti_entries_shadow); in cleanup_device_data()
1306 dd->pport[pidx].ccti_entries_shadow = NULL; in cleanup_device_data()
1307 kfree(dd->pport[pidx].congestion_entries_shadow); in cleanup_device_data()
1308 dd->pport[pidx].congestion_entries_shadow = NULL; in cleanup_device_data()
1310 spin_unlock(&dd->pport[pidx].cc_shadow_lock); in cleanup_device_data()
1313 qib_disable_wc(dd); in cleanup_device_data()
1315 if (dd->pioavailregs_dma) { in cleanup_device_data()
1316 dma_free_coherent(&dd->pcidev->dev, PAGE_SIZE, in cleanup_device_data()
1317 (void *) dd->pioavailregs_dma, in cleanup_device_data()
1318 dd->pioavailregs_phys); in cleanup_device_data()
1319 dd->pioavailregs_dma = NULL; in cleanup_device_data()
1322 if (dd->pageshadow) { in cleanup_device_data()
1323 struct page **tmpp = dd->pageshadow; in cleanup_device_data()
1324 dma_addr_t *tmpd = dd->physshadow; in cleanup_device_data()
1327 for (ctxt = 0; ctxt < dd->cfgctxts; ctxt++) { in cleanup_device_data()
1328 int ctxt_tidbase = ctxt * dd->rcvtidcnt; in cleanup_device_data()
1329 int maxtid = ctxt_tidbase + dd->rcvtidcnt; in cleanup_device_data()
1334 dma_unmap_page(&dd->pcidev->dev, tmpd[i], in cleanup_device_data()
1341 dd->pageshadow = NULL; in cleanup_device_data()
1343 dd->physshadow = NULL; in cleanup_device_data()
1354 spin_lock_irqsave(&dd->uctxt_lock, flags); in cleanup_device_data()
1355 tmp = dd->rcd; in cleanup_device_data()
1356 dd->rcd = NULL; in cleanup_device_data()
1357 spin_unlock_irqrestore(&dd->uctxt_lock, flags); in cleanup_device_data()
1358 for (ctxt = 0; tmp && ctxt < dd->ctxtcnt; ctxt++) { in cleanup_device_data()
1362 qib_free_ctxtdata(dd, rcd); in cleanup_device_data()
1371 static void qib_postinit_cleanup(struct qib_devdata *dd) in qib_postinit_cleanup() argument
1380 if (dd->f_cleanup) in qib_postinit_cleanup()
1381 dd->f_cleanup(dd); in qib_postinit_cleanup()
1383 qib_pcie_ddcleanup(dd); in qib_postinit_cleanup()
1385 cleanup_device_data(dd); in qib_postinit_cleanup()
1387 qib_free_devdata(dd); in qib_postinit_cleanup()
1393 struct qib_devdata *dd = NULL; in qib_init_one() local
1406 dd = qib_init_iba6120_funcs(pdev, ent); in qib_init_one()
1411 dd = ERR_PTR(-ENODEV); in qib_init_one()
1416 dd = qib_init_iba7220_funcs(pdev, ent); in qib_init_one()
1420 dd = qib_init_iba7322_funcs(pdev, ent); in qib_init_one()
1430 if (IS_ERR(dd)) in qib_init_one()
1431 ret = PTR_ERR(dd); in qib_init_one()
1435 ret = qib_create_workqueues(dd); in qib_init_one()
1440 initfail = qib_init(dd, 0); in qib_init_one()
1442 ret = qib_register_ib_device(dd); in qib_init_one()
1451 dd->flags |= QIB_INITTED; in qib_init_one()
1453 j = qib_device_create(dd); in qib_init_one()
1455 qib_dev_err(dd, "Failed to create /dev devices: %d\n", -j); in qib_init_one()
1456 j = qibfs_add(dd); in qib_init_one()
1458 qib_dev_err(dd, "Failed filesystem setup for counters: %d\n", in qib_init_one()
1462 qib_stop_timers(dd); in qib_init_one()
1464 for (pidx = 0; pidx < dd->num_pports; ++pidx) in qib_init_one()
1465 dd->f_quiet_serdes(dd->pport + pidx); in qib_init_one()
1469 (void) qibfs_remove(dd); in qib_init_one()
1470 qib_device_remove(dd); in qib_init_one()
1473 qib_unregister_ib_device(dd); in qib_init_one()
1474 qib_postinit_cleanup(dd); in qib_init_one()
1480 ret = qib_enable_wc(dd); in qib_init_one()
1482 qib_dev_err(dd, in qib_init_one()
1488 qib_verify_pioperf(dd); in qib_init_one()
1495 struct qib_devdata *dd = pci_get_drvdata(pdev); in qib_remove_one() local
1499 qib_unregister_ib_device(dd); in qib_remove_one()
1506 qib_shutdown_device(dd); in qib_remove_one()
1508 qib_stop_timers(dd); in qib_remove_one()
1513 ret = qibfs_remove(dd); in qib_remove_one()
1515 qib_dev_err(dd, "Failed counters filesystem cleanup: %d\n", in qib_remove_one()
1518 qib_device_remove(dd); in qib_remove_one()
1520 qib_postinit_cleanup(dd); in qib_remove_one()
1525 struct qib_devdata *dd = pci_get_drvdata(pdev); in qib_shutdown_one() local
1527 qib_shutdown_device(dd); in qib_shutdown_one()
1539 int qib_create_rcvhdrq(struct qib_devdata *dd, struct qib_ctxtdata *rcd) in qib_create_rcvhdrq() argument
1547 amt = ALIGN(dd->rcvhdrcnt * dd->rcvhdrentsize * in qib_create_rcvhdrq()
1550 old_node_id = dev_to_node(&dd->pcidev->dev); in qib_create_rcvhdrq()
1551 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_create_rcvhdrq()
1552 rcd->rcvhdrq = dma_alloc_coherent(&dd->pcidev->dev, amt, in qib_create_rcvhdrq()
1554 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_create_rcvhdrq()
1557 qib_dev_err(dd, in qib_create_rcvhdrq()
1563 if (rcd->ctxt >= dd->first_user_ctxt) { in qib_create_rcvhdrq()
1569 if (!(dd->flags & QIB_NODMA_RTAIL)) { in qib_create_rcvhdrq()
1570 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_create_rcvhdrq()
1572 &dd->pcidev->dev, PAGE_SIZE, &phys_hdrqtail, in qib_create_rcvhdrq()
1574 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_create_rcvhdrq()
1590 qib_dev_err(dd, in qib_create_rcvhdrq()
1596 dma_free_coherent(&dd->pcidev->dev, amt, rcd->rcvhdrq, in qib_create_rcvhdrq()
1614 struct qib_devdata *dd = rcd->dd; in qib_setup_eagerbufs() local
1621 egrsize = dd->rcvegrbufsize; in qib_setup_eagerbufs()
1645 old_node_id = dev_to_node(&dd->pcidev->dev); in qib_setup_eagerbufs()
1646 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_setup_eagerbufs()
1648 dma_alloc_coherent(&dd->pcidev->dev, size, in qib_setup_eagerbufs()
1651 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_setup_eagerbufs()
1666 dd->f_put_tid(dd, e + egroff + in qib_setup_eagerbufs()
1669 dd->kregbase + in qib_setup_eagerbufs()
1670 dd->rcvegrbase), in qib_setup_eagerbufs()
1681 dma_free_coherent(&dd->pcidev->dev, size, in qib_setup_eagerbufs()
1698 int init_chip_wc_pat(struct qib_devdata *dd, u32 vl15buflen) in init_chip_wc_pat() argument
1704 u64 qib_pio2koffset = dd->piobufbase & 0xffffffff; in init_chip_wc_pat()
1705 u64 qib_pio4koffset = dd->piobufbase >> 32; in init_chip_wc_pat()
1706 u64 qib_pio2klen = dd->piobcnt2k * dd->palign; in init_chip_wc_pat()
1707 u64 qib_pio4klen = dd->piobcnt4k * dd->align4k; in init_chip_wc_pat()
1708 u64 qib_physaddr = dd->physaddr; in init_chip_wc_pat()
1717 iounmap(dd->kregbase); in init_chip_wc_pat()
1718 dd->kregbase = NULL; in init_chip_wc_pat()
1729 if (dd->piobcnt4k == 0) { in init_chip_wc_pat()
1741 if (dd->uregbase > qib_kreglen) in init_chip_wc_pat()
1742 qib_userlen = dd->ureg_align * dd->cfgctxts; in init_chip_wc_pat()
1754 qib_userbase = ioremap(qib_physaddr + dd->uregbase, in init_chip_wc_pat()
1760 dd->kregbase = qib_kregbase; in init_chip_wc_pat()
1761 dd->kregend = (u64 __iomem *) in init_chip_wc_pat()
1763 dd->piobase = qib_piobase; in init_chip_wc_pat()
1764 dd->pio2kbase = (void __iomem *) in init_chip_wc_pat()
1765 (((char __iomem *) dd->piobase) + in init_chip_wc_pat()
1767 if (dd->piobcnt4k) in init_chip_wc_pat()
1768 dd->pio4kbase = (void __iomem *) in init_chip_wc_pat()
1769 (((char __iomem *) dd->piobase) + in init_chip_wc_pat()
1773 dd->userbase = qib_userbase; in init_chip_wc_pat()