/linux-4.1.27/drivers/misc/cb710/ |
D | sgbuf2.c | 14 static bool sg_dwiter_next(struct sg_mapping_iter *miter) in sg_dwiter_next() argument 16 if (sg_miter_next(miter)) { in sg_dwiter_next() 17 miter->consumed = 0; in sg_dwiter_next() 23 static bool sg_dwiter_is_at_end(struct sg_mapping_iter *miter) in sg_dwiter_is_at_end() argument 25 return miter->length == miter->consumed && !sg_dwiter_next(miter); in sg_dwiter_is_at_end() 28 static uint32_t sg_dwiter_read_buffer(struct sg_mapping_iter *miter) in sg_dwiter_read_buffer() argument 35 len = min(miter->length - miter->consumed, left); in sg_dwiter_read_buffer() 36 memcpy(addr, miter->addr + miter->consumed, len); in sg_dwiter_read_buffer() 37 miter->consumed += len; in sg_dwiter_read_buffer() 42 } while (sg_dwiter_next(miter)); in sg_dwiter_read_buffer() [all …]
|
/linux-4.1.27/lib/ |
D | scatterlist.c | 456 void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, in sg_miter_start() argument 459 memset(miter, 0, sizeof(struct sg_mapping_iter)); in sg_miter_start() 461 __sg_page_iter_start(&miter->piter, sgl, nents, 0); in sg_miter_start() 463 miter->__flags = flags; in sg_miter_start() 467 static bool sg_miter_get_next_page(struct sg_mapping_iter *miter) in sg_miter_get_next_page() argument 469 if (!miter->__remaining) { in sg_miter_get_next_page() 473 if (!__sg_page_iter_next(&miter->piter)) in sg_miter_get_next_page() 476 sg = miter->piter.sg; in sg_miter_get_next_page() 477 pgoffset = miter->piter.sg_pgoffset; in sg_miter_get_next_page() 479 miter->__offset = pgoffset ? 0 : sg->offset; in sg_miter_get_next_page() [all …]
|
/linux-4.1.27/drivers/usb/storage/ |
D | protocol.c | 140 struct sg_mapping_iter miter; in usb_stor_access_xfer_buf() local 148 sg_miter_start(&miter, sg, nents, dir == FROM_XFER_BUF ? in usb_stor_access_xfer_buf() 151 if (!sg_miter_skip(&miter, *offset)) in usb_stor_access_xfer_buf() 154 while (sg_miter_next(&miter) && cnt < buflen) { in usb_stor_access_xfer_buf() 155 unsigned int len = min_t(unsigned int, miter.length, in usb_stor_access_xfer_buf() 159 memcpy(buffer + cnt, miter.addr, len); in usb_stor_access_xfer_buf() 161 memcpy(miter.addr, buffer + cnt, len); in usb_stor_access_xfer_buf() 163 if (*offset + len < miter.piter.sg->length) { in usb_stor_access_xfer_buf() 165 *sgptr = miter.piter.sg; in usb_stor_access_xfer_buf() 168 *sgptr = sg_next(miter.piter.sg); in usb_stor_access_xfer_buf() [all …]
|
/linux-4.1.27/include/linux/ |
D | cb710.h | 161 uint32_t cb710_sg_dwiter_read_next_block(struct sg_mapping_iter *miter); 162 void cb710_sg_dwiter_write_next_block(struct sg_mapping_iter *miter, uint32_t data); 179 static inline void cb710_sg_dwiter_write_from_io(struct sg_mapping_iter *miter, in cb710_sg_dwiter_write_from_io() argument 183 cb710_sg_dwiter_write_next_block(miter, ioread32(port)); in cb710_sg_dwiter_write_from_io() 201 static inline void cb710_sg_dwiter_read_to_io(struct sg_mapping_iter *miter, in cb710_sg_dwiter_read_to_io() argument 205 iowrite32(cb710_sg_dwiter_read_next_block(miter), port); in cb710_sg_dwiter_read_to_io()
|
D | scatterlist.h | 346 void sg_miter_start(struct sg_mapping_iter *miter, struct scatterlist *sgl, 348 bool sg_miter_skip(struct sg_mapping_iter *miter, off_t offset); 349 bool sg_miter_next(struct sg_mapping_iter *miter); 350 void sg_miter_stop(struct sg_mapping_iter *miter);
|
/linux-4.1.27/drivers/mmc/host/ |
D | jz4740_mmc.c | 145 struct sg_mapping_iter miter; member 468 struct sg_mapping_iter *miter = &host->miter; in jz4740_mmc_write_data() local 474 while (sg_miter_next(miter)) { in jz4740_mmc_write_data() 475 buf = miter->addr; in jz4740_mmc_write_data() 476 i = miter->length / 4; in jz4740_mmc_write_data() 506 data->bytes_xfered += miter->length; in jz4740_mmc_write_data() 508 sg_miter_stop(miter); in jz4740_mmc_write_data() 513 miter->consumed = (void *)buf - miter->addr; in jz4740_mmc_write_data() 514 data->bytes_xfered += miter->consumed; in jz4740_mmc_write_data() 515 sg_miter_stop(miter); in jz4740_mmc_write_data() [all …]
|
D | cb710-mmc.c | 246 struct sg_mapping_iter *miter, size_t dw_count) in cb710_mmc_receive_pio() argument 255 cb710_sg_dwiter_write_from_io(miter, in cb710_mmc_receive_pio() 268 struct sg_mapping_iter miter; in cb710_mmc_receive() local 277 sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_TO_SG); in cb710_mmc_receive() 288 err = cb710_mmc_receive_pio(slot, &miter, 4); in cb710_mmc_receive() 301 err = cb710_mmc_receive_pio(slot, &miter, len); in cb710_mmc_receive() 306 sg_miter_stop(&miter); in cb710_mmc_receive() 312 struct sg_mapping_iter miter; in cb710_mmc_send() local 321 sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_FROM_SG); in cb710_mmc_send() 336 cb710_sg_dwiter_read_to_io(&miter, in cb710_mmc_send() [all …]
|
/linux-4.1.27/drivers/memstick/host/ |
D | r592.c | 420 struct sg_mapping_iter miter; in r592_transfer_fifo_pio() local 436 sg_miter_start(&miter, &dev->req->sg, 1, SG_MITER_ATOMIC | in r592_transfer_fifo_pio() 440 while (sg_miter_next(&miter)) in r592_transfer_fifo_pio() 442 r592_write_fifo_pio(dev, miter.addr, miter.length); in r592_transfer_fifo_pio() 444 r592_read_fifo_pio(dev, miter.addr, miter.length); in r592_transfer_fifo_pio() 451 sg_miter_stop(&miter); in r592_transfer_fifo_pio()
|
/linux-4.1.27/drivers/memstick/core/ |
D | ms_block.c | 102 struct sg_mapping_iter miter; in msb_sg_compare_to_buffer() local 104 sg_miter_start(&miter, sg, sg_nents(sg), in msb_sg_compare_to_buffer() 107 while (sg_miter_next(&miter) && len > 0) { in msb_sg_compare_to_buffer() 108 if (offset >= miter.length) { in msb_sg_compare_to_buffer() 109 offset -= miter.length; in msb_sg_compare_to_buffer() 113 cmplen = min(miter.length - offset, len); in msb_sg_compare_to_buffer() 114 retval = memcmp(miter.addr + offset, buffer, cmplen) ? -1 : 0; in msb_sg_compare_to_buffer() 126 sg_miter_stop(&miter); in msb_sg_compare_to_buffer() 866 struct sg_mapping_iter miter; in msb_read_page() local 872 sg_miter_start(&miter, sg, sg_nents(sg), in msb_read_page() [all …]
|
/linux-4.1.27/drivers/usb/gadget/udc/ |
D | dummy_hcd.c | 155 struct sg_mapping_iter miter; member 1220 struct sg_mapping_iter *miter = &urbp->miter; in dummy_perform_transfer() local 1245 sg_miter_start(miter, urb->sg, urb->num_sgs, flags); in dummy_perform_transfer() 1248 next_sg = sg_miter_next(miter); in dummy_perform_transfer() 1254 ubuf = miter->addr; in dummy_perform_transfer() 1255 this_sg = min_t(u32, len, miter->length); in dummy_perform_transfer() 1256 miter->consumed = this_sg; in dummy_perform_transfer() 1267 next_sg = sg_miter_next(miter); in dummy_perform_transfer() 1276 sg_miter_stop(miter); in dummy_perform_transfer()
|
/linux-4.1.27/drivers/scsi/ |
D | scsi_debug.c | 2481 struct sg_mapping_iter miter; in dif_copy_prot() local 2486 sg_miter_start(&miter, scsi_prot_sglist(SCpnt), in dif_copy_prot() 2490 while (sg_miter_next(&miter) && resid > 0) { in dif_copy_prot() 2491 size_t len = min(miter.length, resid); in dif_copy_prot() 2498 paddr = miter.addr; in dif_copy_prot() 2515 sg_miter_stop(&miter); in dif_copy_prot() 3388 struct sg_mapping_iter miter; in resp_xdwriteread() local 3401 sg_miter_start(&miter, sdb->table.sgl, sdb->table.nents, in resp_xdwriteread() 3404 while (sg_miter_next(&miter)) { in resp_xdwriteread() 3405 kaddr = miter.addr; in resp_xdwriteread() [all …]
|
/linux-4.1.27/drivers/scsi/lpfc/ |
D | lpfc_bsg.c | 223 struct sg_mapping_iter miter; in lpfc_bsg_copy_data() local 235 sg_miter_start(&miter, bsg_buffers->sg_list, bsg_buffers->sg_cnt, in lpfc_bsg_copy_data() 238 sg_valid = sg_miter_next(&miter); in lpfc_bsg_copy_data() 246 sg_address = miter.addr + sg_offset; in lpfc_bsg_copy_data() 247 transfer_bytes = miter.length - sg_offset; in lpfc_bsg_copy_data() 249 sg_address = miter.addr; in lpfc_bsg_copy_data() 250 transfer_bytes = miter.length; in lpfc_bsg_copy_data() 264 if (sg_offset >= miter.length) { in lpfc_bsg_copy_data() 266 sg_valid = sg_miter_next(&miter); in lpfc_bsg_copy_data() 270 sg_miter_stop(&miter); in lpfc_bsg_copy_data()
|