| /linux/drivers/misc/cb710/ |
| H A D | sgbuf2.c | 11 static bool sg_dwiter_next(struct sg_mapping_iter *miter) in sg_dwiter_next() argument 13 if (sg_miter_next(miter)) { in sg_dwiter_next() 14 miter->consumed = 0; in sg_dwiter_next() 20 static bool sg_dwiter_is_at_end(struct sg_mapping_iter *miter) in sg_dwiter_is_at_end() argument 22 return miter->length == miter->consumed && !sg_dwiter_next(miter); in sg_dwiter_is_at_end() 25 static uint32_t sg_dwiter_read_buffer(struct sg_mapping_iter *miter) in sg_dwiter_read_buffer() argument 32 len = min(miter->length - miter->consumed, left); in sg_dwiter_read_buffer() 33 memcpy(addr, miter->addr + miter->consumed, len); in sg_dwiter_read_buffer() 34 miter->consumed += len; in sg_dwiter_read_buffer() 39 } while (sg_dwiter_next(miter)); in sg_dwiter_read_buffer() [all …]
|
| /linux/lib/ |
| H A D | scatterlist.c | 778 void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, in sg_miter_start() argument 781 memset(miter, 0, sizeof(struct sg_mapping_iter)); in sg_miter_start() 783 __sg_page_iter_start(&miter->piter, sgl, nents, 0); in sg_miter_start() 785 miter->__flags = flags; in sg_miter_start() 789 static bool sg_miter_get_next_page(struct sg_mapping_iter *miter) in sg_miter_get_next_page() argument 791 if (!miter->__remaining) { in sg_miter_get_next_page() 794 if (!__sg_page_iter_next(&miter->piter)) in sg_miter_get_next_page() 797 sg = miter->piter.sg; in sg_miter_get_next_page() 799 miter->__offset = miter->piter.sg_pgoffset ? 0 : sg->offset; in sg_miter_get_next_page() 800 miter->piter.sg_pgoffset += miter->__offset >> PAGE_SHIFT; in sg_miter_get_next_page() [all …]
|
| /linux/lib/crypto/mpi/ |
| H A D | mpicoder.c | 260 struct sg_mapping_iter miter; in mpi_write_to_sgl() local 274 sg_miter_start(&miter, sgl, nents, SG_MITER_ATOMIC | SG_MITER_TO_SG); in mpi_write_to_sgl() 275 sg_miter_next(&miter); in mpi_write_to_sgl() 276 buf_len = miter.length; in mpi_write_to_sgl() 277 p2 = miter.addr; in mpi_write_to_sgl() 287 sg_miter_next(&miter); in mpi_write_to_sgl() 288 buf_len = miter.length; in mpi_write_to_sgl() 289 p2 = miter.addr; in mpi_write_to_sgl() 306 sg_miter_next(&miter); in mpi_write_to_sgl() 307 buf_len = miter.length; in mpi_write_to_sgl() [all …]
|
| /linux/drivers/usb/storage/ |
| H A D | protocol.c | 127 struct sg_mapping_iter miter; in usb_stor_access_xfer_buf() local 135 sg_miter_start(&miter, sg, nents, dir == FROM_XFER_BUF ? in usb_stor_access_xfer_buf() 138 if (!sg_miter_skip(&miter, *offset)) in usb_stor_access_xfer_buf() 141 while (sg_miter_next(&miter) && cnt < buflen) { in usb_stor_access_xfer_buf() 142 unsigned int len = min(miter.length, buflen - cnt); in usb_stor_access_xfer_buf() 145 memcpy(buffer + cnt, miter.addr, len); in usb_stor_access_xfer_buf() 147 memcpy(miter.addr, buffer + cnt, len); in usb_stor_access_xfer_buf() 149 if (*offset + len < miter.piter.sg->length) { in usb_stor_access_xfer_buf() 151 *sgptr = miter.piter.sg; in usb_stor_access_xfer_buf() 154 *sgptr = sg_next(miter.piter.sg); in usb_stor_access_xfer_buf() [all …]
|
| /linux/include/linux/ |
| H A D | cb710.h | 154 uint32_t cb710_sg_dwiter_read_next_block(struct sg_mapping_iter *miter); 155 void cb710_sg_dwiter_write_next_block(struct sg_mapping_iter *miter, uint32_t data); 172 static inline void cb710_sg_dwiter_write_from_io(struct sg_mapping_iter *miter, in cb710_sg_dwiter_write_from_io() argument 176 cb710_sg_dwiter_write_next_block(miter, ioread32(port)); in cb710_sg_dwiter_write_from_io() 194 static inline void cb710_sg_dwiter_read_to_io(struct sg_mapping_iter *miter, in cb710_sg_dwiter_read_to_io() argument 198 iowrite32(cb710_sg_dwiter_read_next_block(miter), port); in cb710_sg_dwiter_read_to_io()
|
| H A D | scatterlist.h | 712 void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, 714 bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset); 715 bool sg_miter_next(struct sg_mapping_iter *miter); 716 void sg_miter_stop(struct sg_mapping_iter *miter);
|
| /linux/lib/crypto/ |
| H A D | chacha20poly1305.c | 220 struct sg_mapping_iter miter; in chacha20poly1305_crypt_sg_inplace() local 258 sg_miter_start(&miter, src, sg_nents(src), flags); in chacha20poly1305_crypt_sg_inplace() 260 for (sl = src_len; sl > 0 && sg_miter_next(&miter); sl -= miter.length) { in chacha20poly1305_crypt_sg_inplace() 261 u8 *addr = miter.addr; in chacha20poly1305_crypt_sg_inplace() 262 size_t length = min_t(size_t, sl, miter.length); in chacha20poly1305_crypt_sg_inplace() 295 poly1305_update(&poly1305_state, miter.addr, in chacha20poly1305_crypt_sg_inplace() 296 min_t(size_t, sl, miter.length)); in chacha20poly1305_crypt_sg_inplace() 309 miter.addr + miter.length + sl); in chacha20poly1305_crypt_sg_inplace() 314 miter.addr + miter.length + sl, in chacha20poly1305_crypt_sg_inplace() 319 sg_miter_stop(&miter); in chacha20poly1305_crypt_sg_inplace()
|
| /linux/drivers/mmc/host/ |
| H A D | jz4740_mmc.c | 174 struct sg_mapping_iter miter; member 519 struct sg_mapping_iter *miter = &host->miter; in jz4740_mmc_write_data() local 525 while (sg_miter_next(miter)) { in jz4740_mmc_write_data() 526 buf = miter->addr; in jz4740_mmc_write_data() 527 i = miter->length / 4; in jz4740_mmc_write_data() 557 data->bytes_xfered += miter->length; in jz4740_mmc_write_data() 559 sg_miter_stop(miter); in jz4740_mmc_write_data() 564 miter->consumed = (void *)buf - miter->addr; in jz4740_mmc_write_data() 565 data->bytes_xfered += miter->consumed; in jz4740_mmc_write_data() 566 sg_miter_stop(miter); in jz4740_mmc_write_data() [all …]
|
| /linux/drivers/nvme/target/ |
| H A D | io-cmd-bdev.c | 190 struct sg_mapping_iter *miter) in nvmet_bdev_alloc_bip() argument 215 while (resid > 0 && sg_miter_next(miter)) { in nvmet_bdev_alloc_bip() 216 len = min_t(size_t, miter->length, resid); in nvmet_bdev_alloc_bip() 217 rc = bio_integrity_add_page(bio, miter->page, len, in nvmet_bdev_alloc_bip() 218 offset_in_page(miter->addr)); in nvmet_bdev_alloc_bip() 221 sg_miter_stop(miter); in nvmet_bdev_alloc_bip() 226 if (len < miter->length) in nvmet_bdev_alloc_bip() 227 miter->consumed -= miter->length - len; in nvmet_bdev_alloc_bip() 229 sg_miter_stop(miter); in nvmet_bdev_alloc_bip() 235 struct sg_mapping_iter *miter) in nvmet_bdev_alloc_bip() argument
|
| /linux/drivers/fpga/tests/ |
| H A D | fpga-mgr-test.c | 150 struct sg_mapping_iter miter; in op_write_sg() local 158 sg_miter_start(&miter, sgt->sgl, sgt->nents, SG_MITER_FROM_SG); in op_write_sg() 160 if (!sg_miter_skip(&miter, HEADER_SIZE)) { in op_write_sg() 165 while (sg_miter_next(&miter)) { in op_write_sg() 166 img = miter.addr; in op_write_sg() 167 for (i = 0; i < miter.length; i++) { in op_write_sg() 175 sg_miter_stop(&miter); in op_write_sg()
|
| /linux/drivers/target/ |
| H A D | target_core_iblock.c | 690 struct sg_mapping_iter *miter) in iblock_alloc_bip() argument 719 while (resid > 0 && sg_miter_next(miter)) { in iblock_alloc_bip() 721 len = min_t(size_t, miter->length, resid); in iblock_alloc_bip() 722 rc = bio_integrity_add_page(bio, miter->page, len, in iblock_alloc_bip() 723 offset_in_page(miter->addr)); in iblock_alloc_bip() 726 sg_miter_stop(miter); in iblock_alloc_bip() 731 miter->page, len, offset_in_page(miter->addr)); in iblock_alloc_bip() 734 if (len < miter->length) in iblock_alloc_bip() 735 miter->consumed -= miter->length - len; in iblock_alloc_bip() 737 sg_miter_stop(miter); in iblock_alloc_bip()
|
| /linux/crypto/ |
| H A D | hctr2.c | 160 struct sg_mapping_iter miter; in hctr2_hash_message() local 164 sg_miter_start(&miter, sgl, sg_nents(sgl), in hctr2_hash_message() 167 sg_miter_next(&miter); in hctr2_hash_message() 168 n = min_t(unsigned int, miter.length, bulk_len - i); in hctr2_hash_message() 169 polyval_update(poly_ctx, miter.addr, n); in hctr2_hash_message() 171 sg_miter_stop(&miter); in hctr2_hash_message()
|
| /linux/drivers/memstick/host/ |
| H A D | r592.c | 415 struct sg_mapping_iter miter; in r592_transfer_fifo_pio() local 431 sg_miter_start(&miter, &dev->req->sg, 1, SG_MITER_ATOMIC | in r592_transfer_fifo_pio() 435 while (sg_miter_next(&miter)) in r592_transfer_fifo_pio() 437 r592_write_fifo_pio(dev, miter.addr, miter.length); in r592_transfer_fifo_pio() 439 r592_read_fifo_pio(dev, miter.addr, miter.length); in r592_transfer_fifo_pio() 446 sg_miter_stop(&miter); in r592_transfer_fifo_pio()
|
| /linux/drivers/usb/gadget/udc/ |
| H A D | dummy_hcd.c | 232 struct sg_mapping_iter miter; member 1346 struct sg_mapping_iter *miter = &urbp->miter; in dummy_perform_transfer() local 1371 sg_miter_start(miter, urb->sg, urb->num_sgs, flags); in dummy_perform_transfer() 1374 next_sg = sg_miter_next(miter); in dummy_perform_transfer() 1380 ubuf = miter->addr; in dummy_perform_transfer() 1381 this_sg = min_t(u32, len, miter->length); in dummy_perform_transfer() 1382 miter->consumed = this_sg; in dummy_perform_transfer() 1393 next_sg = sg_miter_next(miter); in dummy_perform_transfer() 1402 sg_miter_stop(miter); in dummy_perform_transfer()
|
| /linux/drivers/ata/ |
| H A D | libata-scsi.c | 3575 struct sg_mapping_iter miter; in ata_scsi_report_zones_complete() local 3579 sg_miter_start(&miter, scsi_sglist(scmd), scsi_sg_count(scmd), in ata_scsi_report_zones_complete() 3583 while (sg_miter_next(&miter)) { in ata_scsi_report_zones_complete() 3593 hdr = miter.addr; in ata_scsi_report_zones_complete() 3605 while (offset < miter.length) { in ata_scsi_report_zones_complete() 3611 rec = miter.addr + offset; in ata_scsi_report_zones_complete() 3624 WARN_ON(offset + 64 > miter.length); in ata_scsi_report_zones_complete() 3629 sg_miter_stop(&miter); in ata_scsi_report_zones_complete()
|
| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_bsg.c | 228 struct sg_mapping_iter miter; in lpfc_bsg_copy_data() local 240 sg_miter_start(&miter, bsg_buffers->sg_list, bsg_buffers->sg_cnt, in lpfc_bsg_copy_data() 243 sg_valid = sg_miter_next(&miter); in lpfc_bsg_copy_data() 251 sg_address = miter.addr + sg_offset; in lpfc_bsg_copy_data() 252 transfer_bytes = miter.length - sg_offset; in lpfc_bsg_copy_data() 254 sg_address = miter.addr; in lpfc_bsg_copy_data() 255 transfer_bytes = miter.length; in lpfc_bsg_copy_data() 269 if (sg_offset >= miter.length) { in lpfc_bsg_copy_data() 271 sg_valid = sg_miter_next(&miter); in lpfc_bsg_copy_data() 275 sg_miter_stop(&miter); in lpfc_bsg_copy_data()
|
| /linux/drivers/net/ethernet/microchip/vcap/ |
| H A D | vcap_api.c | 1477 struct vcap_stream_iter kiter, miter; in vcap_decode_keyset() local 1513 vcap_iter_init(&miter, vctrl->vcaps[vt].sw_width, tgt, in vcap_decode_keyset() 1515 vcap_decode_field(maskstream, &miter, keyfield[idx].width, in vcap_decode_keyset()
|
| /linux/drivers/scsi/ |
| H A D | scsi_debug.c | 4388 struct sg_mapping_iter miter; in dif_copy_prot() local 4393 sg_miter_start(&miter, scsi_prot_sglist(scp), in dif_copy_prot() 4397 while (sg_miter_next(&miter) && resid > 0) { in dif_copy_prot() 4398 size_t len = min_t(size_t, miter.length, resid); in dif_copy_prot() 4405 paddr = miter.addr; in dif_copy_prot() 4422 sg_miter_stop(&miter); in dif_copy_prot()
|