/kernel/linux/linux-5.10/kernel/irq/ |
D | irqdomain.c | 28 static void irq_domain_check_hierarchy(struct irq_domain *domain); 50 * identifying an irq domain 53 * @name: Optional user provided domain name 62 * domain struct. 124 * @ops: domain callbacks 128 * Returns pointer to IRQ domain, or NULL on failure. 136 struct irq_domain *domain; in __irq_domain_add() local 140 domain = kzalloc_node(sizeof(*domain) + (sizeof(unsigned int) * size), in __irq_domain_add() 142 if (!domain) in __irq_domain_add() 151 domain->fwnode = fwnode; in __irq_domain_add() [all …]
|
D | msi.c | 79 static void msi_check_level(struct irq_domain *domain, struct msi_msg *msg) in msi_check_level() argument 81 struct msi_domain_info *info = domain->host_data; in msi_check_level() 111 msi_check_level(irq_data->domain, msg); in msi_domain_set_affinity() 118 static int msi_domain_activate(struct irq_domain *domain, in msi_domain_activate() argument 124 msi_check_level(irq_data->domain, msg); in msi_domain_activate() 129 static void msi_domain_deactivate(struct irq_domain *domain, in msi_domain_deactivate() argument 138 static int msi_domain_alloc(struct irq_domain *domain, unsigned int virq, in msi_domain_alloc() argument 141 struct msi_domain_info *info = domain->host_data; in msi_domain_alloc() 146 if (irq_find_mapping(domain, hwirq) > 0) in msi_domain_alloc() 149 if (domain->parent) { in msi_domain_alloc() [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
D | power-domain.yaml | 4 $id: http://devicetree.org/schemas/power/power-domain.yaml# 19 This device tree binding can be used to bind PM domain consumer devices with 20 their PM domains provided by PM domain providers. A PM domain provider can be 23 phandle arguments (so called PM domain specifiers) of length specified by the 24 \#power-domain-cells property in the PM domain provider node. 28 pattern: "^(power-controller|power-domain)([@-].*)?$" 30 domain-idle-states: 34 power-domain provider. The idle state definitions are compatible with the 35 domain-idle-state bindings, specified in ./domain-idle-state.yaml. 37 Note that, the domain-idle-state property reflects the idle states of this [all …]
|
D | renesas,sysc-rmobile.txt | 23 - pm-domains: This node contains a hierarchy of PM domain nodes, which should 24 match the Power Area Hierarchy in the Power Domain Specifications section of 28 == PM Domain Nodes == 30 Each of the PM domain nodes represents a PM domain, as documented by the 31 generic PM domain bindings in 32 Documentation/devicetree/bindings/power/power-domain.yaml. 38 - #power-domain-cells: Must be 0. 41 - reg: If the PM domain is not always-on, this property must contain the bit 47 If the PM domain is always-on, this property must be omitted. 52 This shows a subset of the r8a7740 PM domain hierarchy, containing the [all …]
|
D | power_domain.txt | 7 This device tree binding can be used to bind PM domain consumer devices with 8 their PM domains provided by PM domain providers. A PM domain provider can be 11 phandle arguments (so called PM domain specifiers) of length specified by the 12 #power-domain-cells property in the PM domain provider node. 14 ==PM domain providers== 16 See power-domain.yaml. 18 ==PM domain consumers== 21 - power-domains : A list of PM domain specifiers, as defined by bindings of 22 the power controller that is the PM domain provider. 25 - power-domain-names : A list of power domain name strings sorted in the same [all …]
|
/kernel/linux/linux-5.10/drivers/soc/imx/ |
D | gpcv2.c | 133 struct imx_pgc_domain *domain = container_of(genpd, in imx_gpc_pu_pgc_sw_pxx_req() local 139 const bool has_regulator = !IS_ERR(domain->regulator); in imx_gpc_pu_pgc_sw_pxx_req() 143 regmap_update_bits(domain->regmap, GPC_PGC_CPU_MAPPING, in imx_gpc_pu_pgc_sw_pxx_req() 144 domain->bits.map, domain->bits.map); in imx_gpc_pu_pgc_sw_pxx_req() 147 ret = regulator_enable(domain->regulator); in imx_gpc_pu_pgc_sw_pxx_req() 149 dev_err(domain->dev, "failed to enable regulator\n"); in imx_gpc_pu_pgc_sw_pxx_req() 154 /* Enable reset clocks for all devices in the domain */ in imx_gpc_pu_pgc_sw_pxx_req() 155 for (i = 0; i < domain->num_clks; i++) in imx_gpc_pu_pgc_sw_pxx_req() 156 clk_prepare_enable(domain->clk[i]); in imx_gpc_pu_pgc_sw_pxx_req() 159 regmap_update_bits(domain->regmap, GPC_PGC_CTRL(domain->pgc), in imx_gpc_pu_pgc_sw_pxx_req() [all …]
|
D | gpc.c | 70 /* Gate off domain when powered down */ in imx6_pm_domain_power_off() 74 /* Request GPC to power down domain */ in imx6_pm_domain_power_off() 102 /* Enable reset clocks for all devices in the domain */ in imx6_pm_domain_power_on() 106 /* Gate off domain when powered down */ in imx6_pm_domain_power_on() 110 /* Request GPC to power up domain */ in imx6_pm_domain_power_on() 118 pr_err("powerup request on domain %s timed out\n", genpd->name); in imx6_pm_domain_power_on() 123 /* Disable reset clocks for all devices in the domain */ in imx6_pm_domain_power_on() 130 static int imx_pgc_get_clocks(struct device *dev, struct imx_pm_domain *domain) in imx_pgc_get_clocks() argument 143 domain->clk[i] = clk; in imx_pgc_get_clocks() 145 domain->num_clks = i; in imx_pgc_get_clocks() [all …]
|
/kernel/linux/linux-5.10/drivers/soc/xilinx/ |
D | zynqmp_pm_domains.c | 3 * ZynqMP Generic PM domain support 23 /* Flag stating if PM nodes mapped to the PM domain has been requested */ 30 * @gpd: Generic power domain 31 * @node_id: PM node ID corresponding to device inside PM domain 32 * @flags: ZynqMP PM domain flags 64 * zynqmp_gpd_power_on() - Power on PM domain 65 * @domain: Generic PM domain 67 * This function is called before devices inside a PM domain are resumed, to 68 * power on PM domain. 72 static int zynqmp_gpd_power_on(struct generic_pm_domain *domain) in zynqmp_gpd_power_on() argument [all …]
|
/kernel/linux/linux-5.10/arch/arm/boot/dts/ |
D | keystone-k2hk-clocks.dtsi | 59 reg-names = "control", "domain"; 60 domain-id = <0>; 69 reg-names = "control", "domain"; 70 domain-id = <4>; 79 reg-names = "control", "domain"; 80 domain-id = <5>; 89 reg-names = "control", "domain"; 90 domain-id = <9>; 99 reg-names = "control", "domain"; 100 domain-id = <10>; [all …]
|
D | keystone-k2l-clocks.dtsi | 49 reg-names = "control", "domain"; 51 domain-id = <0>; 60 reg-names = "control", "domain"; 61 domain-id = <4>; 70 reg-names = "control", "domain"; 71 domain-id = <9>; 80 reg-names = "control", "domain"; 81 domain-id = <10>; 90 reg-names = "control", "domain"; 91 domain-id = <11>; [all …]
|
D | keystone-clocks.dtsi | 166 reg-names = "control", "domain"; 167 domain-id = <0>; 177 reg-names = "control", "domain"; 178 domain-id = <0>; 187 reg-names = "control", "domain"; 188 domain-id = <0>; 198 reg-names = "control", "domain"; 199 domain-id = <1>; 208 reg-names = "control", "domain"; 209 domain-id = <1>; [all …]
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/rockchip/ |
D | power_domain.txt | 6 Required properties for power domain controller: 19 - #power-domain-cells: Number of cells in a power-domain specifier. 24 Required properties for power domain sub nodes: 25 - reg: index of the power domain, should use macros in: 26 "include/dt-bindings/power/px30-power.h" - for PX30 type power domain. 27 "include/dt-bindings/power/rk3036-power.h" - for RK3036 type power domain. 28 "include/dt-bindings/power/rk3066-power.h" - for RK3066 type power domain. 29 "include/dt-bindings/power/rk3128-power.h" - for RK3128 type power domain. 30 "include/dt-bindings/power/rk3188-power.h" - for RK3188 type power domain. 31 "include/dt-bindings/power/rk3228-power.h" - for RK3228 type power domain. [all …]
|
/kernel/linux/linux-5.10/Documentation/scheduler/ |
D | sched-stats.rst | 13 per-domain. Note that domains (and their associated information) will only 16 In version 14 of schedstat, there is at least one level of domain 18 domain. Domains have no particular names in this implementation, but 20 cpus on the machine, while domain0 is the most tightly focused domain, 22 are no architectures which need more than three domain levels. The first 23 field in the domain stats is a bit map indicating which cpus are affected 24 by that domain. 65 Domain statistics 67 One of these is produced per domain for each cpu described. (Note that if 71 domain<N> <cpumask> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3… [all …]
|
D | sched-domains.rst | 5 Each CPU has a "base" scheduling domain (struct sched_domain). The domain 7 MUST be NULL terminated, and domain structures should be per-CPU as they are 10 Each scheduling domain spans a number of CPUs (stored in the ->span field). 11 A domain's span MUST be a superset of it child's span (this restriction could 12 be relaxed if the need arises), and a base domain for CPU i MUST span at least 13 i. The top domain for each CPU will generally span all CPUs in the system 16 explicitly set. A sched domain's span means "balance process load among these 19 Each scheduling domain must have one or more CPU groups (struct sched_group) 22 domain's span. The group pointed to by the ->groups pointer MUST contain the CPU 23 to which the domain belongs. Groups may be shared among CPUs as they contain [all …]
|
/kernel/linux/linux-5.10/include/linux/ |
D | iommu.h | 58 /* Domain feature flags */ 60 #define __IOMMU_DOMAIN_DMA_API (1U << 1) /* Domain for use in DMA-API 62 #define __IOMMU_DOMAIN_PT (1U << 2) /* Domain is identity mapped */ 65 * This are the possible domain-types 160 IOMMU_DEV_FEAT_AUX, /* Aux-domain feature */ 188 * @domain_alloc: allocate iommu domain 189 * @domain_free: free iommu domain 190 * @attach_dev: attach device to an iommu domain 191 * @detach_dev: detach device from an iommu domain 192 * @map: map a physically contiguous memory region to an iommu domain [all …]
|
D | irqdomain.h | 14 * Interrupt controller "domain" data structure. This could be defined as a 15 * irq domain controller. That is, it handles the mapping between hardware 16 * and virtual interrupt numbers for a given interrupt domain. The domain 18 * (though a domain can cover more than one PIC if they have a flat number 19 * model). It's the domain callbacks that are responsible for setting the 23 * identify the domain. In some cases, and in order to preserve source 71 * different purposes (for example one domain is for PCI/MSI, and the 139 * @name: Name of interrupt domain 153 * @debugfs_file: dentry for the domain debugfs file 190 /* Irq domain flags */ [all …]
|
/kernel/linux/linux-5.10/net/netlabel/ |
D | netlabel_domainhash.c | 3 * NetLabel Domain Hash Table 5 * This file manages the domain hash table that NetLabel uses to determine 6 * which network labeling protocol to use for a given domain. The NetLabel 40 /* Domain hash table */ 51 * Domain Hash Table Helper Functions 55 * netlbl_domhsh_free_entry - Frees a domain hash table entry 90 kfree(ptr->domain); in netlbl_domhsh_free_entry() 95 * netlbl_domhsh_hash - Hashing function for the domain hash table 96 * @key: the domain name to hash 99 * This is the hashing function for the domain hash table, it returns the [all …]
|
/kernel/linux/linux-5.10/drivers/iommu/ |
D | ipmmu-vmsa.c | 210 static u32 ipmmu_ctx_read_root(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_read_root() argument 213 return ipmmu_ctx_read(domain->mmu->root, domain->context_id, reg); in ipmmu_ctx_read_root() 216 static void ipmmu_ctx_write_root(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_write_root() argument 219 ipmmu_ctx_write(domain->mmu->root, domain->context_id, reg, data); in ipmmu_ctx_write_root() 222 static void ipmmu_ctx_write_all(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_write_all() argument 225 if (domain->mmu != domain->mmu->root) in ipmmu_ctx_write_all() 226 ipmmu_ctx_write(domain->mmu, domain->context_id, reg, data); in ipmmu_ctx_write_all() 228 ipmmu_ctx_write(domain->mmu->root, domain->context_id, reg, data); in ipmmu_ctx_write_all() 253 static void ipmmu_tlb_sync(struct ipmmu_vmsa_domain *domain) in ipmmu_tlb_sync() argument 257 while (ipmmu_ctx_read_root(domain, IMCTR) & IMCTR_FLUSH) { in ipmmu_tlb_sync() [all …]
|
/kernel/linux/linux-5.10/drivers/dca/ |
D | dca-core.c | 44 struct dca_domain *domain; in dca_allocate_domain() local 46 domain = kzalloc(sizeof(*domain), GFP_NOWAIT); in dca_allocate_domain() 47 if (!domain) in dca_allocate_domain() 50 INIT_LIST_HEAD(&domain->dca_providers); in dca_allocate_domain() 51 domain->pci_rc = rc; in dca_allocate_domain() 53 return domain; in dca_allocate_domain() 56 static void dca_free_domain(struct dca_domain *domain) in dca_free_domain() argument 58 list_del(&domain->node); in dca_free_domain() 59 kfree(domain); in dca_free_domain() 81 struct dca_domain *domain; in unregister_dca_providers() local [all …]
|
/kernel/linux/linux-5.10/include/trace/events/ |
D | kyber.h | 16 TP_PROTO(struct request_queue *q, const char *domain, const char *type, 20 TP_ARGS(q, domain, type, percentile, numerator, denominator, samples), 24 __array( char, domain, DOMAIN_LEN ) 34 strlcpy(__entry->domain, domain, sizeof(__entry->domain)); 43 MAJOR(__entry->dev), MINOR(__entry->dev), __entry->domain, 50 TP_PROTO(struct request_queue *q, const char *domain, 53 TP_ARGS(q, domain, depth), 57 __array( char, domain, DOMAIN_LEN ) 63 strlcpy(__entry->domain, domain, sizeof(__entry->domain)); 68 MAJOR(__entry->dev), MINOR(__entry->dev), __entry->domain, [all …]
|
/kernel/linux/linux-5.10/drivers/soc/dove/ |
D | pmu.c | 131 * This deals with the "old" Marvell sequence of bringing a power domain 143 static int pmu_domain_power_off(struct generic_pm_domain *domain) in pmu_domain_power_off() argument 145 struct pmu_domain *pmu_dom = to_pmu_domain(domain); in pmu_domain_power_off() 177 static int pmu_domain_power_on(struct generic_pm_domain *domain) in pmu_domain_power_on() argument 179 struct pmu_domain *pmu_dom = to_pmu_domain(domain); in pmu_domain_power_on() 211 static void __pmu_domain_register(struct pmu_domain *domain, in __pmu_domain_register() argument 214 unsigned int val = readl_relaxed(domain->pmu->pmu_base + PMU_PWR); in __pmu_domain_register() 216 domain->base.power_off = pmu_domain_power_off; in __pmu_domain_register() 217 domain->base.power_on = pmu_domain_power_on; in __pmu_domain_register() 219 pm_genpd_init(&domain->base, NULL, !(val & domain->pwr_mask)); in __pmu_domain_register() [all …]
|
/kernel/linux/linux-5.10/include/linux/sched/ |
D | sd_flags.h | 13 * SHARED_CHILD: These flags are meant to be set from the base domain upwards. 14 * If a domain has this flag set, all of its children should have it set. This 16 * domain share the same resource), or because they are tied to a scheduling 20 * In those cases it doesn't make sense to have the flag set for a domain but 26 * SHARED_PARENT: These flags are meant to be set from the highest domain 27 * downwards. If a domain has this flag set, all of its parents should have it 29 * certain level (e.g. domain starts spanning CPUs outside of the base CPU's 38 * NEEDS_GROUPS: These flags are only relevant if the domain they are set on has 48 * SHARED_CHILD: Set from the base domain up to cpuset.sched_relax_domain_level. 56 * SHARED_CHILD: Set from the base domain up to the NUMA reclaim level. [all …]
|
/kernel/linux/linux-5.10/drivers/base/ |
D | platform-msi.c | 54 static int platform_msi_init(struct irq_domain *domain, in platform_msi_init() argument 59 return irq_domain_set_hwirq_and_chip(domain, virq, hwirq, in platform_msi_init() 166 * platform_msi_create_irq_domain - Create a platform MSI interrupt domain 168 * @info: MSI domain info 169 * @parent: Parent irq domain 171 * Updates the domain and chip ops and creates a platform MSI 172 * interrupt domain. 175 * A domain pointer or NULL in case of failure. 181 struct irq_domain *domain; in platform_msi_create_irq_domain() local 188 domain = msi_create_irq_domain(fwnode, info, parent); in platform_msi_create_irq_domain() [all …]
|
/kernel/linux/linux-5.10/kernel/ |
D | async.c | 74 struct async_domain *domain; member 81 static async_cookie_t lowest_in_progress(struct async_domain *domain) in lowest_in_progress() argument 89 if (domain) { in lowest_in_progress() 90 if (!list_empty(&domain->pending)) in lowest_in_progress() 91 first = list_first_entry(&domain->pending, in lowest_in_progress() 153 * @domain: the domain 156 * @domain may be used in the async_synchronize_*_domain() functions to 157 * wait within a certain synchronization domain rather than globally. 166 int node, struct async_domain *domain) in async_schedule_node_domain() argument 194 entry->domain = domain; in async_schedule_node_domain() [all …]
|
/kernel/linux/linux-5.10/drivers/firmware/arm_scmi/ |
D | perf.c | 63 __le32 domain; member 68 __le32 domain; member 79 __le32 domain; member 84 __le32 domain; member 113 __le32 domain; member 208 scmi_perf_domain_attributes_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_domain_attributes_get() argument 216 SCMI_PROTOCOL_PERF, sizeof(domain), in scmi_perf_domain_attributes_get() 221 put_unaligned_le32(domain, t->tx.buf); in scmi_perf_domain_attributes_get() 260 scmi_perf_describe_levels_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_describe_levels_get() argument 280 dom_info->domain = cpu_to_le32(domain); in scmi_perf_describe_levels_get() [all …]
|