Home
last modified time | relevance | path

Searched refs:bounce (Results 1 – 25 of 29) sorted by relevance

12

/linux/Documentation/core-api/
H A Dswiotlb.rst13 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/lib/
H A Dtest_hmm.c129 static int dmirror_bounce_init(struct dmirror_bounce *bounce, in dmirror_bounce_init() argument
133 bounce->addr = addr; in dmirror_bounce_init()
134 bounce->size = size; in dmirror_bounce_init()
135 bounce->cpages = 0; in dmirror_bounce_init()
136 bounce->ptr = vmalloc(size); in dmirror_bounce_init()
137 if (!bounce->ptr) in dmirror_bounce_init()
157 static void dmirror_bounce_fini(struct dmirror_bounce *bounce) in dmirror_bounce_fini() argument
159 vfree(bounce->ptr); in dmirror_bounce_fini()
487 unsigned long end, struct dmirror_bounce *bounce) in dmirror_do_read() argument
492 ptr = bounce->ptr + ((start - bounce->addr) & PAGE_MASK); in dmirror_do_read()
[all …]
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_ioctl.c131 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()
/linux/Documentation/i2c/
H A Ddma-considerations.rst49 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/fs/erofs/
H A Ddecompressor_deflate.c8 u8 bounce[PAGE_SIZE]; member
141 dctx.bounce = strm->bounce; in __z_erofs_deflate_decompress()
H A Ddecompressor_zstd.c7 u8 bounce[PAGE_SIZE]; member
173 dctx.bounce = strm->bounce; in z_erofs_zstd_decompress()
H A Ddecompressor_lzma.c9 u8 bounce[PAGE_SIZE]; member
197 dctx.bounce = strm->bounce; in z_erofs_lzma_decompress()
H A Ddecompressor.c372 memcpy(dctx->bounce, *src, dctx->inbuf_sz); in z_erofs_stream_switch_bufs()
373 *src = dctx->bounce; in z_erofs_stream_switch_bufs()
/linux/Documentation/devicetree/bindings/leds/
H A Dleds-el15203000.txt20 - bounce pattern
21 - inversed bounce pattern
/linux/kernel/module/
H A Dsysfs.c32 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/drivers/block/
H A Dxen-blkfront.c220 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()
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()
[all …]
/linux/arch/loongarch/include/asm/
H A Dkvm_eiointc.h67 u64 bounce[EIOINTC_IRQS_U64_NUMS]; member
/linux/arch/loongarch/kvm/intc/
H A Deiointc.c146 data = s->bounce[index]; in loongarch_eiointc_read()
265 old = s->bounce[index]; in loongarch_eiointc_write()
266 s->bounce[index] = (old & ~mask) | data; in loongarch_eiointc_write()
491 p = (void *)s->bounce + offset * 4; in kvm_eiointc_regs_access()
/linux/Documentation/leds/
H A Dleds-el15203000.rst114 Inverted bounce mode for Pipe LED::
/linux/drivers/gpu/drm/xe/
H A Dxe_oa_types.h171 void *bounce; member
H A Dxe_oa.c333 xe_map_memcpy_from(stream->oa->xe, stream->oa_buffer.bounce, in xe_oa_copy_to_user()
335 return copy_to_user(dst, stream->oa_buffer.bounce, len); in xe_oa_copy_to_user()
721 kfree(stream->oa_buffer.bounce); in xe_oa_free_oa_buffer()
919 stream->oa_buffer.bounce = kmalloc(stream->oa_buffer.format->size, GFP_KERNEL); in xe_oa_alloc_oa_buffer()
920 if (!stream->oa_buffer.bounce) { in xe_oa_alloc_oa_buffer()
/linux/kernel/dma/
H A DKconfig90 int "Default SWIOTLB bounce buffer size in MB"
95 Sets the default size of the software IO TLB (SWIOTLB) bounce buffer
112 bool "Dynamic allocation of DMA bounce buffers"
/linux/arch/arm/vfp/
H A Dvfpmodule.c775 goto bounce; in vfp_support_entry()
803 bounce: regs->ARM_pc += 4; in vfp_support_entry()
/linux/Documentation/virt/hyperv/
H A Dcoco.rst214 Linux kernel DMA APIs, and so bounce buffering through decrypted swiotlb
220 equivalent of bounce buffering between encrypted and decrypted memory is
222 DMA APIs, and is bounce buffered through swiotlb memory implicitly like in
271 provides bounce-buffering, and although the data is not encrypted, the backing
/linux/Documentation/driver-api/usb/
H A Ddma.rst83 This may force your callers to do some bounce buffering, copying from
/linux/fs/notify/fanotify/
H A Dfanotify_user.c560 unsigned char bounce[FANOTIFY_INLINE_FH_LEN], *fh_buf; in copy_fid_info_to_user() local
623 memcpy(bounce, fh_buf, fh_len); in copy_fid_info_to_user()
624 fh_buf = bounce; in copy_fid_info_to_user()
/linux/drivers/gpu/drm/ttm/
H A Dttm_bo.c1120 bounce: in ttm_bo_validate()
1126 goto bounce; in ttm_bo_validate()
/linux/drivers/net/
H A Dxen-netfront.c181 bool bounce; member
757 * If the backend is not trusted bounce all data to zeroed pages to in xennet_start_xmit()
761 if (np->bounce || unlikely(PAGE_SIZE - offset < ETH_HLEN)) { in xennet_start_xmit()
2282 info->bounce = !xennet_trusted || in talk_to_netback()
2452 if (np->bounce) in xennet_connect()
/linux/drivers/usb/dwc3/
H A Dgadget.c1276 * @use_bounce_buffer: set to use bounce buffer in dwc3_prepare_one_trb()
3588 * We use bounce buffer for requests that needs extra TRB or OUT ZLP. If in dwc3_gadget_ep_reclaim_completed_trb()
3589 * this TRB points to the bounce buffer address, it's a MPS alignment in dwc3_gadget_ep_reclaim_completed_trb()
4873 dwc->bounce = dma_alloc_coherent(dwc->sysdev, DWC3_BOUNCE_SIZE, in dwc3_gadget_exit()
4875 if (!dwc->bounce) { in dwc3_gadget_exit()
4957 dma_free_coherent(dwc->sysdev, DWC3_BOUNCE_SIZE, dwc->bounce,
4985 dma_free_coherent(dwc->sysdev, DWC3_BOUNCE_SIZE, dwc->bounce,
/linux/Documentation/filesystems/
H A Dfscrypt.rst1500 (which cannot be modified) into bounce buffers. Then, the
1501 ciphertext in the bounce buffers is written to the storage backend.
1506 the filesystem already uses bounce buffers for writes for other
1508 bounce buffers. UBIFS optimizes this case by encrypting the data
1509 in-place in its existing bounce buffers.
1514 scheduling of decryption work, and no bounce buffers are used.

12