| /kernel/linux/linux-6.6/Documentation/i2c/ |
| D | i2c-topology.rst | 6 than a straight-forward I2C bus with one adapter and one or more devices. 23 each adapter has a parent adapter (except the root adapter) and zero or 25 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 40 mux-locked or parent-locked muxes. 43 Mux-locked muxes 44 ---------------- 46 Mux-locked muxes does not lock the entire parent adapter during the 47 full select-transfer-deselect transaction, only the muxes on the parent 48 adapter are locked. Mux-locked muxes are mostly interesting if the 50 their tasks. Since the parent adapter is not fully locked during the [all …]
|
| /kernel/linux/linux-5.10/Documentation/i2c/ |
| D | i2c-topology.rst | 6 than a straight-forward I2C bus with one adapter and one or more devices. 21 each adapter has a parent adapter (except the root adapter) and zero or 23 I2C transfers, and all adapters with a parent are part of an "i2c-mux" 38 mux-locked or parent-locked muxes. As is evident from below, it can be 39 useful to know if a mux is mux-locked or if it is parent-locked. The 45 i2c-arb-gpio-challenge Parent-locked 46 i2c-mux-gpio Normally parent-locked, mux-locked iff 49 i2c-mux-gpmux Normally parent-locked, mux-locked iff 50 specified in device-tree. 51 i2c-mux-ltc4306 Mux-locked [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/i2c/ |
| D | i2c-mux-gpmux.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux-gpmux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Peter Rosin <peda@axentia.se> 16 .-----. .-----. 18 .------------. '-----' '-----' 20 | | .--------+--------' 21 | .------. | .------+ child bus A, on MUX value set to 0 22 | | I2C |-|--| Mux | [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/i2c/ |
| D | i2c-mux-gpmux.txt | 6 .-----. .-----. 8 .------------. '-----' '-----' 10 | | .--------+--------' 11 | .------. | .------+ child bus A, on MUX value set to 0 12 | | I2C |-|--| Mux | 13 | '------' | '--+---+ child bus B, on MUX value set to 1 14 | .------. | | '----------+--------+--------. 15 | | MUX- | | | | | | 16 | | Ctrl |-|-----+ .-----. .-----. .-----. 17 | '------' | | dev | | dev | | dev | [all …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | directory-locking.rst | 7 kinds of locks - per-inode (->i_rwsem) and per-filesystem 8 (->s_vfs_rename_mutex). 10 When taking the i_rwsem on multiple non-directory objects, we 22 3) object removal. Locking rules: caller locks parent, finds victim, 25 4) rename() that is _not_ cross-directory. Locking rules: caller locks 26 the parent and finds source and target. Then we decide which of the 27 source and target need to be locked. Source needs to be locked if it's a 28 non-directory; target - if it's a non-directory or about to be removed. 31 non-directories - the source because it wouldn't be locked otherwise 32 and the target because mixing directory and non-directory is allowed [all …]
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ |
| D | directory-locking.rst | 7 kinds of locks - per-inode (->i_rwsem) and per-filesystem 8 (->s_vfs_rename_mutex). 10 When taking the i_rwsem on multiple non-directory objects, we 22 3) object removal. Locking rules: caller locks parent, finds victim, 25 4) rename() that is _not_ cross-directory. Locking rules: caller locks 26 the parent and finds source and target. Then we decide which of the 27 source and target need to be locked. Source needs to be locked if it's a 28 non-directory; target - if it's a non-directory or about to be removed. 31 non-directories - the source because it wouldn't be locked otherwise 32 and the target because mixing directory and non-directory is allowed [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/ |
| D | i2c-mux.c | 4 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 5 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 6 * Copyright (c) 2009-2010 NSN GmbH & Co KG <michael.lawnick.ext@nsn.com> 10 * Supports multi-level mux'ing (mux behind a mux). 13 * i2c-virt.c from Kumar Gala <galak@kernel.crashing.org> 14 * i2c-virtual.c from Ken Harrenstien, Copyright (c) 2004 Google, Inc. 15 * i2c-virtual.c from Brian Kuschak <bkuschak@yahoo.com> 24 #include <linux/i2c-mux.h> 42 struct i2c_mux_priv *priv = adap->algo_data; in __i2c_mux_master_xfer() 43 struct i2c_mux_core *muxc = priv->muxc; in __i2c_mux_master_xfer() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/ |
| D | i2c-mux.c | 4 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it> 5 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it> 6 * Copyright (c) 2009-2010 NSN GmbH & Co KG <michael.lawnick.ext@nsn.com> 10 * Supports multi-level mux'ing (mux behind a mux). 13 * i2c-virt.c from Kumar Gala <galak@kernel.crashing.org> 14 * i2c-virtual.c from Ken Harrenstien, Copyright (c) 2004 Google, Inc. 15 * i2c-virtual.c from Brian Kuschak <bkuschak@yahoo.com> 24 #include <linux/i2c-mux.h> 42 struct i2c_mux_priv *priv = adap->algo_data; in __i2c_mux_master_xfer() 43 struct i2c_mux_core *muxc = priv->muxc; in __i2c_mux_master_xfer() [all …]
|
| /kernel/linux/linux-5.10/drivers/vme/ |
| D | vme_bridge.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 struct vme_bridge *parent; member 19 int locked; member 30 struct vme_bridge *parent; member 32 int locked; member 56 struct vme_dma_resource *parent; member 63 struct vme_bridge *parent; member 65 int locked; member 74 struct vme_bridge *parent; member 76 int locked; member [all …]
|
| D | vme.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 #include <linux/dma-mapping.h> 51 switch (resource->type) { in find_bridge() 53 return list_entry(resource->entry, struct vme_master_resource, in find_bridge() 54 list)->parent; in find_bridge() 57 return list_entry(resource->entry, struct vme_slave_resource, in find_bridge() 58 list)->parent; in find_bridge() 61 return list_entry(resource->entry, struct vme_dma_resource, in find_bridge() 62 list)->parent; in find_bridge() 65 return list_entry(resource->entry, struct vme_lm_resource, in find_bridge() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/vme_user/ |
| D | vme_bridge.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 13 struct vme_bridge *parent; member 19 int locked; member 30 struct vme_bridge *parent; member 32 int locked; member 56 struct vme_dma_resource *parent; member 63 struct vme_bridge *parent; member 65 int locked; member 74 struct vme_bridge *parent; member 76 int locked; member [all …]
|
| D | vme.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 #include <linux/dma-mapping.h> 51 switch (resource->type) { in find_bridge() 53 return list_entry(resource->entry, struct vme_master_resource, in find_bridge() 54 list)->parent; in find_bridge() 56 return list_entry(resource->entry, struct vme_slave_resource, in find_bridge() 57 list)->parent; in find_bridge() 59 return list_entry(resource->entry, struct vme_dma_resource, in find_bridge() 60 list)->parent; in find_bridge() 62 return list_entry(resource->entry, struct vme_lm_resource, in find_bridge() [all …]
|
| /kernel/liteos_a/kernel/extended/plimit/ |
| D | los_memlimit.c | 2 * Copyright (c) 2022-2022 Huawei Device Co., Ltd. All rights reserved. 44 procMemLimiter->limit = OS_NULL_INT; in OsMemLimiterInit() 50 g_procMemLimiter->limit = limit; in OsMemLimitSetLimit() 77 plimiteDest->limit = plimiteSrc->limit; in OsMemLimiterCopy() 81 BOOL MemLimiteMigrateCheck(UINTPTR curr, UINTPTR parent) in MemLimiteMigrateCheck() argument 84 ProcMemLimiter *parentMemLimit = (ProcMemLimiter *)parent; in MemLimiteMigrateCheck() 85 if ((currMemLimit->usage + parentMemLimit->usage) >= parentMemLimit->limit) { in MemLimiteMigrateCheck() 98 parentMemLimit->usage += currMemLimit->usage; in OsMemLimiterMigrate() 99 parentMemLimit->failcnt += currMemLimit->failcnt; in OsMemLimiterMigrate() 100 if (parentMemLimit->peak < parentMemLimit->usage) { in OsMemLimiterMigrate() [all …]
|
| /kernel/linux/linux-6.6/fs/btrfs/ |
| D | defrag.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include "disk-io.h" 9 #include "print-tree.h" 14 #include "delalloc-space.h" 17 #include "file-item.h" 42 * This value is different for compressed/non-compressed extents, thus 52 if (defrag1->root > defrag2->root) in __compare_inode_defrag() 54 else if (defrag1->root < defrag2->root) in __compare_inode_defrag() 55 return -1; in __compare_inode_defrag() 56 else if (defrag1->ino > defrag2->ino) in __compare_inode_defrag() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/ |
| D | i915_scheduler.c | 2 * SPDX-License-Identifier: MIT 47 GEM_BUG_ON(rb_first_cached(&sched_engine->queue) != in assert_priolists() 48 rb_first(&sched_engine->queue.rb_root)); in assert_priolists() 51 for (rb = rb_first_cached(&sched_engine->queue); rb; rb = rb_next(rb)) { in assert_priolists() 54 GEM_BUG_ON(p->priority > last_prio); in assert_priolists() 55 last_prio = p->priority; in assert_priolists() 63 struct rb_node **parent, *rb; in i915_sched_lookup_priolist() local 66 lockdep_assert_held(&sched_engine->lock); in i915_sched_lookup_priolist() 69 if (unlikely(sched_engine->no_priolist)) in i915_sched_lookup_priolist() 75 parent = &sched_engine->queue.rb_root.rb_node; in i915_sched_lookup_priolist() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/ti/ |
| D | dpll3xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP3/4 - specific DPLL control functions 5 * Copyright (C) 2009-2010 Texas Instruments, Inc. 6 * Copyright (C) 2009-2010 Nokia Corporation 46 /* _omap3_dpll_write_clken - write clken_bits arg to a DPLL's enable bits */ 52 dd = clk->dpll_data; in _omap3_dpll_write_clken() 54 v = ti_clk_ll_ops->clk_readl(&dd->control_reg); in _omap3_dpll_write_clken() 55 v &= ~dd->enable_mask; in _omap3_dpll_write_clken() 56 v |= clken_bits << __ffs(dd->enable_mask); in _omap3_dpll_write_clken() 57 ti_clk_ll_ops->clk_writel(v, &dd->control_reg); in _omap3_dpll_write_clken() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
| D | i915_scheduler.c | 2 * SPDX-License-Identifier: MIT 51 GEM_BUG_ON(rb_first_cached(&execlists->queue) != in assert_priolists() 52 rb_first(&execlists->queue.rb_root)); in assert_priolists() 55 for (rb = rb_first_cached(&execlists->queue); rb; rb = rb_next(rb)) { in assert_priolists() 58 GEM_BUG_ON(p->priority > last_prio); in assert_priolists() 59 last_prio = p->priority; in assert_priolists() 61 GEM_BUG_ON(!p->used); in assert_priolists() 62 for (i = 0; i < ARRAY_SIZE(p->requests); i++) { in assert_priolists() 63 if (list_empty(&p->requests[i])) in assert_priolists() 66 GEM_BUG_ON(!(p->used & BIT(i))); in assert_priolists() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/ti/ |
| D | dpll3xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP3/4 - specific DPLL control functions 5 * Copyright (C) 2009-2010 Texas Instruments, Inc. 6 * Copyright (C) 2009-2010 Nokia Corporation 46 /* _omap3_dpll_write_clken - write clken_bits arg to a DPLL's enable bits */ 52 dd = clk->dpll_data; in _omap3_dpll_write_clken() 54 v = ti_clk_ll_ops->clk_readl(&dd->control_reg); in _omap3_dpll_write_clken() 55 v &= ~dd->enable_mask; in _omap3_dpll_write_clken() 56 v |= clken_bits << __ffs(dd->enable_mask); in _omap3_dpll_write_clken() 57 ti_clk_ll_ops->clk_writel(v, &dd->control_reg); in _omap3_dpll_write_clken() [all …]
|
| /kernel/linux/linux-6.6/fs/reiserfs/ |
| D | fix_node.c | 39 "vs-8005: for INSERT mode and item number of inserted item"); in old_item_num() 41 return new_num - 1; in old_item_num() 45 "vs-8010: old_item_num: mode must be M_DELETE (mode = \'%c\'", in old_item_num() 54 struct virtual_node *vn = tb->tb_vn; in create_virtual_node() 56 struct buffer_head *Sh; /* this comes from tb->S[h] */ in create_virtual_node() 58 Sh = PATH_H_PBUFFER(tb->tb_path, h); in create_virtual_node() 61 vn->vn_size = in create_virtual_node() 62 MAX_CHILD_SIZE(Sh) - B_FREE_SPACE(Sh) + tb->insert_size[h]; in create_virtual_node() 66 vn->vn_nr_item = (vn->vn_size - DC_SIZE) / (DC_SIZE + KEY_SIZE); in create_virtual_node() 71 vn->vn_nr_item = in create_virtual_node() [all …]
|
| /kernel/linux/linux-5.10/fs/reiserfs/ |
| D | fix_node.c | 39 "vs-8005: for INSERT mode and item number of inserted item"); in old_item_num() 41 return new_num - 1; in old_item_num() 45 "vs-8010: old_item_num: mode must be M_DELETE (mode = \'%c\'", in old_item_num() 54 struct virtual_node *vn = tb->tb_vn; in create_virtual_node() 56 struct buffer_head *Sh; /* this comes from tb->S[h] */ in create_virtual_node() 58 Sh = PATH_H_PBUFFER(tb->tb_path, h); in create_virtual_node() 61 vn->vn_size = in create_virtual_node() 62 MAX_CHILD_SIZE(Sh) - B_FREE_SPACE(Sh) + tb->insert_size[h]; in create_virtual_node() 66 vn->vn_nr_item = (vn->vn_size - DC_SIZE) / (DC_SIZE + KEY_SIZE); in create_virtual_node() 71 vn->vn_nr_item = in create_virtual_node() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/ |
| D | drm_privacy_screen.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright (C) 2020 - 2021 Red Hat, Inc. 24 * register a privacy-screen device, which the KMS drivers can then use 25 * to implement the standard privacy-screen properties, see 28 * KMS drivers using a privacy-screen class device are advised to use the 45 * drm_privacy_screen_lookup_add - add an entry to the static privacy-screen 49 * Add an entry to the static privacy-screen lookup list. Note the 51 * gets added to a list owned by the privacy-screen core. So the passed in 52 * &struct drm_privacy_screen_lookup must not be free-ed until it is removed 58 list_add(&lookup->list, &drm_privacy_screen_lookup_list); in drm_privacy_screen_lookup_add() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/nfpcore/ |
| D | nfp_cppcore.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* Copyright (C) 2015-2018 Netronome Systems, Inc. */ 6 * Provides low-level access to the NFP's internal CPP bus 39 * struct nfp_cpp - main nfpcore device structure 40 * Following fields are read-only after probe() exits or netdevs are spawned. 42 * @op: low-level implementation ops 43 * @priv: private data of the low-level implementation 115 if (tmp->cpp_id > res->cpp_id) in __resource_add() 118 if (tmp->cpp_id == res->cpp_id && tmp->start > res->start) in __resource_add() 122 list_add_tail(&res->list, pos); in __resource_add() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/nfpcore/ |
| D | nfp_cppcore.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 /* Copyright (C) 2015-2018 Netronome Systems, Inc. */ 6 * Provides low-level access to the NFP's internal CPP bus 39 * struct nfp_cpp - main nfpcore device structure 40 * Following fields are read-only after probe() exits or netdevs are spawned. 42 * @op: low-level implementation ops 43 * @priv: private data of the low-level implementation 115 if (tmp->cpp_id > res->cpp_id) in __resource_add() 118 if (tmp->cpp_id == res->cpp_id && tmp->start > res->start) in __resource_add() 122 list_add_tail(&res->list, pos); in __resource_add() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/kernel/cpu/resctrl/ |
| D | internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 30 #define MBM_CNTR_WIDTH_OFFSET_MAX (62 - MBM_CNTR_WIDTH_BASE) 38 /* Non-Temporal Writes to Local Memory */ 41 /* Non-Temporal Writes to Remote Memory */ 65 struct kernfs_fs_context *kfc = fc->fs_private; in rdt_fc2context() 74 * struct mon_evt - Entry in the event list of a resource 78 * @list: entry in &rdt_resource->evt_list 88 * union mon_data_bits - Monitoring details for each event file 127 * enum rdtgrp_mode - Mode of a RDT resource group 130 * @RDT_MODE_PSEUDO_LOCKSETUP: Resource group will be used for Pseudo-Locking [all …]
|
| /kernel/linux/linux-6.6/drivers/pci/pcie/ |
| D | aspm.c | 1 // SPDX-License-Identifier: GPL-2.0 49 struct pcie_link_state *parent; /* pointer to the parent Link state */ member 101 list_for_each_entry(child, &linkbus->devices, bus_list) in pci_function_0() 102 if (PCI_FUNC(child->devfn) == 0) in pci_function_0() 120 return link->aspm_default; in policy_to_aspm_state() 136 return link->clkpm_default; in policy_to_clkpm_state() 144 struct pci_bus *linkbus = link->pdev->subordinate; in pcie_set_clkpm_nocheck() 147 list_for_each_entry(child, &linkbus->devices, bus_list) in pcie_set_clkpm_nocheck() 151 link->clkpm_enabled = !!enable; in pcie_set_clkpm_nocheck() 160 if (!link->clkpm_capable || link->clkpm_disable) in pcie_set_clkpm() [all …]
|