| /kernel/linux/linux-5.10/drivers/clk/keystone/ |
| D | sci-clk.c | 16 #include <linux/clk-provider.h> 33 * struct sci_clk_provider - TI SCI clock provider representation 36 * @dev: Device pointer for the clock provider 38 * @num_clocks: Total number of clocks for this provider 54 * @provider: Master clock provider 65 struct sci_clk_provider *provider; member 87 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare() 104 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare() 107 dev_err(clk->provider->dev, in sci_clk_unprepare() 125 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared() [all …]
|
| /kernel/linux/linux-5.10/drivers/interconnect/imx/ |
| D | imx.c | 12 #include <linux/interconnect-provider.h> 30 struct device *dev = node->provider->dev; in imx_icc_node_set() 68 dev_warn(node->provider->dev, in imx_icc_node_destroy() 78 static int imx_icc_node_init_qos(struct icc_provider *provider, in imx_icc_node_init_qos() argument 83 struct device *dev = provider->dev; in imx_icc_node_init_qos() 123 static struct icc_node *imx_icc_node_add(struct icc_provider *provider, in imx_icc_node_add() argument 126 struct device *dev = provider->dev; in imx_icc_node_add() 152 icc_node_add(node, provider); in imx_icc_node_add() 155 ret = imx_icc_node_init_qos(provider, node); in imx_icc_node_add() 165 static void imx_icc_unregister_nodes(struct icc_provider *provider) in imx_icc_unregister_nodes() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/clk/keystone/ |
| D | sci-clk.c | 16 #include <linux/clk-provider.h> 32 * struct sci_clk_provider - TI SCI clock provider representation 35 * @dev: Device pointer for the clock provider 37 * @num_clocks: Total number of clocks for this provider 53 * @provider: Master clock provider 61 struct sci_clk_provider *provider; member 80 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare() 97 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare() 100 dev_err(clk->provider->dev, in sci_clk_unprepare() 118 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/tegra/ |
| D | clk-tegra210-emc.c | 8 #include <linux/clk-provider.h> 35 struct tegra210_clk_emc_provider *provider; member 93 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_round_rate() local 96 if (!provider || !provider->configs || provider->num_configs == 0) in tegra210_clk_emc_round_rate() 99 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_round_rate() 100 if (provider->configs[i].rate >= rate) in tegra210_clk_emc_round_rate() 101 return provider->configs[i].rate; in tegra210_clk_emc_round_rate() 104 return provider->configs[i - 1].rate; in tegra210_clk_emc_round_rate() 122 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_set_rate() local 124 struct device *dev = provider->dev; in tegra210_clk_emc_set_rate() [all …]
|
| /kernel/linux/linux-5.10/drivers/interconnect/ |
| D | core.c | 14 #include <linux/interconnect-provider.h> 45 struct icc_provider *provider; in icc_summary_show() local 52 list_for_each_entry(provider, &icc_providers, provider_list) { in icc_summary_show() 55 list_for_each_entry(n, &provider->nodes, node_list) { in icc_summary_show() 101 struct icc_provider *provider; in icc_graph_show() local 111 list_for_each_entry(provider, &icc_providers, provider_list) { in icc_graph_show() 113 if (provider->dev) in icc_graph_show() 115 dev_name(provider->dev)); in icc_graph_show() 118 list_for_each_entry(n, &provider->nodes, node_list) in icc_graph_show() 122 list_for_each_entry(n, &provider->nodes, node_list) in icc_graph_show() [all …]
|
| /kernel/linux/linux-5.10/drivers/interconnect/qcom/ |
| D | osm-l3.c | 8 #include <linux/interconnect-provider.h> 41 container_of(_provider, struct qcom_osm_l3_icc_provider, provider) 48 struct icc_provider provider; member 151 struct icc_provider *provider; in qcom_icc_set() local 160 provider = src->provider; in qcom_icc_set() 161 qp = to_qcom_provider(provider); in qcom_icc_set() 163 list_for_each_entry(n, &provider->nodes, node_list) in qcom_icc_set() 164 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in qcom_icc_set() 185 icc_nodes_remove(&qp->provider); in qcom_osm_l3_remove() 186 return icc_provider_del(&qp->provider); in qcom_osm_l3_remove() [all …]
|
| D | qcs404.c | 9 #include <linux/interconnect-provider.h> 99 container_of(_provider, struct qcom_icc_provider, provider) 107 * struct qcom_icc_provider - Qualcomm specific interconnect provider 108 * @provider: generic interconnect provider 113 struct icc_provider provider; member 334 struct icc_provider *provider; in qcom_icc_set() local 344 provider = src->provider; in qcom_icc_set() 345 qp = to_qcom_provider(provider); in qcom_icc_set() 347 list_for_each_entry(n, &provider->nodes, node_list) in qcom_icc_set() 348 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in qcom_icc_set() [all …]
|
| D | msm8916.c | 9 #include <linux/interconnect-provider.h> 111 container_of(_provider, struct msm8916_icc_provider, provider) 119 * struct msm8916_icc_provider - Qualcomm specific interconnect provider 120 * @provider: generic interconnect provider 125 struct icc_provider provider; member 372 struct icc_provider *provider; in msm8916_icc_set() local 377 provider = src->provider; in msm8916_icc_set() 378 qp = to_msm8916_provider(provider); in msm8916_icc_set() 380 list_for_each_entry(n, &provider->nodes, node_list) in msm8916_icc_set() 381 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in msm8916_icc_set() [all …]
|
| D | msm8974.c | 33 #include <linux/interconnect-provider.h> 179 container_of(_provider, struct msm8974_icc_provider, provider) 187 * struct msm8974_icc_provider - Qualcomm specific interconnect provider 188 * @provider: generic interconnect provider 193 struct icc_provider provider; member 587 struct icc_provider *provider; in msm8974_icc_set() local 593 provider = src->provider; in msm8974_icc_set() 594 qp = to_msm8974_icc_provider(provider); in msm8974_icc_set() 596 list_for_each_entry(n, &provider->nodes, node_list) in msm8974_icc_set() 597 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in msm8974_icc_set() [all …]
|
| D | icc-rpmh.h | 12 container_of(_provider, struct qcom_icc_provider, provider) 15 * struct qcom_icc_provider - Qualcomm specific interconnect provider 16 * @provider: generic interconnect provider 18 * @bcms: list of bcms that maps to the provider 20 * @voter: bcm voter targeted by this provider 23 struct icc_provider provider; member
|
| /kernel/linux/linux-4.19/drivers/clk/ti/ |
| D | clkctrl.c | 18 #include <linux/clk-provider.h> 231 struct omap_clkctrl_provider *provider = data; in _ti_omap4_clkctrl_xlate() local 241 list_for_each_entry(entry, &provider->clocks, node) { in _ti_omap4_clkctrl_xlate() 256 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, in _ti_clkctrl_clk_register() argument 290 list_add(&clkctrl_clk->node, &provider->clocks); in _ti_clkctrl_clk_register() 301 _ti_clkctrl_setup_gate(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_gate() argument 315 if (_ti_clkctrl_clk_register(provider, node, &clk_hw->hw, offset, in _ti_clkctrl_setup_gate() 322 _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_mux() argument 350 if (_ti_clkctrl_clk_register(provider, node, &mux->hw, offset, in _ti_clkctrl_setup_mux() 357 _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_div() argument [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | interconnect-provider.h | 43 * struct icc_provider - interconnect provider (controller) entity that might 47 * @nodes: internal list of the interconnect provider nodes 53 * @xlate: provider-specific callback for mapping nodes from phandle arguments 55 * @dev: the device this interconnect provider belongs to 57 * @inter_set: whether inter-provider pairs will be configured with @set 83 * @provider: points to the interconnect provider of this node 84 * @node_list: the list entry in the parent provider's "nodes" list 101 struct icc_provider *provider; member 122 void icc_node_add(struct icc_node *node, struct icc_provider *provider); 124 int icc_nodes_remove(struct icc_provider *provider); [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/ti/ |
| D | clkctrl.c | 18 #include <linux/clk-provider.h> 234 struct omap_clkctrl_provider *provider = data; in _ti_omap4_clkctrl_xlate() local 244 list_for_each_entry(entry, &provider->clocks, node) { in _ti_omap4_clkctrl_xlate() 290 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, in _ti_clkctrl_clk_register() argument 327 list_add(&clkctrl_clk->node, &provider->clocks); in _ti_clkctrl_clk_register() 338 _ti_clkctrl_setup_gate(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_gate() argument 352 if (_ti_clkctrl_clk_register(provider, node, &clk_hw->hw, offset, in _ti_clkctrl_setup_gate() 359 _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_mux() argument 387 if (_ti_clkctrl_clk_register(provider, node, &mux->hw, offset, in _ti_clkctrl_setup_mux() 394 _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_div() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/pci/ |
| D | p2pdma.rst | 36 * Provider - A driver which provides or publishes P2P resources like 44 it may be typical for a driver to be both a provider and a client). 48 * The NVMe PCI driver is both a client, provider and orchestrator 50 resource (provider), it accepts P2P memory pages as buffers in requests 61 memory behind it, its driver could add support as a P2P provider and 66 Provider Drivers 69 A provider simply needs to register a BAR (or a portion of a BAR) 108 a specific P2P provider to use it may check compatibility using 109 :c:func:`pci_p2pdma_distance()` otherwise it may find a memory provider 111 If more than one provider is supported, the one nearest to all the clients will [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
| D | power-domain.yaml | 20 their PM domains provided by PM domain providers. A PM domain provider can be 22 domains. A consumer node can refer to the provider by a phandle and a set of 24 \#power-domain-cells property in the PM domain provider node. 34 power-domain provider. The idle state definitions are compatible with the 47 provider. If the provider provides a single power domain only or all 48 the power domains provided by the provider have identical OPP tables, 57 by device tree binding documentation of particular provider. 66 by the given provider should be subdomains of the domain specified 82 // The node above defines a power controller that is a PM domain provider and
|
| /kernel/linux/linux-4.19/arch/ia64/sn/kernel/ |
| D | msi_sn.c | 39 struct sn_pcibus_provider *provider; in sn_teardown_msi_irq() local 47 provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_teardown_msi_irq() 49 (*provider->dma_unmap)(pdev, in sn_teardown_msi_irq() 75 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_setup_msi_irq() local 84 if (provider == NULL || provider->dma_map_consistent == NULL) in sn_setup_msi_irq() 124 bus_addr = (*provider->dma_map_consistent)(pdev, in sn_setup_msi_irq() 166 struct sn_pcibus_provider *provider; in sn_set_msi_irq_affinity() local 181 provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_set_msi_irq_affinity() 184 (*provider->dma_unmap)(pdev, bus_addr, PCI_DMA_FROMDEVICE); in sn_set_msi_irq_affinity() 199 bus_addr = (*provider->dma_map_consistent)(pdev, in sn_set_msi_irq_affinity()
|
| /kernel/linux/linux-5.10/drivers/pci/ |
| D | p2pdma.c | 38 struct pci_dev *provider; member 193 p2p_pgmap->provider = pdev; in pci_p2pdma_add_resource() 387 __upstream_bridge_distance(struct pci_dev *provider, struct pci_dev *client, in __upstream_bridge_distance() argument 390 struct pci_dev *a = provider, *b = client, *bb; in __upstream_bridge_distance() 505 upstream_bridge_distance(struct pci_dev *provider, struct pci_dev *client, in upstream_bridge_distance() argument 510 map_type = __upstream_bridge_distance(provider, client, dist, in upstream_bridge_distance() 515 !host_bridge_whitelist(provider, client)) in upstream_bridge_distance() 519 if (provider->p2pdma) in upstream_bridge_distance() 520 xa_store(&provider->p2pdma->map_types, map_types_idx(client), in upstream_bridge_distance() 527 upstream_bridge_distance_warn(struct pci_dev *provider, struct pci_dev *client, in upstream_bridge_distance_warn() argument [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/nvmem/ |
| D | nvmem.txt | 14 Contains bindings specific to provider drivers and data cells as children 18 read-only: Mark the provider as read only. 21 These are the child nodes of the provider which contain data cell 22 information like offset and size in nvmem provider. 35 /* Provider */ 72 nvmem-names: names for the each nvmem provider. required if nvmem is used.
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/power/ |
| D | power_domain.txt | 8 their PM domains provided by PM domain providers. A PM domain provider can be 10 domains. A consumer node can refer to the provider by a phandle and a set of 12 #power-domain-cells property in the PM domain provider node. 20 as specified by device tree binding documentation of particular provider. 28 created by the given provider should be subdomains of the domain 44 a power domain provider. If the provider provides a single power domain only 45 or all the power domains provided by the provider have identical OPP tables, 57 The node above defines a power controller that is a PM domain provider and 115 the power controller that is the PM domain provider. 156 - OPP table for domain provider that provides two domains.
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/reset/ |
| D | reset.txt | 9 a reset provider (e.g. power management or clock module) and received by a 11 ordinate module is reset). This binding exists to represent the provider and 14 A reset signal is represented by the phandle of the provider, plus a reset 16 provider. The length (number of cells) and semantics of the reset specifier 17 are dictated by the binding of the reset provider, although common schemes 50 device manages. Note: if the reset provider specifies '0' for
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/reset/ |
| D | reset.txt | 9 a reset provider (e.g. power management or clock module) and received by a 11 ordinate module is reset). This binding exists to represent the provider and 14 A reset signal is represented by the phandle of the provider, plus a reset 16 provider. The length (number of cells) and semantics of the reset specifier 17 are dictated by the binding of the reset provider, although common schemes 50 device manages. Note: if the reset provider specifies '0' for
|
| /kernel/linux/linux-4.19/arch/ia64/sn/pci/ |
| D | pci_dma.c | 86 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_dma_alloc_coherent() local 119 *dma_handle = provider->dma_map_consistent(pdev, phys_addr, size, in sn_dma_alloc_coherent() 144 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_dma_free_coherent() local 148 provider->dma_unmap(pdev, dma_handle, 0); in sn_dma_free_coherent() 185 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_dma_map_page() local 191 dma_addr = provider->dma_map_consistent(pdev, phys_addr, in sn_dma_map_page() 194 dma_addr = provider->dma_map(pdev, phys_addr, size, in sn_dma_map_page() 221 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_dma_unmap_page() local 225 provider->dma_unmap(pdev, dma_addr, dir); in sn_dma_unmap_page() 244 struct sn_pcibus_provider *provider = SN_PCIDEV_BUSPROVIDER(pdev); in sn_dma_unmap_sg() local [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/phy/ |
| D | phy.rst | 28 Registering/Unregistering the PHY provider 31 PHY provider refers to an entity that implements one or more PHY instances. 32 For the simple case where the PHY provider implements only a single instance of 34 of_phy_simple_xlate. If the PHY provider implements multiple instances, it 50 2 macros to register the PHY provider. 52 Often the device tree nodes associated with a PHY provider will contain a set 93 Inorder to dereference the private data (in phy_ops), the phy provider driver 167 phy_create (PHY provider device). 170 pm_runtime_get_sync of PHY provider device because of parent-child relationship.
|
| /kernel/linux/linux-4.19/Documentation/ |
| D | phy.txt | 28 Registering/Unregistering the PHY provider 31 PHY provider refers to an entity that implements one or more PHY instances. 32 For the simple case where the PHY provider implements only a single instance of 34 of_phy_simple_xlate. If the PHY provider implements multiple instances, it 50 2 macros to register the PHY provider. 52 Often the device tree nodes associated with a PHY provider will contain a set 93 Inorder to dereference the private data (in phy_ops), the phy provider driver 167 phy_create (PHY provider device). 170 pm_runtime_get_sync of PHY provider device because of parent-child relationship.
|
| /kernel/linux/linux-5.10/Documentation/driver-api/ |
| D | interconnect.rst | 55 Interconnect provider is the software definition of the interconnect hardware. 60 port. Each interconnect provider consists of multiple interconnect nodes, 63 called an interconnect node, which belongs to the Mem NoC interconnect provider. 81 Interconnect provider is an entity that implements methods to initialize and 82 configure interconnect bus hardware. The interconnect provider drivers should 83 be registered with the interconnect provider core. 85 .. kernel-doc:: include/linux/interconnect-provider.h 111 same provider as subgraphs. The format is human-readable and can also be piped
|