hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/infiniband/hw/qib/qib_iba7322.c
....@@ -1382,7 +1382,6 @@
13821382 *msg++ = ',';
13831383 len--;
13841384 }
1385
- BUG_ON(!msp->sz);
13861385 /* msp->sz counts the nul */
13871386 took = min_t(size_t, msp->sz - (size_t)1, len);
13881387 memcpy(msg, msp->msg, took);
....@@ -1734,9 +1733,9 @@
17341733 return;
17351734 }
17361735
1737
-static void qib_error_tasklet(unsigned long data)
1736
+static void qib_error_tasklet(struct tasklet_struct *t)
17381737 {
1739
- struct qib_devdata *dd = (struct qib_devdata *)data;
1738
+ struct qib_devdata *dd = from_tasklet(dd, t, error_tasklet);
17401739
17411740 handle_7322_errors(dd);
17421741 qib_write_kreg(dd, kr_errmask, dd->cspec->errormask);
....@@ -2376,7 +2375,6 @@
23762375 struct qib_devdata *dd = ppd->dd;
23772376 u64 val, guid, ibc;
23782377 unsigned long flags;
2379
- int ret = 0;
23802378
23812379 /*
23822380 * SerDes model not in Pd, but still need to
....@@ -2511,7 +2509,7 @@
25112509 val | ERR_MASK_N(IBStatusChanged));
25122510
25132511 /* Always zero until we start messing with SerDes for real */
2514
- return ret;
2512
+ return 0;
25152513 }
25162514
25172515 /**
....@@ -3539,8 +3537,7 @@
35393537 for (i = 0; i < ARRAY_SIZE(redirect); i++)
35403538 qib_write_kreg(dd, kr_intredirect + i, redirect[i]);
35413539 dd->cspec->main_int_mask = mask;
3542
- tasklet_init(&dd->error_tasklet, qib_error_tasklet,
3543
- (unsigned long)dd);
3540
+ tasklet_setup(&dd->error_tasklet, qib_error_tasklet);
35443541 }
35453542
35463543 /**
....@@ -3794,7 +3791,6 @@
37943791 pa = chippa;
37953792 }
37963793 writeq(pa, tidptr);
3797
- mmiowb();
37983794 }
37993795
38003796 /**
....@@ -4441,10 +4437,8 @@
44414437 adjust_rcv_timeout(rcd, npkts);
44424438 if (updegr)
44434439 qib_write_ureg(rcd->dd, ur_rcvegrindexhead, egrhd, rcd->ctxt);
4444
- mmiowb();
44454440 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt);
44464441 qib_write_ureg(rcd->dd, ur_rcvhdrhead, hd, rcd->ctxt);
4447
- mmiowb();
44484442 }
44494443
44504444 static u32 qib_7322_hdrqempty(struct qib_ctxtdata *rcd)
....@@ -5513,11 +5507,11 @@
55135507 state = IB_PORT_ARMED;
55145508 break;
55155509 case IB_7322_L_STATE_ACTIVE:
5516
- /* fall through */
55175510 case IB_7322_L_STATE_ACT_DEFER:
55185511 state = IB_PORT_ACTIVE;
55195512 break;
5520
- default: /* fall through */
5513
+ default:
5514
+ fallthrough;
55215515 case IB_7322_L_STATE_DOWN:
55225516 state = IB_PORT_DOWN;
55235517 break;
....@@ -6141,7 +6135,7 @@
61416135 static int setup_txselect(const char *str, const struct kernel_param *kp)
61426136 {
61436137 struct qib_devdata *dd;
6144
- unsigned long val;
6138
+ unsigned long index, val;
61456139 char *n;
61466140
61476141 if (strlen(str) >= ARRAY_SIZE(txselect_list)) {
....@@ -6157,7 +6151,7 @@
61576151 }
61586152 strncpy(txselect_list, str, ARRAY_SIZE(txselect_list) - 1);
61596153
6160
- list_for_each_entry(dd, &qib_dev_list, list)
6154
+ xa_for_each(&qib_dev_table, index, dd)
61616155 if (dd->deviceid == PCI_DEVICE_ID_QLOGIC_IB_7322)
61626156 set_no_qsfp_atten(dd, 1);
61636157 return 0;
....@@ -6538,7 +6532,7 @@
65386532 "Invalid num_vls %u, using 4 VLs\n",
65396533 qib_num_cfg_vls);
65406534 qib_num_cfg_vls = 4;
6541
- /* fall through */
6535
+ fallthrough;
65426536 case 4:
65436537 ppd->vls_supported = IB_VL_VL0_3;
65446538 break;
....@@ -6599,7 +6593,6 @@
65996593
66006594 /* we always allocate at least 2048 bytes for eager buffers */
66016595 dd->rcvegrbufsize = max(mtu, 2048);
6602
- BUG_ON(!is_power_of_2(dd->rcvegrbufsize));
66036596 dd->rcvegrbufsize_shift = ilog2(dd->rcvegrbufsize);
66046597
66056598 qib_7322_tidtemplate(dd);
....@@ -6635,7 +6628,7 @@
66356628 /* vl15 buffers start just after the 4k buffers */
66366629 vl15off = dd->physaddr + (dd->piobufbase >> 32) +
66376630 dd->piobcnt4k * dd->align4k;
6638
- dd->piovl15base = ioremap_nocache(vl15off,
6631
+ dd->piovl15base = ioremap(vl15off,
66396632 NUM_VL15_BUFS * dd->align4k);
66406633 if (!dd->piovl15base) {
66416634 ret = -ENOMEM;
....@@ -6880,7 +6873,7 @@
68806873 struct qib_devdata *dd = ppd->dd;
68816874 unsigned lastbuf, erstbuf;
68826875 u64 senddmabufmask[3] = { 0 };
6883
- int n, ret = 0;
6876
+ int n;
68846877
68856878 qib_write_kreg_port(ppd, krp_senddmabase, ppd->sdma_descq_phys);
68866879 qib_sdma_7322_setlengen(ppd);
....@@ -6904,13 +6897,12 @@
69046897 unsigned word = erstbuf / BITS_PER_LONG;
69056898 unsigned bit = erstbuf & (BITS_PER_LONG - 1);
69066899
6907
- BUG_ON(word >= 3);
69086900 senddmabufmask[word] |= 1ULL << bit;
69096901 }
69106902 qib_write_kreg_port(ppd, krp_senddmabufmask0, senddmabufmask[0]);
69116903 qib_write_kreg_port(ppd, krp_senddmabufmask1, senddmabufmask[1]);
69126904 qib_write_kreg_port(ppd, krp_senddmabufmask2, senddmabufmask[2]);
6913
- return ret;
6905
+ return 0;
69146906 }
69156907
69166908 /* sdma_lock must be held */