| /linux-6.15/Documentation/core-api/ |
| H A D | swiotlb.rst | 14 temporary memory buffer is called a "bounce buffer". 21 freeing, and sync'ing of bounce buffers. Since the DMA attributes are per 41 to force all DMA I/O to use bounce buffers, and the bounce buffer memory is set 56 operation and ensuring that unused portions of the bounce buffers do not 132 the bounce buffer. Similarly, the end of the bounce buffer is rounded up to an 157 bounce buffers. Furthermore, a bounce buffer must be allocated from a single 196 the amount of memory available for allocation as bounce buffers. If a bounce 263 identifier for a bounce buffer. This address is returned by 279 occupied by the bounce buffer. An adjusted "alloc_size" of the bounce buffer is 292 a new bounce buffer and when freeing a bounce buffer. At pool creation time, the [all …]
|
| /linux-6.15/lib/ |
| H A D | test_hmm.c | 131 bounce->addr = addr; in dmirror_bounce_init() 133 bounce->cpages = 0; in dmirror_bounce_init() 135 if (!bounce->ptr) in dmirror_bounce_init() 157 vfree(bounce->ptr); in dmirror_bounce_fini() 367 ptr = bounce->ptr + ((start - bounce->addr) & PAGE_MASK); in dmirror_do_read() 381 bounce->cpages++; in dmirror_do_read() 419 bounce.size)) in dmirror_read() 433 ptr = bounce->ptr + ((start - bounce->addr) & PAGE_MASK); in dmirror_do_write() 447 bounce->cpages++; in dmirror_do_write() 815 bounce.size)) in dmirror_exclusive() [all …]
|
| /linux-6.15/arch/s390/mm/ |
| H A D | maccess.c | 154 void *bounce = ptr; in xlate_dev_mem_ptr() local 166 bounce = (void *)__get_free_page(GFP_ATOMIC); in xlate_dev_mem_ptr() 167 if (!bounce) in xlate_dev_mem_ptr() 173 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 177 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 179 memcpy(bounce, ptr, size); in xlate_dev_mem_ptr() 184 return bounce; in xlate_dev_mem_ptr()
|
| /linux-6.15/drivers/gpu/drm/ |
| H A 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.15/drivers/gpu/drm/vmwgfx/ |
| H A 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()
|
| H A 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.15/Documentation/devicetree/bindings/firmware/ |
| H A D | brcm,kona-smc.yaml | 7 title: Broadcom Kona family Secure Monitor bounce buffer 10 A bounce buffer used for non-secure to secure communications.
|
| /linux-6.15/drivers/char/ |
| H A 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.15/Documentation/i2c/ |
| H A 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.15/drivers/misc/eeprom/ |
| H A 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.15/fs/erofs/ |
| H A D | decompressor_deflate.c | 8 u8 bounce[PAGE_SIZE]; member 141 dctx.bounce = strm->bounce; in z_erofs_deflate_decompress()
|
| H A D | decompressor_lzma.c | 8 u8 bounce[PAGE_SIZE]; member 186 dctx.bounce = strm->bounce; in z_erofs_lzma_decompress()
|
| H A D | decompressor_zstd.c | 7 u8 bounce[PAGE_SIZE]; member 172 dctx.bounce = strm->bounce; in z_erofs_zstd_decompress()
|
| H A D | compress.h | 69 void *bounce; /* bounce buffer for inplace I/Os */ member
|
| /linux-6.15/block/ |
| H A D | bounce.c | 208 bool bounce = false; in __blk_queue_bounce() local 215 bounce = true; in __blk_queue_bounce() 217 if (!bounce) in __blk_queue_bounce()
|
| /linux-6.15/fs/bcachefs/ |
| H A D | io_read.c | 271 op->write.rbio.bounce = true; in __promote_alloc() 295 bool *bounce, in promote_alloc() argument 333 *bounce = true; in promote_alloc() 409 if (rbio->bounce) in bch2_rbio_free() 740 if (rbio->bounce) { in __bch2_read_endio() 805 if (rbio->bounce) { in __bch2_read_endio() 815 if (rbio->bounce) { in __bch2_read_endio() 1035 bounce = true; in __bch2_read_extent() 1086 } else if (bounce) { in __bch2_read_extent() 1097 rbio->bounce = true; in __bch2_read_extent() [all …]
|
| H A D | io_write_types.h | 29 bounce:1,
|
| /linux-6.15/arch/loongarch/include/asm/ |
| H A D | kvm_eiointc.h | 75 union bounce { union 80 } bounce; member
|
| /linux-6.15/Documentation/devicetree/bindings/leds/ |
| H A D | leds-el15203000.txt | 20 - bounce pattern 21 - inversed bounce pattern
|
| /linux-6.15/kernel/module/ |
| H A D | sysfs.c | 32 char bounce[MODULE_SECT_READ_SIZE + 1]; in module_sect_read() local 46 wrote = scnprintf(bounce, sizeof(bounce), "0x%px\n", in module_sect_read() 50 memcpy(buf, bounce, count); in module_sect_read()
|
| /linux-6.15/arch/loongarch/kvm/intc/ |
| H A D | eiointc.c | 150 data = s->bounce.reg_u8[index]; in loongarch_eiointc_readb() 192 data = s->bounce.reg_u16[index]; in loongarch_eiointc_readw() 234 data = s->bounce.reg_u32[index]; in loongarch_eiointc_readl() 276 data = s->bounce.reg_u64[index]; in loongarch_eiointc_readq() 378 s->bounce.reg_u8[index] = data; in loongarch_eiointc_writeb() 464 s->bounce.reg_u16[index] = data; in loongarch_eiointc_writew() 550 s->bounce.reg_u32[index] = data; in loongarch_eiointc_writel() 636 s->bounce.reg_u64[index] = data; in loongarch_eiointc_writeq() 853 p = &s->bounce.reg_u32[offset]; in kvm_eiointc_regs_access()
|
| /linux-6.15/drivers/gpu/drm/sun4i/ |
| H A 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.15/drivers/block/ |
| H A 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() 1220 BUG_ON(info->bounce); in blkif_free_ring() 1237 if (info->bounce) in blkif_free_ring() 1258 if (info->bounce) in blkif_free_ring() 1500 if (!info->bounce) { in blkif_completion() 1783 info->bounce = !xen_blkif_trusted || in talk_to_blkback() [all …]
|
| /linux-6.15/drivers/mtd/nand/raw/ |
| H A 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.15/drivers/media/usb/go7007/ |
| H A 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()
|