Home
last modified time | relevance | path

Searched refs:provider (Results 1 – 25 of 166) sorted by relevance

1234567

/Linux-v5.15/drivers/clk/keystone/
Dsci-clk.c65 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()
129 dev_err(clk->provider->dev, in sci_clk_is_prepared()
153 ret = clk->provider->ops->get_freq(clk->provider->sci, clk->dev_id, in sci_clk_recalc_rate()
156 dev_err(clk->provider->dev, in sci_clk_recalc_rate()
187 ret = clk->provider->ops->get_best_match_freq(clk->provider->sci, in sci_clk_determine_rate()
195 dev_err(clk->provider->dev, in sci_clk_determine_rate()
[all …]
/Linux-v5.15/drivers/interconnect/imx/
Dimx.c30 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
169 list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) in imx_icc_unregister_nodes()
[all …]
/Linux-v5.15/drivers/clk/tegra/
Dclk-tegra210-emc.c35 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()
131 if (!provider->configs || provider->num_configs == 0) in tegra210_clk_emc_set_rate()
[all …]
/Linux-v5.15/drivers/interconnect/qcom/
Dicc-rpm.c23 struct icc_provider *provider; in qcom_icc_set() local
33 provider = src->provider; in qcom_icc_set()
34 qp = to_qcom_provider(provider); in qcom_icc_set()
36 list_for_each_entry(n, &provider->nodes, node_list) in qcom_icc_set()
37 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in qcom_icc_set()
95 struct icc_provider *provider; in qnoc_probe() local
136 provider = &qp->provider; in qnoc_probe()
137 INIT_LIST_HEAD(&provider->nodes); in qnoc_probe()
138 provider->dev = dev; in qnoc_probe()
139 provider->set = qcom_icc_set; in qnoc_probe()
[all …]
Dosm-l3.c42 container_of(_provider, struct qcom_osm_l3_icc_provider, provider)
49 struct icc_provider provider; member
168 struct icc_provider *provider; in qcom_osm_l3_set() local
177 provider = src->provider; in qcom_osm_l3_set()
178 qp = to_osm_l3_provider(provider); in qcom_osm_l3_set()
180 list_for_each_entry(n, &provider->nodes, node_list) in qcom_osm_l3_set()
181 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in qcom_osm_l3_set()
202 icc_nodes_remove(&qp->provider); in qcom_osm_l3_remove()
203 return icc_provider_del(&qp->provider); in qcom_osm_l3_remove()
213 struct icc_provider *provider; in qcom_osm_l3_probe() local
[all …]
Dicc-rpmh.c51 qp = to_qcom_provider(node->provider); in qcom_icc_aggregate()
95 qp = to_qcom_provider(node->provider); in qcom_icc_set()
191 struct icc_provider *provider; in qcom_icc_rpmh_probe() local
213 provider = &qp->provider; in qcom_icc_rpmh_probe()
214 provider->dev = dev; in qcom_icc_rpmh_probe()
215 provider->set = qcom_icc_set; in qcom_icc_rpmh_probe()
216 provider->pre_aggregate = qcom_icc_pre_aggregate; in qcom_icc_rpmh_probe()
217 provider->aggregate = qcom_icc_aggregate; in qcom_icc_rpmh_probe()
218 provider->xlate_extended = qcom_icc_xlate_extended; in qcom_icc_rpmh_probe()
219 INIT_LIST_HEAD(&provider->nodes); in qcom_icc_rpmh_probe()
[all …]
Dmsm8974.c179 container_of(_provider, struct msm8974_icc_provider, 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()
604 msm8974_icc_rpm_smd_send(provider->dev, RPM_BUS_MASTER_REQ, in msm8974_icc_set()
607 msm8974_icc_rpm_smd_send(provider->dev, RPM_BUS_SLAVE_REQ, in msm8974_icc_set()
611 msm8974_icc_rpm_smd_send(provider->dev, RPM_BUS_MASTER_REQ, in msm8974_icc_set()
[all …]
Dsdm660.c163 container_of(_provider, struct qcom_icc_provider, provider)
196 struct icc_provider provider; member
597 struct icc_provider *provider; in qcom_icc_set_bimc_qos() local
603 provider = src->provider; in qcom_icc_set_bimc_qos()
604 qp = to_qcom_provider(provider); in qcom_icc_set_bimc_qos()
649 struct icc_provider *provider; in qcom_icc_set_noc_qos() local
654 provider = src->provider; in qcom_icc_set_noc_qos()
655 qp = to_qcom_provider(provider); in qcom_icc_set_noc_qos()
658 dev_dbg(src->provider->dev, in qcom_icc_set_noc_qos()
668 dev_dbg(src->provider->dev, "NoC QoS: %s: Set Fixed mode\n", in qcom_icc_set_noc_qos()
[all …]
Dsc8180x.c510 struct icc_provider *provider; in qnoc_probe() local
532 provider = &qp->provider; in qnoc_probe()
533 provider->dev = &pdev->dev; in qnoc_probe()
534 provider->set = qcom_icc_set; in qnoc_probe()
535 provider->pre_aggregate = qcom_icc_pre_aggregate; in qnoc_probe()
536 provider->aggregate = qcom_icc_aggregate; in qnoc_probe()
537 provider->xlate = of_icc_xlate_onecell; in qnoc_probe()
538 INIT_LIST_HEAD(&provider->nodes); in qnoc_probe()
539 provider->data = data; in qnoc_probe()
549 ret = icc_provider_add(provider); in qnoc_probe()
[all …]
/Linux-v5.15/drivers/interconnect/
Dcore.c45 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()
124 if (n->provider == n->links[i]->provider) in icc_graph_show()
[all …]
/Linux-v5.15/drivers/clk/ti/
Dclkctrl.c234 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
423 if (_ti_clkctrl_clk_register(provider, node, &div->hw, offset, in _ti_clkctrl_setup_div()
[all …]
/Linux-v5.15/drivers/interconnect/samsung/
Dexynos.c24 struct icc_provider provider; member
105 icc_nodes_remove(&priv->provider); in exynos_generic_icc_remove()
106 icc_provider_del(&priv->provider); in exynos_generic_icc_remove()
115 struct icc_provider *provider; in exynos_generic_icc_probe() local
126 provider = &priv->provider; in exynos_generic_icc_probe()
128 provider->set = exynos_generic_icc_set; in exynos_generic_icc_probe()
129 provider->aggregate = icc_std_aggregate; in exynos_generic_icc_probe()
130 provider->xlate = exynos_generic_icc_xlate; in exynos_generic_icc_probe()
131 provider->dev = bus_dev; in exynos_generic_icc_probe()
132 provider->inter_set = true; in exynos_generic_icc_probe()
[all …]
/Linux-v5.15/include/linux/
Dinterconnect-provider.h101 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);
125 int icc_provider_add(struct icc_provider *provider);
126 int icc_provider_del(struct icc_provider *provider);
157 static inline void icc_node_add(struct icc_node *node, struct icc_provider *provider) in icc_node_add() argument
165 static inline int icc_nodes_remove(struct icc_provider *provider) in icc_nodes_remove() argument
170 static inline int icc_provider_add(struct icc_provider *provider) in icc_provider_add() argument
175 static inline int icc_provider_del(struct icc_provider *provider) in icc_provider_del() argument
Dpci-p2pdma.h22 int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients,
47 static inline int pci_p2pdma_distance_many(struct pci_dev *provider, in pci_p2pdma_distance_many() argument
111 static inline int pci_p2pdma_distance(struct pci_dev *provider, in pci_p2pdma_distance() argument
114 return pci_p2pdma_distance_many(provider, &client, 1, verbose); in pci_p2pdma_distance()
/Linux-v5.15/drivers/phy/marvell/
Dphy-mmp3-hsic.c43 struct phy_provider *provider; in mmp3_hsic_phy_probe() local
60 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in mmp3_hsic_phy_probe()
61 if (IS_ERR(provider)) { in mmp3_hsic_phy_probe()
63 return PTR_ERR(provider); in mmp3_hsic_phy_probe()
/Linux-v5.15/drivers/phy/broadcom/
Dphy-bcm-ns2-pcie.c58 struct phy_provider *provider; in ns2_pci_phy_probe() local
69 provider = devm_of_phy_provider_register(&phy->dev, in ns2_pci_phy_probe()
71 if (IS_ERR(provider)) { in ns2_pci_phy_probe()
73 return PTR_ERR(provider); in ns2_pci_phy_probe()
Dphy-bcm-cygnus-pcie.c128 struct phy_provider *provider; in cygnus_pcie_phy_probe() local
188 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in cygnus_pcie_phy_probe()
189 if (IS_ERR(provider)) { in cygnus_pcie_phy_probe()
191 return PTR_ERR(provider); in cygnus_pcie_phy_probe()
/Linux-v5.15/drivers/pci/
Dp2pdma.c38 struct pci_dev *provider; member
208 p2p_pgmap->provider = pdev; in pci_p2pdma_add_resource()
450 calc_map_type_and_dist(struct pci_dev *provider, struct pci_dev *client, in calc_map_type_and_dist() argument
454 struct pci_dev *a = provider, *b = client, *bb; in calc_map_type_and_dist()
520 pci_name(provider)); in calc_map_type_and_dist()
528 !host_bridge_whitelist(provider, client, acs_redirects)) { in calc_map_type_and_dist()
531 pci_name(provider)); in calc_map_type_and_dist()
536 p2pdma = rcu_dereference(provider->p2pdma); in calc_map_type_and_dist()
561 int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients, in pci_p2pdma_distance_many() argument
582 map = calc_map_type_and_dist(provider, pci_client, &distance, in pci_p2pdma_distance_many()
[all …]
/Linux-v5.15/drivers/memory/tegra/
Dtegra20-emc.c179 struct icc_provider provider; member
789 to_tegra_emc_provider(struct icc_provider *provider) in to_tegra_emc_provider() argument
791 return container_of(provider, struct tegra_emc, provider); in to_tegra_emc_provider()
797 struct icc_provider *provider = data; in emc_of_icc_xlate_extended() local
802 list_for_each_entry(node, &provider->nodes, node_list) { in emc_of_icc_xlate_extended()
825 struct tegra_emc *emc = to_tegra_emc_provider(dst->provider); in emc_icc_set()
860 emc->provider.dev = emc->dev; in tegra_emc_interconnect_init()
861 emc->provider.set = emc_icc_set; in tegra_emc_interconnect_init()
862 emc->provider.data = &emc->provider; in tegra_emc_interconnect_init()
863 emc->provider.aggregate = soc->icc_ops->aggregate; in tegra_emc_interconnect_init()
[all …]
Dmc.h90 icc_provider_to_tegra_mc(struct icc_provider *provider) in icc_provider_to_tegra_mc() argument
92 return container_of(provider, struct tegra_mc, provider); in icc_provider_to_tegra_mc()
/Linux-v5.15/Documentation/driver-api/
Dinterconnect.rst55 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
/Linux-v5.15/drivers/phy/
Dphy-pistachio-usb.c135 struct phy_provider *provider; in pistachio_usb_phy_probe() local
175 provider = devm_of_phy_provider_register(p_phy->dev, in pistachio_usb_phy_probe()
177 if (IS_ERR(provider)) { in pistachio_usb_phy_probe()
179 PTR_ERR(provider)); in pistachio_usb_phy_probe()
180 return PTR_ERR(provider); in pistachio_usb_phy_probe()
/Linux-v5.15/drivers/phy/renesas/
Dphy-rcar-gen3-pcie.c77 struct phy_provider *provider; in rcar_gen3_phy_pcie_probe() local
114 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in rcar_gen3_phy_pcie_probe()
115 if (IS_ERR(provider)) { in rcar_gen3_phy_pcie_probe()
117 error = PTR_ERR(provider); in rcar_gen3_phy_pcie_probe()
/Linux-v5.15/Documentation/driver-api/pci/
Dp2pdma.rst44 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
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
112 be chosen first. If more than one provider is an equal distance away, the
114 truly random). This function returns the PCI device to use for the provider
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/reset/
Dreset.txt9 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

1234567