/linux/drivers/vdpa/vdpa_user/ |
H A D | iova_domain.c | 20 static int vduse_iotlb_add_range(struct vduse_iova_domain *domain, in vduse_iotlb_add_range() argument 35 ret = vhost_iotlb_add_range_ctx(domain->iotlb, start, last, in vduse_iotlb_add_range() 45 static void vduse_iotlb_del_range(struct vduse_iova_domain *domain, in vduse_iotlb_del_range() argument 51 while ((map = vhost_iotlb_itree_first(domain->iotlb, start, last))) { in vduse_iotlb_del_range() 55 vhost_iotlb_map_free(domain->iotlb, map); in vduse_iotlb_del_range() 59 int vduse_domain_set_map(struct vduse_iova_domain *domain, in vduse_domain_set_map() argument 67 spin_lock(&domain->iotlb_lock); in vduse_domain_set_map() 68 vduse_iotlb_del_range(domain, start, last); in vduse_domain_set_map() 73 ret = vduse_iotlb_add_range(domain, map->start, map->last, in vduse_domain_set_map() 80 spin_unlock(&domain->iotlb_lock); in vduse_domain_set_map() [all …]
|
/linux/kernel/irq/ |
H A D | irqdomain.c | 28 static int irq_domain_alloc_irqs_locked(struct irq_domain *domain, int irq_base, 31 static void irq_domain_check_hierarchy(struct irq_domain *domain); 32 static void irq_domain_free_one_irq(struct irq_domain *domain, unsigned int virq); 63 * identifying an irq domain 66 * @name: Optional user provided domain name 75 * domain struct. 131 static int alloc_name(struct irq_domain *domain, char *base, enum irq_domain_bus_token bus_token) in alloc_name() argument 134 domain->name = kasprintf(GFP_KERNEL, "%s", base); in alloc_name() 136 domain->name = kasprintf(GFP_KERNEL, "%s-%d", base, bus_token); in alloc_name() 137 if (!domain->name) in alloc_name() [all …]
|
H A D | msi.c | 40 * @domid: ID of the domain on which management operations should be done 55 /* The maximum domain size */ 143 * @domid: The id of the interrupt domain to which the desriptor is added 184 (dev->msi.domain && in msi_ctrl_valid() 185 !dev->msi.data->__domains[ctrl->domid].domain))) in msi_ctrl_valid() 221 * @domid: Id of the domain to operate on 330 * If @dev::msi::domain is set and is a global MSI domain, copy the in msi_setup_device_data() 331 * pointer into the domain array so all code can operate on domain in msi_setup_device_data() 335 if (dev->msi.domain && !irq_domain_is_msi_parent(dev->msi.domain)) in msi_setup_device_data() 336 md->__domains[MSI_DEFAULT_DOMAIN].domain = dev->msi.domain; in msi_setup_device_data() [all …]
|
/linux/drivers/scsi/elx/libefc/ |
H A D | efc_domain.c | 8 * domain_sm Domain State Machine: States 17 struct efc_domain *domain = NULL; in efc_domain_cb() local 22 domain = data; in efc_domain_cb() 24 /* Accept domain callback events from the user driver */ in efc_domain_cb() 34 efc_log_debug(efc, "Domain found: wwn %016llX\n", fcf_wwn); in efc_domain_cb() 36 /* lookup domain, or allocate a new one */ in efc_domain_cb() 37 domain = efc->domain; in efc_domain_cb() 38 if (!domain) { in efc_domain_cb() 39 domain = efc_domain_alloc(efc, fcf_wwn); in efc_domain_cb() 40 if (!domain) { in efc_domain_cb() [all …]
|
H A D | efc_cmds.c | 132 nport->indicator, nport->domain->indicator); in efc_nport_alloc_init_vpi() 207 struct efc_domain *domain, u8 *wwpn) in efc_cmd_nport_alloc() argument 227 if (domain) { in efc_cmd_nport_alloc() 237 /* domain NULL and wwpn non-NULL */ in efc_cmd_nport_alloc() 278 nport->domain->indicator, false); in efc_cmd_nport_attach() 317 efc_domain_get_mbox_status(struct efc_domain *domain, u8 *mqe, int status) in efc_domain_get_mbox_status() argument 319 struct efc *efc = domain->efc; in efc_domain_get_mbox_status() 325 domain->indicator, status, in efc_domain_get_mbox_status() 334 efc_domain_free_resources(struct efc_domain *domain, int evt, void *data) in efc_domain_free_resources() argument 336 struct efc *efc = domain->efc; in efc_domain_free_resources() [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | fsl,imx8-acm.yaml | 64 - description: power domain of IMX_SC_R_AUDIO_CLK_0 65 - description: power domain of IMX_SC_R_AUDIO_CLK_1 66 - description: power domain of IMX_SC_R_MCLK_OUT_0 67 - description: power domain of IMX_SC_R_MCLK_OUT_1 68 - description: power domain of IMX_SC_R_AUDIO_PLL_0 69 - description: power domain of IMX_SC_R_AUDIO_PLL_1 70 - description: power domain of IMX_SC_R_ASRC_0 71 - description: power domain of IMX_SC_R_ASRC_1 72 - description: power domain of IMX_SC_R_ESAI_0 73 - description: power domain of IMX_SC_R_SAI_0 [all …]
|
/linux/drivers/iommu/intel/ |
H A D | cache.c | 42 /* Assign a cache tag with specified type to domain. */ 43 static int cache_tag_assign(struct dmar_domain *domain, u16 did, in cache_tag_assign() argument 68 spin_lock_irqsave(&domain->cache_lock, flags); in cache_tag_assign() 69 prev = &domain->cache_tags; in cache_tag_assign() 70 list_for_each_entry(temp, &domain->cache_tags, node) { in cache_tag_assign() 73 spin_unlock_irqrestore(&domain->cache_lock, flags); in cache_tag_assign() 87 spin_unlock_irqrestore(&domain->cache_lock, flags); in cache_tag_assign() 93 /* Unassign a cache tag with specified type from domain. */ 94 static void cache_tag_unassign(struct dmar_domain *domain, u16 did, in cache_tag_unassign() argument 103 spin_lock_irqsave(&domain->cache_lock, flags); in cache_tag_unassign() [all …]
|
/linux/drivers/pmdomain/imx/ |
H A D | imx93-pd.c | 37 struct imx93_power_domain *domain = to_imx93_pd(genpd); in imx93_pd_on() local 38 void __iomem *addr = domain->addr; in imx93_pd_on() 42 ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks); in imx93_pd_on() 44 dev_err(domain->dev, "failed to enable clocks for domain: %s\n", genpd->name); in imx93_pd_on() 55 dev_err(domain->dev, "pd_on timeout: name: %s, stat: %x\n", genpd->name, val); in imx93_pd_on() 64 struct imx93_power_domain *domain = to_imx93_pd(genpd); in imx93_pd_off() local 65 void __iomem *addr = domain->addr; in imx93_pd_off() 77 dev_err(domain->dev, "pd_off timeout: name: %s, stat: %x\n", genpd->name, val); in imx93_pd_off() 81 clk_bulk_disable_unprepare(domain->num_clks, domain->clks); in imx93_pd_off() 88 struct imx93_power_domain *domain = platform_get_drvdata(pdev); in imx93_pd_remove() local [all …]
|
H A D | gpcv2.c | 318 struct imx_pgc_domain *domain = to_imx_pgc_domain(genpd); in imx_pgc_power_up() local 322 ret = pm_runtime_get_sync(domain->dev); in imx_pgc_power_up() 324 pm_runtime_put_noidle(domain->dev); in imx_pgc_power_up() 328 if (!IS_ERR(domain->regulator)) { in imx_pgc_power_up() 329 ret = regulator_enable(domain->regulator); in imx_pgc_power_up() 331 dev_err(domain->dev, in imx_pgc_power_up() 338 reset_control_assert(domain->reset); in imx_pgc_power_up() 340 /* Enable reset clocks for all devices in the domain */ in imx_pgc_power_up() 341 ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks); in imx_pgc_power_up() 343 dev_err(domain->dev, "failed to enable reset clocks\n"); in imx_pgc_power_up() [all …]
|
H A D | gpc.c | 71 /* Gate off domain when powered down */ in imx6_pm_domain_power_off() 75 /* Request GPC to power down domain */ in imx6_pm_domain_power_off() 103 /* Enable reset clocks for all devices in the domain */ in imx6_pm_domain_power_on() 107 /* Gate off domain when powered down */ in imx6_pm_domain_power_on() 111 /* Request GPC to power up domain */ in imx6_pm_domain_power_on() 119 pr_err("powerup request on domain %s timed out\n", genpd->name); in imx6_pm_domain_power_on() 124 /* Disable reset clocks for all devices in the domain */ in imx6_pm_domain_power_on() 131 static int imx_pgc_get_clocks(struct device *dev, struct imx_pm_domain *domain) in imx_pgc_get_clocks() argument 144 domain->clk[i] = clk; in imx_pgc_get_clocks() 146 domain->num_clks = i; in imx_pgc_get_clocks() [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | mediatek,power-controller.yaml | 17 IP cores belonging to a power domain should contain a 'power-domains' 18 property that is a phandle for SCPSYS node representing the domain. 37 '#power-domain-cells': 47 "^power-domain@[0-9a-f]+$": 48 $ref: "#/$defs/power-domain-node" 50 "^power-domain@[0-9a-f]+$": 51 $ref: "#/$defs/power-domain-node" 53 "^power-domain@[0-9a-f]+$": 54 $ref: "#/$defs/power-domain-node" 56 "^power-domain@[0-9a-f]+$": [all …]
|
H A D | power-domain.yaml | 4 $id: http://devicetree.org/schemas/power/power-domain.yaml# 20 This device tree binding can be used to bind PM domain consumer devices with 21 their PM domains provided by PM domain providers. A PM domain provider can be 24 phandle arguments (so called PM domain specifiers) of length specified by the 25 \#power-domain-cells property in the PM domain provider node. 29 pattern: "^(power-controller|power-domain|performance-domain)([@-].*)?$" 31 domain-idle-states: 37 power-domain provider. The idle state definitions are compatible with the 38 domain-idle-state bindings, specified in ./domain-idle-state.yaml. 40 Note that, the domain-idle-state property reflects the idle states of this [all …]
|
/linux/include/linux/ |
H A 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 135 * @name: Name of interrupt domain 141 * @mutex: Domain lock, hierarchical domains use root domain's lock 142 * @root: Pointer to root domain, or containing structure if non-hierarchical 157 * purposes related to the irq domain. [all …]
|
/linux/arch/arm/boot/dts/ti/keystone/ |
H A 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 …]
|
H A 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 …]
|
/linux/drivers/pmdomain/xilinx/ |
H A D | zynqmp-pm-domains.c | 3 * ZynqMP Generic PM domain support 28 * @gpd: Generic power domain 29 * @node_id: PM node ID corresponding to device inside PM domain 30 * @requested: The PM node mapped to the PM domain has been requested 65 * zynqmp_gpd_power_on() - Power on PM domain 66 * @domain: Generic PM domain 68 * This function is called before devices inside a PM domain are resumed, to 69 * power on PM domain. 73 static int zynqmp_gpd_power_on(struct generic_pm_domain *domain) in zynqmp_gpd_power_on() argument 75 struct zynqmp_pm_domain *pd = to_zynqmp_pm_domain(domain); in zynqmp_gpd_power_on() [all …]
|
/linux/drivers/pci/msi/ |
H A D | irqdomain.c | 13 struct irq_domain *domain; in pci_msi_setup_msi_irqs() local 15 domain = dev_get_msi_domain(&dev->dev); in pci_msi_setup_msi_irqs() 16 if (domain && irq_domain_is_hierarchy(domain)) in pci_msi_setup_msi_irqs() 24 struct irq_domain *domain; in pci_msi_teardown_msi_irqs() local 26 domain = dev_get_msi_domain(&dev->dev); in pci_msi_teardown_msi_irqs() 27 if (domain && irq_domain_is_hierarchy(domain)) { in pci_msi_teardown_msi_irqs() 104 * pci_msi_create_irq_domain - Create a MSI interrupt domain 106 * @info: MSI domain info 107 * @parent: Parent irq domain 109 * Updates the domain and chip ops and creates a MSI interrupt domain. [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-msi-lib.c | 10 * msi_lib_init_dev_msi_info - Domain info setup for MSI domains 11 * @dev: The device for which the domain is created for 12 * @domain: The domain providing this callback 13 * @real_parent: The real parent domain of the domain to be initialized 14 * which might be a domain built on top of @domain or 15 * @domain itself 16 * @info: The domain info for the domain to be initialize 19 * parent domain and any intermediates. The topmost parent domain specific 22 * All intermediate domains between the root and the device domain must 26 bool msi_lib_init_dev_msi_info(struct device *dev, struct irq_domain *domain, in msi_lib_init_dev_msi_info() argument [all …]
|
/linux/net/netlabel/ |
H A 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 …]
|
/linux/drivers/iommu/ |
H A D | ipmmu-vmsa.c | 211 static u32 ipmmu_ctx_read_root(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_read_root() argument 214 return ipmmu_ctx_read(domain->mmu->root, domain->context_id, reg); in ipmmu_ctx_read_root() 217 static void ipmmu_ctx_write_root(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_write_root() argument 220 ipmmu_ctx_write(domain->mmu->root, domain->context_id, reg, data); in ipmmu_ctx_write_root() 223 static void ipmmu_ctx_write_all(struct ipmmu_vmsa_domain *domain, in ipmmu_ctx_write_all() argument 226 if (domain->mmu != domain->mmu->root) in ipmmu_ctx_write_all() 227 ipmmu_ctx_write(domain->mmu, domain->context_id, reg, data); in ipmmu_ctx_write_all() 229 ipmmu_ctx_write(domain->mmu->root, domain->context_id, reg, data); in ipmmu_ctx_write_all() 254 static void ipmmu_tlb_sync(struct ipmmu_vmsa_domain *domain) in ipmmu_tlb_sync() argument 260 false, domain, IMCTR)) in ipmmu_tlb_sync() [all …]
|
/linux/include/linux/sched/ |
H A 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 …]
|
/linux/drivers/dca/ |
H A D | dca-core.c | 45 struct dca_domain *domain; in dca_allocate_domain() local 47 domain = kzalloc(sizeof(*domain), GFP_NOWAIT); in dca_allocate_domain() 48 if (!domain) in dca_allocate_domain() 51 INIT_LIST_HEAD(&domain->dca_providers); in dca_allocate_domain() 52 domain->pci_rc = rc; in dca_allocate_domain() 54 return domain; in dca_allocate_domain() 57 static void dca_free_domain(struct dca_domain *domain) in dca_free_domain() argument 59 list_del(&domain->node); in dca_free_domain() 60 kfree(domain); in dca_free_domain() 82 struct dca_domain *domain; in unregister_dca_providers() local [all …]
|
/linux/arch/arm64/boot/dts/apple/ |
H A D | t8103-pmgr.dtsi | 13 #power-domain-cells = <0>; 22 #power-domain-cells = <0>; 31 #power-domain-cells = <0>; 40 #power-domain-cells = <0>; 48 #power-domain-cells = <0>; 56 #power-domain-cells = <0>; 64 #power-domain-cells = <0>; 72 #power-domain-cells = <0>; 81 #power-domain-cells = <0>; 90 #power-domain-cells = <0>; [all …]
|
H A D | t8112-pmgr.dtsi | 13 #power-domain-cells = <0>; 22 #power-domain-cells = <0>; 31 #power-domain-cells = <0>; 40 #power-domain-cells = <0>; 48 #power-domain-cells = <0>; 56 #power-domain-cells = <0>; 65 #power-domain-cells = <0>; 74 #power-domain-cells = <0>; 83 #power-domain-cells = <0>; 92 #power-domain-cells = <0>; [all …]
|
/linux/drivers/soc/dove/ |
H A 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 …]
|