Lines Matching refs:ss
169 void qib_copy_sge(struct qib_sge_state *ss, void *data, u32 length, int release) in qib_copy_sge() argument
171 struct qib_sge *sge = &ss->sge; in qib_copy_sge()
188 if (--ss->num_sge) in qib_copy_sge()
189 *sge = *ss->sg_list++; in qib_copy_sge()
211 void qib_skip_sge(struct qib_sge_state *ss, u32 length, int release) in qib_skip_sge() argument
213 struct qib_sge *sge = &ss->sge; in qib_skip_sge()
229 if (--ss->num_sge) in qib_skip_sge()
230 *sge = *ss->sg_list++; in qib_skip_sge()
251 static u32 qib_count_sge(struct qib_sge_state *ss, u32 length) in qib_count_sge() argument
253 struct qib_sge *sg_list = ss->sg_list; in qib_count_sge()
254 struct qib_sge sge = ss->sge; in qib_count_sge()
255 u8 num_sge = ss->num_sge; in qib_count_sge()
297 static void qib_copy_from_sge(void *data, struct qib_sge_state *ss, u32 length) in qib_copy_from_sge() argument
299 struct qib_sge *sge = &ss->sge; in qib_copy_from_sge()
314 if (--ss->num_sge) in qib_copy_from_sge()
315 *sge = *ss->sg_list++; in qib_copy_from_sge()
751 static void update_sge(struct qib_sge_state *ss, u32 length) in update_sge() argument
753 struct qib_sge *sge = &ss->sge; in update_sge()
759 if (--ss->num_sge) in update_sge()
760 *sge = *ss->sg_list++; in update_sge()
808 static void copy_io(u32 __iomem *piobuf, struct qib_sge_state *ss, in copy_io() argument
816 u32 len = ss->sge.length; in copy_io()
821 if (len > ss->sge.sge_length) in copy_io()
822 len = ss->sge.sge_length; in copy_io()
825 off = (unsigned long)ss->sge.vaddr & (sizeof(u32) - 1); in copy_io()
827 u32 *addr = (u32 *)((unsigned long)ss->sge.vaddr & in copy_io()
858 u32 *addr = (u32 *) ss->sge.vaddr; in copy_io()
911 qib_pio_copy(piobuf, ss->sge.vaddr, w - 1); in copy_io()
913 last = ((u32 *) ss->sge.vaddr)[w - 1]; in copy_io()
918 qib_pio_copy(piobuf, ss->sge.vaddr, w); in copy_io()
923 u32 v = ((u32 *) ss->sge.vaddr)[w]; in copy_io()
929 update_sge(ss, len); in copy_io()
933 update_sge(ss, length); in copy_io()
1152 u32 hdrwords, struct qib_sge_state *ss, u32 len, in qib_verbs_send_dma() argument
1169 ret = qib_sdma_verbs_send(ppd, tx->ss, tx->dwords, tx); in qib_verbs_send_dma()
1198 ndesc = qib_count_sge(ss, len); in qib_verbs_send_dma()
1213 ret = qib_sdma_verbs_send(ppd, ss, dwords, tx); in qib_verbs_send_dma()
1225 qib_copy_from_sge((u32 *) &phdr->hdr + hdrwords, ss, len); in qib_verbs_send_dma()
1287 u32 hdrwords, struct qib_sge_state *ss, u32 len, in qib_verbs_send_pio() argument
1341 if (likely(ss->num_sge == 1 && len <= ss->sge.length && in qib_verbs_send_pio()
1342 !((unsigned long)ss->sge.vaddr & (sizeof(u32) - 1)))) { in qib_verbs_send_pio()
1343 u32 *addr = (u32 *) ss->sge.vaddr; in qib_verbs_send_pio()
1346 update_sge(ss, len); in qib_verbs_send_pio()
1358 copy_io(piobuf, ss, len, flush_wc); in qib_verbs_send_pio()
1395 u32 hdrwords, struct qib_sge_state *ss, u32 len) in qib_verbs_send() argument
1415 ret = qib_verbs_send_pio(qp, hdr, hdrwords, ss, len, in qib_verbs_send()
1418 ret = qib_verbs_send_dma(qp, hdr, hdrwords, ss, len, in qib_verbs_send()