• Home
  • Raw
  • Download

Lines Matching refs:dd

103 void qib_set_ctxtcnt(struct qib_devdata *dd)  in qib_set_ctxtcnt()  argument
106 dd->cfgctxts = dd->first_user_ctxt + num_online_cpus(); in qib_set_ctxtcnt()
107 if (dd->cfgctxts > dd->ctxtcnt) in qib_set_ctxtcnt()
108 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
109 } else if (qib_cfgctxts < dd->num_pports) in qib_set_ctxtcnt()
110 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
111 else if (qib_cfgctxts <= dd->ctxtcnt) in qib_set_ctxtcnt()
112 dd->cfgctxts = qib_cfgctxts; in qib_set_ctxtcnt()
114 dd->cfgctxts = dd->ctxtcnt; in qib_set_ctxtcnt()
115 dd->freectxts = (dd->first_user_ctxt > dd->cfgctxts) ? 0 : in qib_set_ctxtcnt()
116 dd->cfgctxts - dd->first_user_ctxt; in qib_set_ctxtcnt()
122 int qib_create_ctxts(struct qib_devdata *dd) in qib_create_ctxts() argument
125 int local_node_id = pcibus_to_node(dd->pcidev->bus); in qib_create_ctxts()
129 dd->assigned_node_id = local_node_id; in qib_create_ctxts()
135 dd->rcd = kcalloc(dd->ctxtcnt, sizeof(*dd->rcd), GFP_KERNEL); in qib_create_ctxts()
136 if (!dd->rcd) in qib_create_ctxts()
140 for (i = 0; i < dd->first_user_ctxt; ++i) { in qib_create_ctxts()
144 if (dd->skip_kctxt_mask & (1 << i)) in qib_create_ctxts()
147 ppd = dd->pport + (i % dd->num_pports); in qib_create_ctxts()
149 rcd = qib_create_ctxtdata(ppd, i, dd->assigned_node_id); in qib_create_ctxts()
151 qib_dev_err(dd, in qib_create_ctxts()
153 kfree(dd->rcd); in qib_create_ctxts()
154 dd->rcd = NULL; in qib_create_ctxts()
169 struct qib_devdata *dd = ppd->dd; in qib_create_ctxtdata() local
177 rcd->dd = dd; in qib_create_ctxtdata()
180 dd->rcd[ctxt] = rcd; in qib_create_ctxtdata()
182 if (ctxt < dd->first_user_ctxt) { /* N/A for PSM contexts */ in qib_create_ctxtdata()
187 qib_dev_err(dd, in qib_create_ctxtdata()
193 dd->f_init_ctxt(rcd); in qib_create_ctxtdata()
208 rcd->rcvegrbuf_size / dd->rcvegrbufsize; in qib_create_ctxtdata()
222 int qib_init_pportdata(struct qib_pportdata *ppd, struct qib_devdata *dd, in qib_init_pportdata() argument
227 ppd->dd = dd; in qib_init_pportdata()
300 qib_dev_err(dd, in qib_init_pportdata()
305 qib_dev_err(dd, "Congestion Control Agent disabled for port %d\n", in qib_init_pportdata()
310 static int init_pioavailregs(struct qib_devdata *dd) in init_pioavailregs() argument
315 dd->pioavailregs_dma = dma_alloc_coherent( in init_pioavailregs()
316 &dd->pcidev->dev, PAGE_SIZE, &dd->pioavailregs_phys, in init_pioavailregs()
318 if (!dd->pioavailregs_dma) { in init_pioavailregs()
319 qib_dev_err(dd, in init_pioavailregs()
330 ((char *) dd->pioavailregs_dma + in init_pioavailregs()
332 dd->pioavregs * sizeof(u64)) & ~L1_CACHE_BYTES)); in init_pioavailregs()
334 dd->devstatusp = status_page; in init_pioavailregs()
336 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in init_pioavailregs()
337 dd->pport[pidx].statusp = status_page; in init_pioavailregs()
345 dd->freezemsg = (char *) status_page; in init_pioavailregs()
346 *dd->freezemsg = 0; in init_pioavailregs()
348 ret = (char *) status_page - (char *) dd->pioavailregs_dma; in init_pioavailregs()
349 dd->freezelen = PAGE_SIZE - ret; in init_pioavailregs()
368 static void init_shadow_tids(struct qib_devdata *dd) in init_shadow_tids() argument
373 pages = vzalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(struct page *)); in init_shadow_tids()
377 addrs = vzalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(dma_addr_t)); in init_shadow_tids()
381 dd->pageshadow = pages; in init_shadow_tids()
382 dd->physshadow = addrs; in init_shadow_tids()
388 dd->pageshadow = NULL; in init_shadow_tids()
395 static int loadtime_init(struct qib_devdata *dd) in loadtime_init() argument
399 if (((dd->revision >> QLOGIC_IB_R_SOFTWARE_SHIFT) & in loadtime_init()
401 qib_dev_err(dd, in loadtime_init()
404 (int)(dd->revision >> in loadtime_init()
407 (unsigned long long) dd->revision); in loadtime_init()
412 if (dd->revision & QLOGIC_IB_R_EMULATOR_MASK) in loadtime_init()
413 qib_devinfo(dd->pcidev, "%s", dd->boardversion); in loadtime_init()
415 spin_lock_init(&dd->pioavail_lock); in loadtime_init()
416 spin_lock_init(&dd->sendctrl_lock); in loadtime_init()
417 spin_lock_init(&dd->uctxt_lock); in loadtime_init()
418 spin_lock_init(&dd->qib_diag_trans_lock); in loadtime_init()
419 spin_lock_init(&dd->eep_st_lock); in loadtime_init()
420 mutex_init(&dd->eep_lock); in loadtime_init()
425 ret = init_pioavailregs(dd); in loadtime_init()
426 init_shadow_tids(dd); in loadtime_init()
428 qib_get_eeprom_info(dd); in loadtime_init()
431 setup_timer(&dd->intrchk_timer, verify_interrupt, in loadtime_init()
432 (unsigned long)dd); in loadtime_init()
445 static int init_after_reset(struct qib_devdata *dd) in init_after_reset() argument
454 for (i = 0; i < dd->num_pports; ++i) { in init_after_reset()
459 dd->f_rcvctrl(dd->pport + i, QIB_RCVCTRL_CTXT_DIS | in init_after_reset()
463 dd->f_sendctrl(dd->pport + i, QIB_SENDCTRL_SEND_DIS | in init_after_reset()
470 static void enable_chip(struct qib_devdata *dd) in enable_chip() argument
478 for (i = 0; i < dd->num_pports; ++i) in enable_chip()
479 dd->f_sendctrl(dd->pport + i, QIB_SENDCTRL_SEND_ENB | in enable_chip()
486 rcvmask |= (dd->flags & QIB_NODMA_RTAIL) ? in enable_chip()
488 for (i = 0; dd->rcd && i < dd->first_user_ctxt; ++i) { in enable_chip()
489 struct qib_ctxtdata *rcd = dd->rcd[i]; in enable_chip()
492 dd->f_rcvctrl(rcd->ppd, rcvmask, i); in enable_chip()
498 struct qib_devdata *dd = (struct qib_devdata *) opaque; in verify_interrupt() local
501 if (!dd) in verify_interrupt()
508 int_counter = qib_int_counter(dd) - dd->z_int_counter; in verify_interrupt()
510 if (!dd->f_intr_fallback(dd)) in verify_interrupt()
511 dev_err(&dd->pcidev->dev, in verify_interrupt()
514 mod_timer(&dd->intrchk_timer, jiffies + HZ/2); in verify_interrupt()
518 static void init_piobuf_state(struct qib_devdata *dd) in init_piobuf_state() argument
531 dd->f_sendctrl(dd->pport, QIB_SENDCTRL_DISARM_ALL); in init_piobuf_state()
532 for (pidx = 0; pidx < dd->num_pports; ++pidx) in init_piobuf_state()
533 dd->f_sendctrl(dd->pport + pidx, QIB_SENDCTRL_FLUSH); in init_piobuf_state()
541 uctxts = dd->cfgctxts - dd->first_user_ctxt; in init_piobuf_state()
542 dd->ctxts_extrabuf = dd->pbufsctxt ? in init_piobuf_state()
543 dd->lastctxt_piobuf - (dd->pbufsctxt * uctxts) : 0; in init_piobuf_state()
554 for (i = 0; i < dd->pioavregs; i++) { in init_piobuf_state()
557 tmp = dd->pioavailregs_dma[i]; in init_piobuf_state()
563 dd->pioavailshadow[i] = le64_to_cpu(tmp); in init_piobuf_state()
565 while (i < ARRAY_SIZE(dd->pioavailshadow)) in init_piobuf_state()
566 dd->pioavailshadow[i++] = 0; /* for debugging sanity */ in init_piobuf_state()
569 qib_chg_pioavailkernel(dd, 0, dd->piobcnt2k + dd->piobcnt4k, in init_piobuf_state()
571 dd->f_initvl15_bufs(dd); in init_piobuf_state()
578 static int qib_create_workqueues(struct qib_devdata *dd) in qib_create_workqueues() argument
583 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_create_workqueues()
584 ppd = dd->pport + pidx; in qib_create_workqueues()
589 dd->unit, pidx); in qib_create_workqueues()
600 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_create_workqueues()
601 ppd = dd->pport + pidx; in qib_create_workqueues()
634 int qib_init(struct qib_devdata *dd, int reinit) in qib_init() argument
644 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
645 ppd = dd->pport + pidx; in qib_init()
654 ret = init_after_reset(dd); in qib_init()
656 ret = loadtime_init(dd); in qib_init()
664 ret = dd->f_late_initreg(dd); in qib_init()
669 for (i = 0; dd->rcd && i < dd->first_user_ctxt; ++i) { in qib_init()
676 rcd = dd->rcd[i]; in qib_init()
680 lastfail = qib_create_rcvhdrq(dd, rcd); in qib_init()
684 qib_dev_err(dd, in qib_init()
690 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
695 ppd = dd->pport + pidx; in qib_init()
703 dd->piosize4k : dd->piosize2k, in qib_init()
704 dd->rcvegrbufsize + in qib_init()
705 (dd->rcvhdrentsize << 2)); in qib_init()
717 lastfail = dd->f_bringup_serdes(ppd); in qib_init()
719 qib_devinfo(dd->pcidev, in qib_init()
737 enable_chip(dd); in qib_init()
739 init_piobuf_state(dd); in qib_init()
744 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_init()
745 ppd = dd->pport + pidx; in qib_init()
754 if (dd->flags & QIB_HAS_SEND_DMA) in qib_init()
762 dd->f_set_intr_state(dd, 1); in qib_init()
768 mod_timer(&dd->intrchk_timer, jiffies + HZ/2); in qib_init()
770 mod_timer(&dd->stats_timer, jiffies + HZ * ACTIVITY_TIMER); in qib_init()
783 int __attribute__((weak)) qib_enable_wc(struct qib_devdata *dd) in qib_enable_wc() argument
788 void __attribute__((weak)) qib_disable_wc(struct qib_devdata *dd) in qib_disable_wc() argument
799 struct qib_devdata *dd; in qib_lookup() local
803 dd = __qib_lookup(unit); in qib_lookup()
806 return dd; in qib_lookup()
813 static void qib_stop_timers(struct qib_devdata *dd) in qib_stop_timers() argument
818 if (dd->stats_timer.data) { in qib_stop_timers()
819 del_timer_sync(&dd->stats_timer); in qib_stop_timers()
820 dd->stats_timer.data = 0; in qib_stop_timers()
822 if (dd->intrchk_timer.data) { in qib_stop_timers()
823 del_timer_sync(&dd->intrchk_timer); in qib_stop_timers()
824 dd->intrchk_timer.data = 0; in qib_stop_timers()
826 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_stop_timers()
827 ppd = dd->pport + pidx; in qib_stop_timers()
848 static void qib_shutdown_device(struct qib_devdata *dd) in qib_shutdown_device() argument
853 if (dd->flags & QIB_SHUTDOWN) in qib_shutdown_device()
855 dd->flags |= QIB_SHUTDOWN; in qib_shutdown_device()
857 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
858 ppd = dd->pport + pidx; in qib_shutdown_device()
867 dd->flags &= ~QIB_INITTED; in qib_shutdown_device()
870 dd->f_set_intr_state(dd, 0); in qib_shutdown_device()
872 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
873 ppd = dd->pport + pidx; in qib_shutdown_device()
874 dd->f_rcvctrl(ppd, QIB_RCVCTRL_TAILUPD_DIS | in qib_shutdown_device()
882 dd->f_sendctrl(ppd, QIB_SENDCTRL_CLEAR); in qib_shutdown_device()
891 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_shutdown_device()
892 ppd = dd->pport + pidx; in qib_shutdown_device()
893 dd->f_setextled(ppd, 0); /* make sure LEDs are off */ in qib_shutdown_device()
895 if (dd->flags & QIB_HAS_SEND_DMA) in qib_shutdown_device()
898 dd->f_sendctrl(ppd, QIB_SENDCTRL_AVAIL_DIS | in qib_shutdown_device()
904 dd->f_quiet_serdes(ppd); in qib_shutdown_device()
926 void qib_free_ctxtdata(struct qib_devdata *dd, struct qib_ctxtdata *rcd) in qib_free_ctxtdata() argument
932 dma_free_coherent(&dd->pcidev->dev, rcd->rcvhdrq_size, in qib_free_ctxtdata()
936 dma_free_coherent(&dd->pcidev->dev, PAGE_SIZE, in qib_free_ctxtdata()
949 dma_free_coherent(&dd->pcidev->dev, size, in qib_free_ctxtdata()
984 static void qib_verify_pioperf(struct qib_devdata *dd) in qib_verify_pioperf() argument
991 piobuf = dd->f_getsendbuf(dd->pport, 0ULL, &pbnum); in qib_verify_pioperf()
993 qib_devinfo(dd->pcidev, in qib_verify_pioperf()
1017 dd->f_set_armlaunch(dd, 0); in qib_verify_pioperf()
1038 qib_dev_err(dd, in qib_verify_pioperf()
1048 dd->f_sendctrl(dd->pport, QIB_SENDCTRL_DISARM_BUF(pbnum)); in qib_verify_pioperf()
1049 qib_sendbuf_done(dd, pbnum); in qib_verify_pioperf()
1050 dd->f_set_armlaunch(dd, 1); in qib_verify_pioperf()
1053 void qib_free_devdata(struct qib_devdata *dd) in qib_free_devdata() argument
1058 idr_remove(&qib_unit_table, dd->unit); in qib_free_devdata()
1059 list_del(&dd->list); in qib_free_devdata()
1063 qib_dbg_ibdev_exit(&dd->verbs_dev); in qib_free_devdata()
1065 free_percpu(dd->int_counter); in qib_free_devdata()
1066 rvt_dealloc_device(&dd->verbs_dev.rdi); in qib_free_devdata()
1069 u64 qib_int_counter(struct qib_devdata *dd) in qib_int_counter() argument
1075 int_counter += *per_cpu_ptr(dd->int_counter, cpu); in qib_int_counter()
1082 struct qib_devdata *dd; in qib_sps_ints() local
1086 list_for_each_entry(dd, &qib_dev_list, list) { in qib_sps_ints()
1087 sps_ints += qib_int_counter(dd); in qib_sps_ints()
1104 struct qib_devdata *dd; in qib_alloc_devdata() local
1109 dd = (struct qib_devdata *)rvt_alloc_device(sizeof(*dd) + extra, in qib_alloc_devdata()
1111 if (!dd) in qib_alloc_devdata()
1114 INIT_LIST_HEAD(&dd->list); in qib_alloc_devdata()
1119 ret = idr_alloc(&qib_unit_table, dd, 0, 0, GFP_NOWAIT); in qib_alloc_devdata()
1121 dd->unit = ret; in qib_alloc_devdata()
1122 list_add(&dd->list, &qib_dev_list); in qib_alloc_devdata()
1133 dd->int_counter = alloc_percpu(u64); in qib_alloc_devdata()
1134 if (!dd->int_counter) { in qib_alloc_devdata()
1150 qib_dbg_ibdev_init(&dd->verbs_dev); in qib_alloc_devdata()
1152 return dd; in qib_alloc_devdata()
1154 if (!list_empty(&dd->list)) in qib_alloc_devdata()
1155 list_del_init(&dd->list); in qib_alloc_devdata()
1156 rvt_dealloc_device(&dd->verbs_dev.rdi); in qib_alloc_devdata()
1165 void qib_disable_after_error(struct qib_devdata *dd) in qib_disable_after_error() argument
1167 if (dd->flags & QIB_INITTED) { in qib_disable_after_error()
1170 dd->flags &= ~QIB_INITTED; in qib_disable_after_error()
1171 if (dd->pport) in qib_disable_after_error()
1172 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in qib_disable_after_error()
1175 ppd = dd->pport + pidx; in qib_disable_after_error()
1176 if (dd->flags & QIB_PRESENT) { in qib_disable_after_error()
1179 dd->f_setextled(ppd, 0); in qib_disable_after_error()
1190 if (dd->devstatusp) in qib_disable_after_error()
1191 *dd->devstatusp |= QIB_STATUS_HWERROR; in qib_disable_after_error()
1230 struct qib_devdata *dd = dev_get_drvdata(device); in qib_notify_dca_device() local
1233 return dd->f_notify_dca(dd, event); in qib_notify_dca_device()
1329 static void cleanup_device_data(struct qib_devdata *dd) in cleanup_device_data() argument
1337 for (pidx = 0; pidx < dd->num_pports; ++pidx) { in cleanup_device_data()
1338 if (dd->pport[pidx].statusp) in cleanup_device_data()
1339 *dd->pport[pidx].statusp &= ~QIB_STATUS_CHIP_PRESENT; in cleanup_device_data()
1341 spin_lock(&dd->pport[pidx].cc_shadow_lock); in cleanup_device_data()
1343 kfree(dd->pport[pidx].congestion_entries); in cleanup_device_data()
1344 dd->pport[pidx].congestion_entries = NULL; in cleanup_device_data()
1345 kfree(dd->pport[pidx].ccti_entries); in cleanup_device_data()
1346 dd->pport[pidx].ccti_entries = NULL; in cleanup_device_data()
1347 kfree(dd->pport[pidx].ccti_entries_shadow); in cleanup_device_data()
1348 dd->pport[pidx].ccti_entries_shadow = NULL; in cleanup_device_data()
1349 kfree(dd->pport[pidx].congestion_entries_shadow); in cleanup_device_data()
1350 dd->pport[pidx].congestion_entries_shadow = NULL; in cleanup_device_data()
1352 spin_unlock(&dd->pport[pidx].cc_shadow_lock); in cleanup_device_data()
1355 qib_disable_wc(dd); in cleanup_device_data()
1357 if (dd->pioavailregs_dma) { in cleanup_device_data()
1358 dma_free_coherent(&dd->pcidev->dev, PAGE_SIZE, in cleanup_device_data()
1359 (void *) dd->pioavailregs_dma, in cleanup_device_data()
1360 dd->pioavailregs_phys); in cleanup_device_data()
1361 dd->pioavailregs_dma = NULL; in cleanup_device_data()
1364 if (dd->pageshadow) { in cleanup_device_data()
1365 struct page **tmpp = dd->pageshadow; in cleanup_device_data()
1366 dma_addr_t *tmpd = dd->physshadow; in cleanup_device_data()
1369 for (ctxt = 0; ctxt < dd->cfgctxts; ctxt++) { in cleanup_device_data()
1370 int ctxt_tidbase = ctxt * dd->rcvtidcnt; in cleanup_device_data()
1371 int maxtid = ctxt_tidbase + dd->rcvtidcnt; in cleanup_device_data()
1376 pci_unmap_page(dd->pcidev, tmpd[i], in cleanup_device_data()
1383 dd->pageshadow = NULL; in cleanup_device_data()
1385 dd->physshadow = NULL; in cleanup_device_data()
1396 spin_lock_irqsave(&dd->uctxt_lock, flags); in cleanup_device_data()
1397 tmp = dd->rcd; in cleanup_device_data()
1398 dd->rcd = NULL; in cleanup_device_data()
1399 spin_unlock_irqrestore(&dd->uctxt_lock, flags); in cleanup_device_data()
1400 for (ctxt = 0; tmp && ctxt < dd->ctxtcnt; ctxt++) { in cleanup_device_data()
1404 qib_free_ctxtdata(dd, rcd); in cleanup_device_data()
1413 static void qib_postinit_cleanup(struct qib_devdata *dd) in qib_postinit_cleanup() argument
1422 if (dd->f_cleanup) in qib_postinit_cleanup()
1423 dd->f_cleanup(dd); in qib_postinit_cleanup()
1425 qib_pcie_ddcleanup(dd); in qib_postinit_cleanup()
1427 cleanup_device_data(dd); in qib_postinit_cleanup()
1429 qib_free_devdata(dd); in qib_postinit_cleanup()
1435 struct qib_devdata *dd = NULL; in qib_init_one() local
1448 dd = qib_init_iba6120_funcs(pdev, ent); in qib_init_one()
1453 dd = ERR_PTR(-ENODEV); in qib_init_one()
1458 dd = qib_init_iba7220_funcs(pdev, ent); in qib_init_one()
1462 dd = qib_init_iba7322_funcs(pdev, ent); in qib_init_one()
1472 if (IS_ERR(dd)) in qib_init_one()
1473 ret = PTR_ERR(dd); in qib_init_one()
1477 ret = qib_create_workqueues(dd); in qib_init_one()
1482 initfail = qib_init(dd, 0); in qib_init_one()
1484 ret = qib_register_ib_device(dd); in qib_init_one()
1493 dd->flags |= QIB_INITTED; in qib_init_one()
1495 j = qib_device_create(dd); in qib_init_one()
1497 qib_dev_err(dd, "Failed to create /dev devices: %d\n", -j); in qib_init_one()
1498 j = qibfs_add(dd); in qib_init_one()
1500 qib_dev_err(dd, "Failed filesystem setup for counters: %d\n", in qib_init_one()
1504 qib_stop_timers(dd); in qib_init_one()
1506 for (pidx = 0; pidx < dd->num_pports; ++pidx) in qib_init_one()
1507 dd->f_quiet_serdes(dd->pport + pidx); in qib_init_one()
1511 (void) qibfs_remove(dd); in qib_init_one()
1512 qib_device_remove(dd); in qib_init_one()
1515 qib_unregister_ib_device(dd); in qib_init_one()
1516 qib_postinit_cleanup(dd); in qib_init_one()
1522 ret = qib_enable_wc(dd); in qib_init_one()
1524 qib_dev_err(dd, in qib_init_one()
1530 qib_verify_pioperf(dd); in qib_init_one()
1537 struct qib_devdata *dd = pci_get_drvdata(pdev); in qib_remove_one() local
1541 qib_unregister_ib_device(dd); in qib_remove_one()
1548 qib_shutdown_device(dd); in qib_remove_one()
1550 qib_stop_timers(dd); in qib_remove_one()
1555 ret = qibfs_remove(dd); in qib_remove_one()
1557 qib_dev_err(dd, "Failed counters filesystem cleanup: %d\n", in qib_remove_one()
1560 qib_device_remove(dd); in qib_remove_one()
1562 qib_postinit_cleanup(dd); in qib_remove_one()
1567 struct qib_devdata *dd = pci_get_drvdata(pdev); in qib_shutdown_one() local
1569 qib_shutdown_device(dd); in qib_shutdown_one()
1581 int qib_create_rcvhdrq(struct qib_devdata *dd, struct qib_ctxtdata *rcd) in qib_create_rcvhdrq() argument
1590 amt = ALIGN(dd->rcvhdrcnt * dd->rcvhdrentsize * in qib_create_rcvhdrq()
1592 gfp_flags = (rcd->ctxt >= dd->first_user_ctxt) ? in qib_create_rcvhdrq()
1595 old_node_id = dev_to_node(&dd->pcidev->dev); in qib_create_rcvhdrq()
1596 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_create_rcvhdrq()
1598 &dd->pcidev->dev, amt, &rcd->rcvhdrq_phys, in qib_create_rcvhdrq()
1600 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_create_rcvhdrq()
1603 qib_dev_err(dd, in qib_create_rcvhdrq()
1609 if (rcd->ctxt >= dd->first_user_ctxt) { in qib_create_rcvhdrq()
1615 if (!(dd->flags & QIB_NODMA_RTAIL)) { in qib_create_rcvhdrq()
1616 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_create_rcvhdrq()
1618 &dd->pcidev->dev, PAGE_SIZE, &phys_hdrqtail, in qib_create_rcvhdrq()
1620 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_create_rcvhdrq()
1636 qib_dev_err(dd, in qib_create_rcvhdrq()
1642 dma_free_coherent(&dd->pcidev->dev, amt, rcd->rcvhdrq, in qib_create_rcvhdrq()
1660 struct qib_devdata *dd = rcd->dd; in qib_setup_eagerbufs() local
1676 egrsize = dd->rcvegrbufsize; in qib_setup_eagerbufs()
1699 old_node_id = dev_to_node(&dd->pcidev->dev); in qib_setup_eagerbufs()
1700 set_dev_node(&dd->pcidev->dev, rcd->node_id); in qib_setup_eagerbufs()
1702 dma_alloc_coherent(&dd->pcidev->dev, size, in qib_setup_eagerbufs()
1705 set_dev_node(&dd->pcidev->dev, old_node_id); in qib_setup_eagerbufs()
1720 dd->f_put_tid(dd, e + egroff + in qib_setup_eagerbufs()
1723 dd->kregbase + in qib_setup_eagerbufs()
1724 dd->rcvegrbase), in qib_setup_eagerbufs()
1735 dma_free_coherent(&dd->pcidev->dev, size, in qib_setup_eagerbufs()
1752 int init_chip_wc_pat(struct qib_devdata *dd, u32 vl15buflen) in init_chip_wc_pat() argument
1758 u64 qib_pio2koffset = dd->piobufbase & 0xffffffff; in init_chip_wc_pat()
1759 u64 qib_pio4koffset = dd->piobufbase >> 32; in init_chip_wc_pat()
1760 u64 qib_pio2klen = dd->piobcnt2k * dd->palign; in init_chip_wc_pat()
1761 u64 qib_pio4klen = dd->piobcnt4k * dd->align4k; in init_chip_wc_pat()
1762 u64 qib_physaddr = dd->physaddr; in init_chip_wc_pat()
1771 iounmap(dd->kregbase); in init_chip_wc_pat()
1772 dd->kregbase = NULL; in init_chip_wc_pat()
1783 if (dd->piobcnt4k == 0) { in init_chip_wc_pat()
1795 if (dd->uregbase > qib_kreglen) in init_chip_wc_pat()
1796 qib_userlen = dd->ureg_align * dd->cfgctxts; in init_chip_wc_pat()
1808 qib_userbase = ioremap_nocache(qib_physaddr + dd->uregbase, in init_chip_wc_pat()
1814 dd->kregbase = qib_kregbase; in init_chip_wc_pat()
1815 dd->kregend = (u64 __iomem *) in init_chip_wc_pat()
1817 dd->piobase = qib_piobase; in init_chip_wc_pat()
1818 dd->pio2kbase = (void __iomem *) in init_chip_wc_pat()
1819 (((char __iomem *) dd->piobase) + in init_chip_wc_pat()
1821 if (dd->piobcnt4k) in init_chip_wc_pat()
1822 dd->pio4kbase = (void __iomem *) in init_chip_wc_pat()
1823 (((char __iomem *) dd->piobase) + in init_chip_wc_pat()
1827 dd->userbase = qib_userbase; in init_chip_wc_pat()