Lines Matching refs:kinfo
103 struct qib_base_info *kinfo = NULL; in qib_get_base_info() local
120 sz = sizeof(*kinfo); in qib_get_base_info()
129 kinfo = kzalloc(sizeof(*kinfo), GFP_KERNEL); in qib_get_base_info()
130 if (kinfo == NULL) { in qib_get_base_info()
135 ret = dd->f_get_base_info(rcd, kinfo); in qib_get_base_info()
139 kinfo->spi_rcvhdr_cnt = dd->rcvhdrcnt; in qib_get_base_info()
140 kinfo->spi_rcvhdrent_size = dd->rcvhdrentsize; in qib_get_base_info()
141 kinfo->spi_tidegrcnt = rcd->rcvegrcnt; in qib_get_base_info()
142 kinfo->spi_rcv_egrbufsize = dd->rcvegrbufsize; in qib_get_base_info()
146 kinfo->spi_rcv_egrbuftotlen = in qib_get_base_info()
148 kinfo->spi_rcv_egrperchunk = rcd->rcvegrbufs_perchunk; in qib_get_base_info()
149 kinfo->spi_rcv_egrchunksize = kinfo->spi_rcv_egrbuftotlen / in qib_get_base_info()
151 kinfo->spi_tidcnt = dd->rcvtidcnt / subctxt_cnt; in qib_get_base_info()
153 kinfo->spi_tidcnt += dd->rcvtidcnt % subctxt_cnt; in qib_get_base_info()
158 kinfo->spi_nctxts = dd->cfgctxts; in qib_get_base_info()
160 kinfo->spi_unit = dd->unit; in qib_get_base_info()
161 kinfo->spi_port = ppd->port; in qib_get_base_info()
163 kinfo->spi_tid_maxsize = PAGE_SIZE; in qib_get_base_info()
184 kinfo->spi_rcvhdr_base = (u64) rcd->rcvhdrq_phys; in qib_get_base_info()
185 kinfo->spi_rcvhdr_tailaddr = (u64) rcd->rcvhdrqtailaddr_phys; in qib_get_base_info()
186 kinfo->spi_rhf_offset = dd->rhf_offset; in qib_get_base_info()
187 kinfo->spi_rcv_egrbufs = (u64) rcd->rcvegr_phys; in qib_get_base_info()
188 kinfo->spi_pioavailaddr = (u64) dd->pioavailregs_phys; in qib_get_base_info()
190 kinfo->spi_status = (u64) kinfo->spi_pioavailaddr + in qib_get_base_info()
193 kinfo->spi_uregbase = (u64) dd->uregbase + dd->ureg_align * rcd->ctxt; in qib_get_base_info()
195 kinfo->spi_piocnt = rcd->piocnt; in qib_get_base_info()
196 kinfo->spi_piobufbase = (u64) rcd->piobufs; in qib_get_base_info()
197 kinfo->spi_sendbuf_status = cvt_kvaddr(rcd->user_event_mask); in qib_get_base_info()
199 kinfo->spi_piocnt = (rcd->piocnt / subctxt_cnt) + in qib_get_base_info()
202 kinfo->spi_piobufbase = (u64) rcd->piobufs + in qib_get_base_info()
204 (rcd->piocnt - kinfo->spi_piocnt); in qib_get_base_info()
208 kinfo->spi_piocnt = rcd->piocnt / subctxt_cnt; in qib_get_base_info()
209 kinfo->spi_piobufbase = (u64) rcd->piobufs + in qib_get_base_info()
210 dd->palign * kinfo->spi_piocnt * slave; in qib_get_base_info()
214 kinfo->spi_sendbuf_status = in qib_get_base_info()
217 kinfo->spi_subctxt_uregbase = cvt_kvaddr(rcd->subctxt_uregbase); in qib_get_base_info()
219 kinfo->spi_subctxt_rcvegrbuf = in qib_get_base_info()
221 kinfo->spi_subctxt_rcvhdr_base = in qib_get_base_info()
231 kinfo->spi_pioindex = (kinfo->spi_piobufbase - dd->pio2k_bufbase) / in qib_get_base_info()
233 kinfo->spi_pioalign = dd->palign; in qib_get_base_info()
234 kinfo->spi_qpair = QIB_KD_QP; in qib_get_base_info()
240 kinfo->spi_piosize = dd->piosize2k - 2 * sizeof(u32); in qib_get_base_info()
241 kinfo->spi_mtu = ppd->ibmaxlen; /* maxlen, not ibmtu */ in qib_get_base_info()
242 kinfo->spi_ctxt = rcd->ctxt; in qib_get_base_info()
243 kinfo->spi_subctxt = subctxt_fp(fp); in qib_get_base_info()
244 kinfo->spi_sw_version = QIB_KERN_SWVERSION; in qib_get_base_info()
245 kinfo->spi_sw_version |= 1U << 31; /* QLogic-built, not kernel.org */ in qib_get_base_info()
246 kinfo->spi_hw_version = dd->revision; in qib_get_base_info()
249 kinfo->spi_runtime_flags |= QIB_RUNTIME_MASTER; in qib_get_base_info()
251 sz = (ubase_size < sizeof(*kinfo)) ? ubase_size : sizeof(*kinfo); in qib_get_base_info()
252 if (copy_to_user(ubase, kinfo, sz)) in qib_get_base_info()
255 kfree(kinfo); in qib_get_base_info()