/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 | 41 * @domid: ID of the domain on which management operations should be done 56 /* The maximum domain size */ 62 static int msi_domain_prepare_irqs(struct irq_domain *domain, struct device *dev, 145 * @domid: The id of the interrupt domain to which the desriptor is added 186 (dev->msi.domain && in msi_ctrl_valid() 187 !dev->msi.data->__domains[ctrl->domid].domain))) in msi_ctrl_valid() 223 * @domid: Id of the domain to operate on 332 * If @dev::msi::domain is set and is a global MSI domain, copy the in msi_setup_device_data() 333 * pointer into the domain array so all code can operate on domain in msi_setup_device_data() 337 if (dev->msi.domain && !irq_domain_is_msi_parent(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 …]
|
H A D | nested.c | 21 static int intel_nested_attach_dev(struct iommu_domain *domain, in intel_nested_attach_dev() argument 25 struct dmar_domain *dmar_domain = to_dmar_domain(domain); in intel_nested_attach_dev() 38 * Stage-1 domain cannot work alone, it is nested on a s2_domain. in intel_nested_attach_dev() 42 ret = paging_domain_compatible(&dmar_domain->s2_domain->domain, dev); in intel_nested_attach_dev() 44 dev_err_ratelimited(dev, "s2 domain is not compatible\n"); in intel_nested_attach_dev() 50 dev_err_ratelimited(dev, "Failed to attach domain to iommu\n"); in intel_nested_attach_dev() 58 ret = iopf_for_domain_set(domain, dev); in intel_nested_attach_dev() 67 info->domain = dmar_domain; in intel_nested_attach_dev() 75 iopf_for_domain_remove(domain, dev); in intel_nested_attach_dev() 84 static void intel_nested_domain_free(struct iommu_domain *domain) in intel_nested_domain_free() argument [all …]
|
H A D | svm.c | 55 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_arch_invalidate_secondary_tlbs() local 58 cache_tag_flush_all(domain); in intel_arch_invalidate_secondary_tlbs() 67 cache_tag_flush_range(domain, start, end - 1, 0); in intel_arch_invalidate_secondary_tlbs() 72 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_release() local 89 spin_lock_irqsave(&domain->lock, flags); in intel_mm_release() 90 list_for_each_entry(dev_pasid, &domain->dev_pasids, link_domain) { in intel_mm_release() 95 spin_unlock_irqrestore(&domain->lock, flags); in intel_mm_release() 101 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_free_notifier() local 103 kfree(domain->qi_batch); in intel_mm_free_notifier() 104 kfree(domain); in intel_mm_free_notifier() [all …]
|
/linux/include/linux/ |
H A D | irqdomain.h | 5 * See Documentation/core-api/irq/irq-domain.rst for the details. 53 * @match: Match an interrupt controller device node to a domain, returns 113 * @name: Name of interrupt domain 119 * @mutex: Domain lock, hierarchical domains use root domain's lock 120 * @root: Pointer to root domain, or containing structure if non-hierarchical 135 * purposes related to the irq domain. 137 * @msi_parent_ops: Pointer to MSI parent domain methods for per device domain init 138 * @exit: Function called when the domain is destroyed 140 * Revmap data, used internally by the irq domain code: 178 /* Irq domain flags */ [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 | 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. 38 '#power-domain-cells': 48 "^power-domain@[0-9a-f]+$": 49 $ref: "#/$defs/power-domain-node" 51 "^power-domain@[0-9a-f]+$": 52 $ref: "#/$defs/power-domain-node" 54 "^power-domain@[0-9a-f]+$": 55 $ref: "#/$defs/power-domain-node" 57 "^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/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 | s8001-pmgr.dtsi | 12 #power-domain-cells = <0>; 21 #power-domain-cells = <0>; 30 #power-domain-cells = <0>; 39 #power-domain-cells = <0>; 47 #power-domain-cells = <0>; 56 #power-domain-cells = <0>; 65 #power-domain-cells = <0>; 74 #power-domain-cells = <0>; 82 #power-domain-cells = <0>; 90 #power-domain-cells = <0>; [all …]
|
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 …]
|