/linux-6.12.1/Documentation/core-api/ |
D | swiotlb.rst | 13 memory buffer. This approach is generically called "bounce buffering", and the 14 temporary memory buffer is called a "bounce buffer". 20 if bounce buffering is necessary. If so, the DMA layer manages the allocation, 21 freeing, and sync'ing of bounce buffers. Since the DMA attributes are per 22 device, some devices in a system may use bounce buffering while others do not. 24 Because the CPU copies data between the bounce buffer and the original target 25 memory buffer, doing bounce buffering is slower than doing DMA directly to the 33 only provide 32-bit DMA addresses. By allocating bounce buffer memory below 41 to force all DMA I/O to use bounce buffers, and the bounce buffer memory is set 42 up as unencrypted. The host does DMA I/O to/from the bounce buffer memory, and [all …]
|
/linux-6.12.1/lib/ |
D | test_hmm.c | 127 static int dmirror_bounce_init(struct dmirror_bounce *bounce, in dmirror_bounce_init() argument 131 bounce->addr = addr; in dmirror_bounce_init() 132 bounce->size = size; in dmirror_bounce_init() 133 bounce->cpages = 0; in dmirror_bounce_init() 134 bounce->ptr = vmalloc(size); in dmirror_bounce_init() 135 if (!bounce->ptr) in dmirror_bounce_init() 155 static void dmirror_bounce_fini(struct dmirror_bounce *bounce) in dmirror_bounce_fini() argument 157 vfree(bounce->ptr); in dmirror_bounce_fini() 361 unsigned long end, struct dmirror_bounce *bounce) in dmirror_do_read() argument 366 ptr = bounce->ptr + ((start - bounce->addr) & PAGE_MASK); in dmirror_do_read() [all …]
|
/linux-6.12.1/arch/s390/mm/ |
D | maccess.c | 153 void *bounce = ptr; in xlate_dev_mem_ptr() local 165 bounce = (void *)__get_free_page(GFP_ATOMIC); in xlate_dev_mem_ptr() 166 if (!bounce) in xlate_dev_mem_ptr() 172 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 176 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 178 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 183 return bounce; in xlate_dev_mem_ptr()
|
/linux-6.12.1/drivers/gpu/drm/ |
D | drm_cache.c | 230 char bounce[MEMCPY_BOUNCE_SIZE]; in memcpy_fallback() local 235 memcpy_fromio(bounce, _src, MEMCPY_BOUNCE_SIZE); in memcpy_fallback() 236 memcpy_toio(_dst, bounce, MEMCPY_BOUNCE_SIZE); in memcpy_fallback() 242 memcpy_fromio(bounce, _src, MEMCPY_BOUNCE_SIZE); in memcpy_fallback() 243 memcpy_toio(_dst, bounce, MEMCPY_BOUNCE_SIZE); in memcpy_fallback()
|
/linux-6.12.1/drivers/gpu/drm/vmwgfx/ |
D | vmwgfx_ioctl.c | 131 void *bounce = NULL; in vmw_get_cap_3d_ioctl() local 149 bounce = vzalloc(size); in vmw_get_cap_3d_ioctl() 150 if (unlikely(bounce == NULL)) { in vmw_get_cap_3d_ioctl() 155 ret = vmw_devcaps_copy(dev_priv, vmw_fp->gb_aware, bounce, size); in vmw_get_cap_3d_ioctl() 159 ret = copy_to_user(buffer, bounce, size); in vmw_get_cap_3d_ioctl() 163 vfree(bounce); in vmw_get_cap_3d_ioctl()
|
D | vmwgfx_devcaps.c | 56 static int vmw_fill_compat_cap(struct vmw_private *dev_priv, void *bounce, in vmw_fill_compat_cap() argument 60 (struct svga_3d_compat_cap *) bounce; in vmw_fill_compat_cap()
|
/linux-6.12.1/drivers/char/ |
D | mem.c | 106 char *bounce; in read_mem() local 130 bounce = kmalloc(PAGE_SIZE, GFP_KERNEL); in read_mem() 131 if (!bounce) in read_mem() 159 probe = copy_from_kernel_nofault(bounce, ptr, sz); in read_mem() 164 remaining = copy_to_user(buf, bounce, sz); in read_mem() 177 kfree(bounce); in read_mem() 183 kfree(bounce); in read_mem()
|
/linux-6.12.1/Documentation/i2c/ |
D | dma-considerations.rst | 49 bounce buffer. But you don't need to care about that detail, just use the 50 returned buffer. If NULL is returned, the threshold was not met or a bounce 54 function ensures a potentially used bounce buffer is freed:: 62 The bounce buffer handling from the core is generic and simple. It will always 63 allocate a new bounce buffer. If you want a more sophisticated handling (e.g.
|
/linux-6.12.1/fs/bcachefs/ |
D | io_read.c | 153 BUG_ON(!rbio->bounce); in promote_start() 211 (*rbio)->bounce = true; in __promote_alloc() 279 bool *bounce, in promote_alloc() argument 314 *bounce = true; in promote_alloc() 356 BUG_ON(rbio->bounce && !rbio->split); in bch2_rbio_free() 362 if (rbio->bounce) in bch2_rbio_free() 583 if (rbio->bounce) { in __bch2_read_endio() 632 if (rbio->bounce) { in __bch2_read_endio() 665 if (!rbio->bounce && (rbio->flags & BCH_READ_USER_MAPPED)) { in __bch2_read_endio() 849 bool bounce = false, read_full = false, narrow_crcs = false; in __bch2_read_extent() local [all …]
|
D | io_write_types.h | 29 bounce:1,
|
D | compress.c | 84 goto bounce; in __bio_map_or_bounce() 88 goto bounce; in __bio_map_or_bounce() 99 goto bounce; in __bio_map_or_bounce() 114 bounce: in __bio_map_or_bounce()
|
D | io_write.c | 420 n->bounce = false; in bch2_submit_wbio_replicas() 676 if (wbio->bounce) in bch2_write_endio() 742 wbio->bounce = true; in bch2_write_bio_alloc() 901 bool bounce = false; in bch2_write_extent() local 924 bounce = true; in bch2_write_extent() 939 bounce = true; in bch2_write_extent() 957 BUG_ON(op->compression_opt && !bounce); in bch2_write_extent() 973 if (bounce) { in bch2_write_extent() 1090 if (to_wbio(dst)->bounce) in bch2_write_extent()
|
/linux-6.12.1/drivers/misc/eeprom/ |
D | at25.c | 205 u8 *bounce; in at25_ee_write() local 218 bounce = kmalloc(buf_size + at25->addrlen + 1, GFP_KERNEL); in at25_ee_write() 219 if (!bounce) in at25_ee_write() 231 u8 *cp = bounce; in at25_ee_write() 268 status = spi_write(at25->spi, bounce, in at25_ee_write() 315 kfree(bounce); in at25_ee_write()
|
/linux-6.12.1/fs/erofs/ |
D | decompressor_deflate.c | 8 u8 bounce[PAGE_SIZE]; member 147 dctx.bounce = strm->bounce; in z_erofs_deflate_decompress()
|
D | decompressor_zstd.c | 7 u8 bounce[PAGE_SIZE]; member 178 dctx.bounce = strm->bounce; in z_erofs_zstd_decompress()
|
D | decompressor_lzma.c | 8 u8 bounce[PAGE_SIZE]; member 192 dctx.bounce = strm->bounce; in z_erofs_lzma_decompress()
|
D | compress.h | 90 void *bounce; /* bounce buffer for inplace I/Os */ member
|
/linux-6.12.1/block/ |
D | bounce.c | 210 bool bounce = false; in __blk_queue_bounce() local 217 bounce = true; in __blk_queue_bounce() 219 if (!bounce) in __blk_queue_bounce()
|
/linux-6.12.1/Documentation/devicetree/bindings/leds/ |
D | leds-el15203000.txt | 20 - bounce pattern 21 - inversed bounce pattern
|
/linux-6.12.1/kernel/module/ |
D | sysfs.c | 40 char bounce[MODULE_SECT_READ_SIZE + 1]; in module_sect_read() local 54 wrote = scnprintf(bounce, sizeof(bounce), "0x%px\n", in module_sect_read() 58 memcpy(buf, bounce, count); in module_sect_read()
|
/linux-6.12.1/drivers/gpu/drm/sun4i/ |
D | sun6i_mipi_dsi.c | 886 u8 *bounce; in sun6i_dsi_dcs_write_long() local 892 bounce = kzalloc(ALIGN(msg->tx_len + sizeof(crc), 4), GFP_KERNEL); in sun6i_dsi_dcs_write_long() 893 if (!bounce) in sun6i_dsi_dcs_write_long() 896 memcpy(bounce, msg->tx_buf, msg->tx_len); in sun6i_dsi_dcs_write_long() 899 crc = sun6i_dsi_crc_compute(bounce, msg->tx_len); in sun6i_dsi_dcs_write_long() 900 memcpy((u8 *)bounce + msg->tx_len, &crc, sizeof(crc)); in sun6i_dsi_dcs_write_long() 903 regmap_bulk_write(dsi->regs, SUN6I_DSI_CMD_TX_REG(1), bounce, DIV_ROUND_UP(len, 4)); in sun6i_dsi_dcs_write_long() 905 kfree(bounce); in sun6i_dsi_dcs_write_long()
|
/linux-6.12.1/drivers/block/ |
D | xen-blkfront.c | 220 unsigned int bounce:1; member 321 if (info->bounce) { in fill_grant_buffer() 341 if (info->bounce) in fill_grant_buffer() 387 if (info->bounce) in get_grant() 411 if (!info->bounce) { in get_indirect_grant() 714 .need_copy = rq_data_dir(req) && info->bounce, in blkif_queue_rw_req() 1001 "bounce buffer:", info->bounce ? "enabled" : "disabled;"); in xlvbd_flush() 1221 BUG_ON(info->bounce); in blkif_free_ring() 1238 if (info->bounce) in blkif_free_ring() 1259 if (info->bounce) in blkif_free_ring() [all …]
|
/linux-6.12.1/drivers/mtd/nand/raw/ |
D | r852.c | 174 int bounce = 0; in r852_do_dma() local 193 bounce = 1; in r852_do_dma() 195 if (!bounce) { in r852_do_dma() 200 bounce = 1; in r852_do_dma() 203 if (bounce) { in r852_do_dma() 223 if (do_read && bounce) in r852_do_dma()
|
/linux-6.12.1/drivers/media/usb/go7007/ |
D | go7007-driver.c | 82 void *bounce; in go7007_load_encoder() local 97 bounce = kmemdup(fw_entry->data + 16, fw_len, GFP_KERNEL); in go7007_load_encoder() 98 if (bounce == NULL) { in go7007_load_encoder() 105 go->boot_fw = bounce; in go7007_load_encoder()
|
/linux-6.12.1/Documentation/leds/ |
D | leds-el15203000.rst | 114 Inverted bounce mode for Pipe LED::
|