/linux/drivers/media/usb/uvc/ |
H A D | uvc_ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * uvc_ctrl.c -- USB Video Class driver - Controls 5 * Copyright (C) 2005-2010 23 #include <media/v4l2-ctrls.h> 35 /* ------------------------------------------------------------------------ 373 * device. The custom menu_mapping in the control @mapping is used when 380 * The function returns -EINVAL if the V4L2 menu index @idx isn't valid for the 384 static int uvc_mapping_get_menu_value(const struct uvc_control_mapping *mapping, in uvc_mapping_get_menu_value() argument 387 if (!test_bit(idx, &mapping->menu_mask)) in uvc_mapping_get_menu_value() 388 return -EINVAL; in uvc_mapping_get_menu_value() [all …]
|
/linux/drivers/gpu/drm/tegra/ |
H A D | uapi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 struct tegra_drm_mapping *mapping = in tegra_drm_mapping_release() local 20 host1x_bo_unpin(mapping->map); in tegra_drm_mapping_release() 21 host1x_bo_put(mapping->bo); in tegra_drm_mapping_release() 23 kfree(mapping); in tegra_drm_mapping_release() 26 void tegra_drm_mapping_put(struct tegra_drm_mapping *mapping) in tegra_drm_mapping_put() argument 28 kref_put(&mapping->ref, tegra_drm_mapping_release); in tegra_drm_mapping_put() 33 struct tegra_drm_mapping *mapping; in tegra_drm_channel_context_close() local 36 if (context->memory_context) in tegra_drm_channel_context_close() 37 host1x_memory_context_put(context->memory_context); in tegra_drm_channel_context_close() [all …]
|
H A D | submit.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 #include <linux/dma-fence-array.h> 5 #include <linux/dma-mapping.h> 27 dev_err_ratelimited(context->client->base.dev, \ 29 current->comm, ##__VA_ARGS__) 46 kref_get(&bo->ref); in gather_bo_get() 55 dma_free_attrs(bo->dev, bo->gather_data_words * 4, bo->gather_data, bo->gather_data_dma, in gather_bo_release() 64 kref_put(&bo->ref, gather_bo_release); in gather_bo_put() 76 return ERR_PTR(-ENOMEM); in gather_bo_pin() 78 kref_init(&map->ref); in gather_bo_pin() [all …]
|
/linux/include/linux/ |
H A D | pagemap.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 21 unsigned long invalidate_mapping_pages(struct address_space *mapping, 26 if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || in invalidate_remote_inode() 27 S_ISLNK(inode->i_mode)) in invalidate_remote_inode() 28 invalidate_mapping_pages(inode->i_mapping, 0, -1); in invalidate_remote_inode() 30 int invalidate_inode_pages2(struct address_space *mapping); 31 int invalidate_inode_pages2_range(struct address_space *mapping, 35 int filemap_invalidate_pages(struct address_space *mapping, 41 int filemap_fdatawait_keep_errors(struct address_space *mapping); 43 int filemap_fdatawait_range_keep_errors(struct address_space *mapping, [all …]
|
/linux/include/linux/spi/ |
H A D | spi-mem.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 59 * enum spi_mem_data_dir - describes the direction of a SPI memory data 61 * @SPI_MEM_NO_DATA: no data transferred 62 * @SPI_MEM_DATA_IN: data coming from the SPI memory 63 * @SPI_MEM_DATA_OUT: data sent to the SPI memory 72 * struct spi_mem_op - describes a SPI memory operation 74 * sent MSB-first. 90 * @data.buswidth: number of IO lanes used to send/receive the data 91 * @data.dtr: whether the data should be sent in DTR mode or not 92 * @data.ecc: whether error correction is required or not [all …]
|
/linux/Documentation/filesystems/iomap/ |
H A D | design.rst | 1 .. SPDX-License-Identifier: GPL-2.0 70 of mapping function calls into the filesystem across a larger amount of 71 data. 78 1. Obtain a space mapping via ``->iomap_begin`` 80 2. For each sub-unit of work... 82 1. Revalidate the mapping and go back to (1) above, if necessary. 89 4. Release the mapping via ``->iomap_end``, if necessary 105 ----------- 127 device pre-shutdown hook from returning before other threads have 130 * **filesystem mapping lock**: This synchronization primitive is [all …]
|
/linux/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_pcie.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 35 * enum ipc_pcie_sleep_state - Enum type to different sleep state transitions 45 * struct iosm_pcie - IPC_PCIE struct. 54 * @imem: Pointer to imem data struct 81 * struct ipc_skb_cb - Struct definition of the socket buffer which is mapped to 83 * @mapping: Store physical or IOVA mapped address of skb virtual add. 89 dma_addr_t mapping; member 96 * enum ipc_ul_usr_op - Control operation to execute the right action on 110 * ipc_pcie_addr_map - Maps the kernel's virtual address to either IOVA [all …]
|
/linux/drivers/net/xen-netback/ |
H A D | hash.c | 46 memcpy(new->tag, tag, len); in xenvif_add_hash() 47 new->len = len; in xenvif_add_hash() 48 new->val = val; in xenvif_add_hash() 50 spin_lock_irqsave(&vif->hash.cache.lock, flags); in xenvif_add_hash() 54 list_for_each_entry_rcu(entry, &vif->hash.cache.list, link, in xenvif_add_hash() 55 lockdep_is_held(&vif->hash.cache.lock)) { in xenvif_add_hash() 57 if (entry->len == len && in xenvif_add_hash() 58 memcmp(entry->tag, tag, len) == 0) in xenvif_add_hash() 60 if (!oldest || entry->seq < oldest->seq) in xenvif_add_hash() 65 new->seq = atomic_inc_return(&vif->hash.cache.seq); in xenvif_add_hash() [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | lvds-data-mapping.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/lvds-data-mapping.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: LVDS Data Mapping 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 11 - Thierry Reding <thierry.reding@gmail.com> 14 LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple 15 incompatible data link layers have been used over time to transmit image data 19 [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February [all …]
|
/linux/Documentation/admin-guide/device-mapper/ |
H A D | dm-zoned.rst | 2 dm-zoned 5 The dm-zoned device mapper target exposes a zoned block device (ZBC and 7 pattern constraints. In effect, it implements a drive-managed zoned 10 host-managed zoned block devices and can mitigate the potential 11 device-side performance degradation due to excessive random writes on 12 host-aware zoned block devices. 21 http://www.t13.org/Documents/UploadedDocuments/docs2015/di537r05-Zoned_Device_ATA_Command_Set_ZAC.p… 23 The dm-zoned implementation is simple and minimizes system overhead (CPU 25 host-managed disk with 256 MB zones, dm-zoned memory usage per disk 29 dm-zoned target devices are formatted and checked using the dmzadm [all …]
|
H A D | vdo-design.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 4 Design of dm-vdo 7 The dm-vdo (virtual data optimizer) target provides inline deduplication, 8 compression, zero-block elimination, and thin provisioning. A dm-vdo target 12 production environments ever since. It was made open-source in 2017 after 14 dm-vdo. For usage, see vdo.rst in the same directory as this file. 25 The design of dm-vdo is based on the idea that deduplication is a two-part 26 problem. The first is to recognize duplicate data. The second is to avoid 27 storing multiple copies of those duplicates. Therefore, dm-vdo has two main 29 duplicate data, and a data store with a reference counted block map that [all …]
|
/linux/drivers/net/ethernet/qlogic/qede/ |
H A D | qede_fp.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 3 * Copyright (c) 2015-2017 QLogic Corporation 4 * Copyright (c) 2019-2020 Marvell International Ltd. 31 dma_addr_t mapping; in qede_alloc_rx_buffer() local 32 struct page *data; in qede_alloc_rx_buffer() local 34 /* In case lazy-allocation is allowed, postpone allocation until the in qede_alloc_rx_buffer() 38 if (allow_lazy && likely(rxq->filled_buffers > 12)) { in qede_alloc_rx_buffer() 39 rxq->filled_buffers--; in qede_alloc_rx_buffer() 43 data = alloc_pages(GFP_ATOMIC, 0); in qede_alloc_rx_buffer() 44 if (unlikely(!data)) in qede_alloc_rx_buffer() [all …]
|
/linux/Documentation/trace/ |
H A D | ring-buffer-map.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Tracefs ring-buffer memory mapping 11 Tracefs ring-buffer memory map provides an efficient method to stream data 12 as no memory copy is necessary. The application mapping the ring-buffer becomes 13 then a consumer for that ring-buffer, in a similar fashion to trace_pipe. 15 Memory mapping setup 17 The mapping works with a mmap() of the trace_pipe_raw interface. 19 The first system page of the mapping contains ring-buffer statistics and 20 description. It is referred to as the meta-page. One of the most important 21 fields of the meta-page is the reader. It contains the sub-buffer ID which can [all …]
|
/linux/arch/arm/mm/ |
H A D | flush.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 1995-2002 Russell King 48 : "r" (to), "r" (to + PAGE_SIZE - 1), "r" (zero) in flush_pfn_alias() 55 unsigned long offset = vaddr & (PAGE_SIZE - 1); in flush_icache_alias() 94 if (vma->vm_flags & VM_EXEC) in flush_cache_range() 110 if (vma->vm_flags & VM_EXEC && icache_is_vivt_asid_tagged()) in flush_cache_pages() 145 /* VIPT non-aliasing D-cache */ in __flush_ptrace_access() 163 if (cpumask_test_cpu(smp_processor_id(), mm_cpumask(vma->vm_mm))) in flush_ptrace_access() 165 if (vma->vm_flags & VM_EXEC) in flush_ptrace_access() 179 * Copy user data from/to a page which is mapped into a different [all …]
|
/linux/mm/ |
H A D | filemap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 1994-1999 Linus Torvalds 30 #include <linux/error-injection.h> 33 #include <linux/backing-dev.h> 72 * finished 'unifying' the page and buffer cache and SMP-threaded the 73 * page-cache, 21.05.1999, Ingo Molnar <mingo@redhat.com> 75 * SMP-threaded pagemap-LRU 1999, Andrea Arcangeli <andrea@suse.de> 81 * ->i_mmap_rwsem (truncate_pagecache) 82 * ->private_lock (__free_pte->block_dirty_folio) 83 * ->swap_lock (exclusive_swap_page, others) [all …]
|
/linux/drivers/gpu/drm/ |
H A D | drm_of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #include <linux/media-bus-format.h> 25 * drm_of_crtc_port_mask - find the mask of a registered CRTC by port OF node 39 if (tmp->port == port) in drm_of_crtc_port_mask() 50 * drm_of_find_possible_crtcs - find the possible CRTCs for an encoder port 83 * drm_of_component_match_add - Add a component helper OF node match rule 101 * drm_of_component_probe - Generic probe function for a component based master 121 if (!dev->of_node) in drm_of_component_probe() 122 return -EINVAL; in drm_of_component_probe() 129 port = of_parse_phandle(dev->of_node, "ports", i); in drm_of_component_probe() [all …]
|
/linux/fs/nfs/ |
H A D | write.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Write file data over NFS. 23 #include <linux/backing-dev.h> 48 void (*complete)(void *data); 49 void *data; member 83 INIT_LIST_HEAD(&p->pages); in nfs_commitdata_alloc() 105 p->rw_mode = FMODE_WRITE; in nfs_writehdr_alloc() 120 void (*complete)(void *), void *data) in nfs_io_completion_init() argument 122 ioc->complete = complete; in nfs_io_completion_init() 123 ioc->data = data; in nfs_io_completion_init() [all …]
|
/linux/fs/xfs/ |
H A D | xfs_aops.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2000-2005 Silicon Graphics, Inc. 4 * Copyright (c) 2016-2018 Christoph Hellwig. 36 * Fast and loose check if this write could update the on-disk inode size. 40 return ioend->io_offset + ioend->io_size > in xfs_ioend_is_append() 41 XFS_I(ioend->io_inode)->i_disk_size; in xfs_ioend_is_append() 45 * Update on-disk file size now that data has been written to disk. 53 struct xfs_mount *mp = ip->i_mount; in xfs_setfilesize() 58 error = xfs_trans_alloc(mp, &M_RES(mp)->tr_fsyncts, 0, 0, 0, &tp); in xfs_setfilesize() 72 ip->i_disk_size = isize; in xfs_setfilesize() [all …]
|
/linux/Documentation/core-api/ |
H A D | dma-api-howto.rst | 2 Dynamic DMA mapping Guide 10 with example pseudo-code. For a concise description of the API, see 11 Documentation/core-api/dma-api.rst. 39 supports 64-bit addresses for main memory and PCI BARs, it may use an IOMMU 40 so devices only need to use 32-bit DMA addresses. 49 +-------+ +------+ +------+ 52 C +-------+ --------> B +------+ ----------> +------+ A 53 | | mapping | | by host | | 54 +-----+ | | | | bridge | | +--------+ 55 | | | | +------+ | | | | [all …]
|
/linux/drivers/spi/ |
H A D | spi-mem.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 #include <linux/spi/spi-mem.h> 20 * spi_controller_dma_map_mem_op_data() - DMA-map the buffer attached to a 24 * @sgt: a pointer to a non-initialized sg_table that will be filled by this 27 * Some controllers might want to do DMA on the data buffer embedded in @op. 28 * This helper prepares everything for you and provides a ready-to-use 32 * op->data.buf.{in,out} is DMA-able before calling this function. 42 if (!op->data.nbytes) in spi_controller_dma_map_mem_op_data() 43 return -EINVAL; in spi_controller_dma_map_mem_op_data() 45 if (op->data.dir == SPI_MEM_DATA_OUT && ctlr->dma_tx) in spi_controller_dma_map_mem_op_data() [all …]
|
/linux/fs/ecryptfs/ |
H A D | mmap.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * decryption of the file data as it passes between the lower 8 * Copyright (C) 1997-2003 Erez Zadok 9 * Copyright (C) 2001-2003 Stony Brook University 10 * Copyright (C) 2004-2007 International Business Machines Corp. 16 #include <linux/page-flags.h> 30 * Returns locked and up-to-date page (if ok), with increased 35 struct page *page = read_mapping_page(inode->i_mapping, index, NULL); in ecryptfs_get_locked_page() 44 * @wbc: Write-back control structure 46 * Returns zero on success; non-zero otherwise [all …]
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_xdp.c | 1 /* Broadcom NetXtreme-C/E network driver. 3 * Copyright (c) 2016-2017 Broadcom Limited 27 dma_addr_t mapping, u32 len, in bnxt_xmit_bd() argument 40 num_frags = sinfo->nr_frags; in bnxt_xmit_bd() 44 prod = txr->tx_prod; in bnxt_xmit_bd() 45 tx_buf = &txr->tx_buf_ring[RING_TX(bp, prod)]; in bnxt_xmit_bd() 46 tx_buf->nr_frags = num_frags; in bnxt_xmit_bd() 48 tx_buf->page = virt_to_head_page(xdp->data); in bnxt_xmit_bd() 50 txbd = &txr->tx_desc_ring[TX_RING(bp, prod)][TX_IDX(prod)]; in bnxt_xmit_bd() 54 txbd->tx_bd_len_flags_type = cpu_to_le32(flags); in bnxt_xmit_bd() [all …]
|
/linux/net/core/ |
H A D | ieee8021q_helpers.c | 1 // SPDX-License-Identifier: GPL-2.0 12 * IEEE 802.1Q-2022 in Annex I "I.3 Traffic type to traffic class mapping" and 13 * Table I-1 "Traffic type to traffic class mapping". 82 * ieee8021q_tt_to_tc - Map IEEE 802.1Q Traffic Type to Traffic Class 87 * on the number of queues configured on the NIC. The mapping is based on the 88 * example provided by IEEE 802.1Q-2022 in Annex I "I.3 Traffic type to traffic 89 * class mapping" and Table I-1 "Traffic type to traffic class mapping". 99 return -EINVAL; in ieee8021q_tt_to_tc() 105 IEEE8021Q_TT_MAX - 1, in ieee8021q_tt_to_tc() 106 "ieee8021q_8queue_tt_tc_map != max - 1"); in ieee8021q_tt_to_tc() [all …]
|
/linux/net/netfilter/ |
H A D | nft_set_pipapo.h | 1 // SPDX-License-Identifier: GPL-2.0-only 8 /* Count of concatenated fields depends on count of 32-bit nftables registers */ 25 #define NFT_PIPAPO_GROUPS_PER_BYTE(f) (BITS_PER_BYTE / (f)->bb) 32 * crossing page boundaries on most architectures (x86-64 and MIPS huge pages, 34 * keeps performance nice in case kvmalloc() gives us non-contiguous areas. 39 #define NFT_PIPAPO_LT_SIZE_LOW NFT_PIPAPO_LT_SIZE_THRESHOLD - \ 44 (round_up((f)->groups / NFT_PIPAPO_GROUPS_PER_BYTE(f), sizeof(u32))) 46 (NFT_PIPAPO_GROUPS_PADDED_SIZE(f) - (f)->groups / \ 52 /* Each n-bit range maps to up to n * 2 rules */ 55 /* Use the rest of mapping table buckets for rule indices, but it makes no sense [all …]
|
/linux/fs/netfs/ |
H A D | buffered_write.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Network filesystem high-level buffered write support. 38 static struct folio *netfs_grab_folio_for_write(struct address_space *mapping, in netfs_grab_folio_for_write() argument 44 if (mapping_large_folio_support(mapping)) in netfs_grab_folio_for_write() 47 return __filemap_get_folio(mapping, index, fgp_flags, in netfs_grab_folio_for_write() 48 mapping_gfp_mask(mapping)); in netfs_grab_folio_for_write() 53 * data written into the pagecache until we can find out from the server what 62 if (ctx->ops->update_i_size) { in netfs_update_i_size() 63 ctx->ops->update_i_size(inode, pos); in netfs_update_i_size() 69 fscache_update_cookie(ctx->cache, NULL, &pos); in netfs_update_i_size() [all …]
|