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()
735 static void update_sge(struct qib_sge_state *ss, u32 length) in update_sge() argument
737 struct qib_sge *sge = &ss->sge; in update_sge()
743 if (--ss->num_sge) in update_sge()
744 *sge = *ss->sg_list++; in update_sge()
792 static void copy_io(u32 __iomem *piobuf, struct qib_sge_state *ss, in copy_io() argument
800 u32 len = ss->sge.length; in copy_io()
805 if (len > ss->sge.sge_length) in copy_io()
806 len = ss->sge.sge_length; in copy_io()
809 off = (unsigned long)ss->sge.vaddr & (sizeof(u32) - 1); in copy_io()
811 u32 *addr = (u32 *)((unsigned long)ss->sge.vaddr & in copy_io()
842 u32 *addr = (u32 *) ss->sge.vaddr; in copy_io()
895 qib_pio_copy(piobuf, ss->sge.vaddr, w - 1); in copy_io()
897 last = ((u32 *) ss->sge.vaddr)[w - 1]; in copy_io()
902 qib_pio_copy(piobuf, ss->sge.vaddr, w); in copy_io()
907 u32 v = ((u32 *) ss->sge.vaddr)[w]; in copy_io()
913 update_sge(ss, len); in copy_io()
917 update_sge(ss, length); in copy_io()
1136 u32 hdrwords, struct qib_sge_state *ss, u32 len, in qib_verbs_send_dma() argument
1153 ret = qib_sdma_verbs_send(ppd, tx->ss, tx->dwords, tx); in qib_verbs_send_dma()
1182 ndesc = qib_count_sge(ss, len); in qib_verbs_send_dma()
1197 ret = qib_sdma_verbs_send(ppd, ss, dwords, tx); in qib_verbs_send_dma()
1209 qib_copy_from_sge((u32 *) &phdr->hdr + hdrwords, ss, len); in qib_verbs_send_dma()
1271 u32 hdrwords, struct qib_sge_state *ss, u32 len, in qib_verbs_send_pio() argument
1325 if (likely(ss->num_sge == 1 && len <= ss->sge.length && in qib_verbs_send_pio()
1326 !((unsigned long)ss->sge.vaddr & (sizeof(u32) - 1)))) { in qib_verbs_send_pio()
1327 u32 *addr = (u32 *) ss->sge.vaddr; in qib_verbs_send_pio()
1330 update_sge(ss, len); in qib_verbs_send_pio()
1342 copy_io(piobuf, ss, len, flush_wc); in qib_verbs_send_pio()
1379 u32 hdrwords, struct qib_sge_state *ss, u32 len) in qib_verbs_send() argument
1399 ret = qib_verbs_send_pio(qp, hdr, hdrwords, ss, len, in qib_verbs_send()
1402 ret = qib_verbs_send_dma(qp, hdr, hdrwords, ss, len, in qib_verbs_send()