| /kernel/linux/linux-5.10/fs/nfs/flexfilelayout/ |
| D | flexfilelayout.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 43 struct nfs4_ff_layout_mirror *mirror); 52 pnfs_init_ds_commit_info(&ffl->commit_info); in ff_layout_alloc_layout_hdr() 53 INIT_LIST_HEAD(&ffl->error_list); in ff_layout_alloc_layout_hdr() 54 INIT_LIST_HEAD(&ffl->mirrors); in ff_layout_alloc_layout_hdr() 55 ffl->last_report_time = ktime_get(); in ff_layout_alloc_layout_hdr() 56 ffl->commit_info.ops = &ff_layout_commit_ops; in ff_layout_alloc_layout_hdr() 57 return &ffl->generic_hdr; in ff_layout_alloc_layout_hdr() 68 list_for_each_entry_safe(err, n, &ffl->error_list, list) { in ff_layout_free_layout_hdr() [all …]
|
| D | flexfilelayoutdev.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 29 nfs4_put_deviceid_node(&mirror_ds->id_node); in nfs4_ff_layout_put_deviceid() 34 nfs4_print_deviceid(&mirror_ds->id_node.deviceid); in nfs4_ff_layout_free_deviceid() 35 nfs4_pnfs_ds_put(mirror_ds->ds); in nfs4_ff_layout_free_deviceid() 36 kfree(mirror_ds->ds_versions); in nfs4_ff_layout_free_deviceid() 40 /* Decode opaque device data and construct new_ds using it */ 55 int i, ret = -ENOMEM; in nfs4_ff_alloc_deviceid_node() 66 nfs4_init_deviceid_node(&new_ds->id_node, in nfs4_ff_alloc_deviceid_node() 68 &pdev->dev_id); in nfs4_ff_alloc_deviceid_node() [all …]
|
| D | flexfilelayout.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * NFSv4 flexfile layout driver data structures. 5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 20 /* XXX: Let's filter out insanely large mirror count for now to avoid oom 45 struct list_head list; /* linked in mirror error_list */ 146 if (idx < fls->mirror_array_cnt) in FF_LAYOUT_COMP() 147 return fls->mirror_array[idx]; in FF_LAYOUT_COMP() 154 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); in FF_LAYOUT_DEVID_NODE() local 156 if (mirror != NULL) { in FF_LAYOUT_DEVID_NODE() 157 struct nfs4_ff_layout_ds *mirror_ds = mirror->mirror_ds; in FF_LAYOUT_DEVID_NODE() [all …]
|
| /kernel/linux/linux-4.19/fs/nfs/flexfilelayout/ |
| D | flexfilelayout.c | 4 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 40 struct nfs4_ff_layout_mirror *mirror); 49 INIT_LIST_HEAD(&ffl->error_list); in ff_layout_alloc_layout_hdr() 50 INIT_LIST_HEAD(&ffl->mirrors); in ff_layout_alloc_layout_hdr() 51 ffl->last_report_time = ktime_get(); in ff_layout_alloc_layout_hdr() 52 return &ffl->generic_hdr; in ff_layout_alloc_layout_hdr() 62 list_for_each_entry_safe(err, n, &FF_LAYOUT_FROM_HDR(lo)->error_list, in ff_layout_free_layout_hdr() 64 list_del(&err->list); in ff_layout_free_layout_hdr() 76 return -ENOBUFS; in decode_pnfs_stateid() 77 stateid->type = NFS4_PNFS_DS_STATEID_TYPE; in decode_pnfs_stateid() [all …]
|
| D | flexfilelayoutdev.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 29 nfs4_put_deviceid_node(&mirror_ds->id_node); in nfs4_ff_layout_put_deviceid() 34 nfs4_print_deviceid(&mirror_ds->id_node.deviceid); in nfs4_ff_layout_free_deviceid() 35 nfs4_pnfs_ds_put(mirror_ds->ds); in nfs4_ff_layout_free_deviceid() 36 kfree(mirror_ds->ds_versions); in nfs4_ff_layout_free_deviceid() 40 /* Decode opaque device data and construct new_ds using it */ 55 int i, ret = -ENOMEM; in nfs4_ff_alloc_deviceid_node() 66 nfs4_init_deviceid_node(&new_ds->id_node, in nfs4_ff_alloc_deviceid_node() 68 &pdev->dev_id); in nfs4_ff_alloc_deviceid_node() [all …]
|
| D | flexfilelayout.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * NFSv4 flexfile layout driver data structures. 5 * Copyright (c) 2014, Primary Data, Inc. All rights reserved. 20 /* XXX: Let's filter out insanely large mirror count for now to avoid oom 45 struct list_head list; /* linked in mirror error_list */ 146 if (idx < fls->mirror_array_cnt) in FF_LAYOUT_COMP() 147 return fls->mirror_array[idx]; in FF_LAYOUT_COMP() 154 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx); in FF_LAYOUT_DEVID_NODE() local 156 if (mirror != NULL) { in FF_LAYOUT_DEVID_NODE() 157 struct nfs4_ff_layout_ds *mirror_ds = mirror->mirror_ds; in FF_LAYOUT_DEVID_NODE() [all …]
|
| /kernel/linux/linux-5.10/tools/testing/selftests/vm/ |
| D | hmm-tests.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * the linux kernel to help device drivers mirror a process address space in 6 * makes communication and data exchange a lot easier. 38 void *mirror; member 50 #define ALIGN(x, a) (((x) + (a - 1)) & (~((a) - 1))) 82 self->page_size = sysconf(_SC_PAGE_SIZE); in FIXTURE_SETUP() 83 self->page_shift = ffs(self->page_size) - 1; in FIXTURE_SETUP() 85 self->fd = hmm_open(0); in FIXTURE_SETUP() 86 ASSERT_GE(self->fd, 0); in FIXTURE_SETUP() 91 self->page_size = sysconf(_SC_PAGE_SIZE); in FIXTURE_SETUP() [all …]
|
| /kernel/linux/linux-4.19/mm/ |
| D | hmm.c | 42 * struct hmm - HMM per mm struct 63 * hmm_register - register HMM against an mm (HMM internal) 72 struct hmm *hmm = READ_ONCE(mm->hmm); in hmm_register() 77 * hence we should always have pre-allocated an new hmm struct in hmm_register() 86 INIT_LIST_HEAD(&hmm->mirrors); in hmm_register() 87 init_rwsem(&hmm->mirrors_sem); in hmm_register() 88 atomic_set(&hmm->sequence, 0); in hmm_register() 89 hmm->mmu_notifier.ops = NULL; in hmm_register() 90 INIT_LIST_HEAD(&hmm->ranges); in hmm_register() 91 spin_lock_init(&hmm->lock); in hmm_register() [all …]
|
| /kernel/linux/linux-4.19/drivers/md/ |
| D | dm-raid1.c | 3 * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. 8 #include "dm-bio-record.h" 16 #include <linux/device-mapper.h> 17 #include <linux/dm-io.h> 18 #include <linux/dm-dirty-log.h> 19 #include <linux/dm-kcopyd.h> 20 #include <linux/dm-region-hash.h> 30 #define errors_handled(p) ((p)->features & DM_RAID1_HANDLE_ERRORS) 31 #define keep_log(p) ((p)->features & DM_RAID1_KEEP_LOG) 35 /*----------------------------------------------------------------- [all …]
|
| /kernel/linux/linux-5.10/drivers/md/ |
| D | dm-raid1.c | 3 * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved. 8 #include "dm-bio-record.h" 16 #include <linux/device-mapper.h> 17 #include <linux/dm-io.h> 18 #include <linux/dm-dirty-log.h> 19 #include <linux/dm-kcopyd.h> 20 #include <linux/dm-region-hash.h> 30 #define errors_handled(p) ((p)->features & DM_RAID1_HANDLE_ERRORS) 31 #define keep_log(p) ((p)->features & DM_RAID1_KEEP_LOG) 35 /*----------------------------------------------------------------- [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | hmm.h | 33 * Use HMM address space mirroring if you want to mirror range of the CPU page 34 * table of a process into a device page table. Here, "mirror" means "keep 35 * synchronized". Prerequisites: the device must provide the ability to write- 49 * updates to each device driver that has registered a mirror. It also provides 83 * hmm_pfn_flag_e - HMM flag enums 104 * hmm_pfn_value_e - HMM pfn special value 131 * struct hmm_range - track invalidation lock on virtual address range 156 * hmm_pfn_to_page() - return struct page pointed to by a valid HMM pfn 167 if (pfn == range->values[HMM_PFN_NONE]) in hmm_pfn_to_page() 169 if (pfn == range->values[HMM_PFN_ERROR]) in hmm_pfn_to_page() [all …]
|
| /kernel/linux/linux-4.19/fs/nfs/ |
| D | pagelist.c | 36 &desc->pg_mirrors[desc->pg_mirror_idx] : in nfs_pgio_current_mirror() 37 &desc->pg_mirrors[0]; in nfs_pgio_current_mirror() 45 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_pgheader_init() local 48 hdr->req = nfs_list_entry(mirror->pg_list.next); in nfs_pgheader_init() 49 hdr->inode = desc->pg_inode; in nfs_pgheader_init() 50 hdr->cred = hdr->req->wb_context->cred; in nfs_pgheader_init() 51 hdr->io_start = req_offset(hdr->req); in nfs_pgheader_init() 52 hdr->good_bytes = mirror->pg_count; in nfs_pgheader_init() 53 hdr->io_completion = desc->pg_io_completion; in nfs_pgheader_init() 54 hdr->dreq = desc->pg_dreq; in nfs_pgheader_init() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-omap1/ |
| D | lcd_dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/arch/arm/mach-omap1/lcd_dma.c 5 * Extracted from arch/arm/plat-omap/dma.c 6 * Copyright (C) 2003 - 2008 Nokia Corporation 11 * OMAP2/3 support Copyright (C) 2004-2007 Texas Instruments, Inc. 13 * Some functions based on earlier dma-omap.c Copyright (C) 2001 RidgeRun, Inc. 16 * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com> 26 #include <linux/omap-dma.h> 52 void (*callback)(u16 status, void *data); 59 int mirror; member [all …]
|
| /kernel/linux/linux-4.19/arch/arm/mach-omap1/ |
| D | lcd_dma.c | 2 * linux/arch/arm/mach-omap1/lcd_dma.c 4 * Extracted from arch/arm/plat-omap/dma.c 5 * Copyright (C) 2003 - 2008 Nokia Corporation 10 * OMAP2/3 support Copyright (C) 2004-2007 Texas Instruments, Inc. 12 * Some functions based on earlier dma-omap.c Copyright (C) 2001 RidgeRun, Inc. 15 * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com> 30 #include <linux/omap-dma.h> 56 void (*callback)(u16 status, void *data); 63 int mirror; member 103 void omap_set_lcd_dma_b1_mirror(int mirror) in omap_set_lcd_dma_b1_mirror() argument [all …]
|
| /kernel/linux/linux-5.10/fs/nfs/ |
| D | pagelist.c | 1 // SPDX-License-Identifier: GPL-2.0-only 37 if (desc->pg_ops->pg_get_mirror) in nfs_pgio_get_mirror() 38 return desc->pg_ops->pg_get_mirror(desc, idx); in nfs_pgio_get_mirror() 39 return &desc->pg_mirrors[0]; in nfs_pgio_get_mirror() 45 return nfs_pgio_get_mirror(desc, desc->pg_mirror_idx); in nfs_pgio_current_mirror() 52 if (desc->pg_ops->pg_set_mirror) in nfs_pgio_set_current_mirror() 53 return desc->pg_ops->pg_set_mirror(desc, idx); in nfs_pgio_set_current_mirror() 54 return desc->pg_mirror_idx; in nfs_pgio_set_current_mirror() 61 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_pgheader_init() local 64 hdr->req = nfs_list_entry(mirror->pg_list.next); in nfs_pgheader_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/crypto/marvell/octeontx/ |
| D | otx_cptpf_ucode.c | 1 // SPDX-License-Identifier: GPL-2.0 25 /* tar header as defined in POSIX 1003.1-1990. */ 64 if (eng_grp->g->engs_num > OTX_CPT_MAX_ENGINES) { in get_cores_bmap() 66 eng_grp->g->engs_num); in get_cores_bmap() 71 if (eng_grp->engs[i].type) { in get_cores_bmap() 73 eng_grp->engs[i].bmap, in get_cores_bmap() 74 eng_grp->g->engs_num); in get_cores_bmap() 75 bmap.size = eng_grp->g->engs_num; in get_cores_bmap() 82 eng_grp->idx); in get_cores_bmap() 94 return is_eng_type(eng_grps->eng_types_supported, eng_type); in dev_supports_eng_type() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
| D | core_acl_flex_actions.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 2 /* Copyright (c) 2017-2018 Mellanox Technologies. All rights reserved */ 34 * group - When set, the binding is of an ACL group. When cleared, 144 return jhash2((u32 *) fa_cookie->cookie, in mlxsw_afa_cookie_hash() 145 fa_cookie->cookie_len / sizeof(u32), seed); in mlxsw_afa_cookie_hash() 148 static u32 mlxsw_afa_cookie_key_hashfn(const void *data, u32 len, u32 seed) in mlxsw_afa_cookie_key_hashfn() argument 150 const struct flow_action_cookie *fa_cookie = data; in mlxsw_afa_cookie_key_hashfn() 155 static u32 mlxsw_afa_cookie_obj_hashfn(const void *data, u32 len, u32 seed) in mlxsw_afa_cookie_obj_hashfn() argument 157 const struct mlxsw_afa_cookie *cookie = data; in mlxsw_afa_cookie_obj_hashfn() 159 return mlxsw_afa_cookie_hash(&cookie->fa_cookie, seed); in mlxsw_afa_cookie_obj_hashfn() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/fbtft/ |
| D | fb_uc1611.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * The display is 4-bit grayscale (16 shades) 240x160. 29 * V_LCD = (C_V0 + C_PM × pot) * (1 + (T - 25) * temp) 34 /* BR -> actual ratio: 0-3 -> 5, 10, 11, 13 */ 37 MODULE_PARM_DESC(ratio, "BR[1:0] Bias voltage ratio: 0-3 (default: 2)"); 41 MODULE_PARM_DESC(gain, "GN[1:0] Bias voltage gain: 0-3 (default: 3)"); 45 MODULE_PARM_DESC(pot, "PM[6:0] Bias voltage pot.: 0-63 (default: 16)"); 47 /* TC -> % compensation per deg C: 0-3 -> -.05, -.10, -.015, -.20 */ 50 MODULE_PARM_DESC(temp, "TC[1:0] Temperature compensation: 0-3 (default: 0)"); 52 /* PC[1:0] -> LCD capacitance: 0-3 -> <20nF, 20-28 nF, 29-40 nF, 40-56 nF */ [all …]
|
| /kernel/linux/linux-4.19/drivers/staging/fbtft/ |
| D | fb_uc1611.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * The display is 4-bit grayscale (16 shades) 240x160. 29 * V_LCD = (C_V0 + C_PM × pot) * (1 + (T - 25) * temp) 34 /* BR -> actual ratio: 0-3 -> 5, 10, 11, 13 */ 37 MODULE_PARM_DESC(ratio, "BR[1:0] Bias voltage ratio: 0-3 (default: 2)"); 41 MODULE_PARM_DESC(gain, "GN[1:0] Bias voltage gain: 0-3 (default: 3)"); 45 MODULE_PARM_DESC(pot, "PM[6:0] Bias voltage pot.: 0-63 (default: 16)"); 47 /* TC -> % compensation per deg C: 0-3 -> -.05, -.10, -.015, -.20 */ 50 MODULE_PARM_DESC(temp, "TC[1:0] Temperature compensation: 0-3 (default: 0)"); 52 /* PC[1:0] -> LCD capacitance: 0-3 -> <20nF, 20-28 nF, 29-40 nF, 40-56 nF */ [all …]
|
| /kernel/linux/linux-5.10/fs/btrfs/ |
| D | disk-io.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 30 static inline u64 btrfs_sb_offset(int mirror) in btrfs_sb_offset() argument 33 if (mirror) in btrfs_sb_offset() 34 return start << (BTRFS_SUPER_MIRROR_SHIFT * mirror); in btrfs_sb_offset() 84 int mirror); 96 * fs_info->subvol_srcu 102 if (refcount_inc_not_zero(&root->refs)) in btrfs_grab_root() 131 int btree_lock_page_hook(struct page *page, void *data,
|
| /kernel/linux/linux-4.19/Documentation/vm/ |
| D | hmm.rst | 7 Provide infrastructure and helpers to integrate non-conventional memory (device 23 CPU page-table mirroring works and the purpose of HMM in this context. The 25 Finally, the last section presents a new migration helper that allows lever- 52 For flat data sets (array, grid, image, ...) this isn't too hard to achieve but 53 complex data sets (list, tree, ...) are hard to get right. Duplicating a 54 complex data set needs to re-map all the pointer relations between each of its 56 duplicate data set and addresses. 58 Split address space also means that libraries cannot transparently use data 60 might have to duplicate its input data set using the device specific memory 71 are only do-able with a shared address space. It is also more reasonable to use [all …]
|
| /kernel/linux/linux-5.10/drivers/media/platform/omap/ |
| D | omap_voutdef.h | 14 #include <media/videobuf2-dma-contig.h> 15 #include <media/v4l2-ctrls.h> 119 /* common v4l buffer stuff -- must be first */ 131 /* per-device data structure */ 151 /* Lock to protect the shared data structures in ioctl */ 155 bool mirror; member 186 return (vout->rotation == dss_rotation_90_degree || in is_rotation_90_or_270() 187 vout->rotation == dss_rotation_270_degree); in is_rotation_90_or_270() 195 return vout->rotation || vout->mirror; in is_rotation_enabled() 203 if (!vout->mirror) in calc_rotation() [all …]
|
| /kernel/linux/linux-4.19/drivers/media/platform/omap/ |
| D | omap_voutdef.h | 14 #include <media/v4l2-ctrls.h> 116 /* per-device data structure */ 145 /* non-NULL means streaming is in progress. */ 153 /* Lock to protect the shared data structures in ioctl */ 157 bool mirror; member 193 return (vout->rotation == dss_rotation_90_degree || in is_rotation_90_or_270() 194 vout->rotation == dss_rotation_270_degree); in is_rotation_90_or_270() 202 return vout->rotation || vout->mirror; in is_rotation_enabled() 210 if (!vout->mirror) in calc_rotation() 211 return vout->rotation; in calc_rotation() [all …]
|
| /kernel/linux/linux-4.19/fs/btrfs/ |
| D | disk-io.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 31 static inline u64 btrfs_sb_offset(int mirror) in btrfs_sb_offset() argument 34 if (mirror) in btrfs_sb_offset() 35 return start << (BTRFS_SUPER_MIRROR_SHIFT * mirror); in btrfs_sb_offset() 99 * fs_info->subvol_srcu 103 if (refcount_inc_not_zero(&root->refs)) in btrfs_grab_fs_root() 110 if (refcount_dec_and_test(&root->refs)) in btrfs_put_fs_root() 119 u32 btrfs_csum_data(const char *data, u32 seed, size_t len); 142 int btree_lock_page_hook(struct page *page, void *data,
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/device-mapper/ |
| D | dm-clone.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 4 dm-clone 10 dm-clone is a device mapper target which produces a one-to-one copy of an 11 existing, read-only source device into a writable destination device: It 12 presents a virtual block device which makes all data appear immediately, and 15 The main use case of dm-clone is to clone a potentially remote, high-latency, 16 read-only, archival-type block device into a writable, fast, primary-type device 17 for fast, low-latency I/O. The cloned device is visible/mountable immediately 21 For example, one could restore an application backup from a read-only copy, 26 When the cloning completes, the dm-clone table can be removed altogether and be [all …]
|