/Linux-v6.6/drivers/interconnect/ |
D | icc-clk.c | 9 #include <linux/interconnect-provider.h> 17 struct icc_provider provider; member 23 container_of(_provider, struct icc_clk_provider, provider) 64 * icc_clk_register() - register a new clk-based interconnect provider 65 * @dev: device supporting this provider 66 * @first_id: an ID of the first provider's node 68 * @data: data for the provider 70 * Registers and returns a clk-based interconnect provider. It is a simple 82 struct icc_provider *provider; in icc_clk_register() local 97 provider = &qp->provider; in icc_clk_register() [all …]
|
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 …]
|
/Linux-v6.6/drivers/clk/keystone/ |
D | sci-clk.c | 8 #include <linux/clk-provider.h> 24 * struct sci_clk_provider - TI SCI clock provider representation 27 * @dev: Device pointer for the clock provider 29 * @num_clocks: Total number of clocks for this provider 45 * @provider: Master clock provider 56 struct sci_clk_provider *provider; member 78 return clk->provider->ops->get_clock(clk->provider->sci, clk->dev_id, in sci_clk_prepare() 95 ret = clk->provider->ops->put_clock(clk->provider->sci, clk->dev_id, in sci_clk_unprepare() 98 dev_err(clk->provider->dev, in sci_clk_unprepare() 116 ret = clk->provider->ops->is_on(clk->provider->sci, clk->dev_id, in sci_clk_is_prepared() [all …]
|
/Linux-v6.6/tools/testing/selftests/bpf/ |
D | sdt.h | 45 # define _SDT_PROBE(provider, name, n, arglist) \ argument 46 _SDT_ASM_BODY(provider, name, _SDT_ASM_SUBSTR_1, (_SDT_DEPAREN_##n arglist)) \ 69 #define _SDT_NOTE_SEMAPHORE_USE(provider, name) \ argument 70 __asm__ __volatile__ ("" :: "m" (provider##_##name##_semaphore)); 72 #define _SDT_NOTE_SEMAPHORE_USE(provider, name) argument 75 # define _SDT_PROBE(provider, name, n, arglist) \ argument 77 _SDT_NOTE_SEMAPHORE_USE(provider, name); \ 78 __asm__ __volatile__ (_SDT_ASM_BODY(provider, name, _SDT_ASM_ARGS, (n)) \ 287 #define _SDT_ASM_BODY(provider, name, pack_args, args, ...) \ 297 _SDT_SEMAPHORE(provider,name) \ [all …]
|
/Linux-v6.6/drivers/interconnect/imx/ |
D | imx.c | 12 #include <linux/interconnect-provider.h> 41 struct device *dev = node->provider->dev; in imx_icc_node_set() 107 dev_warn(node->provider->dev, in imx_icc_node_destroy() 117 static int imx_icc_node_init_qos(struct icc_provider *provider, in imx_icc_node_init_qos() argument 122 struct device *dev = provider->dev; in imx_icc_node_init_qos() 166 struct icc_provider *provider = &imx_provider->provider; in imx_icc_node_add() local 167 struct device *dev = provider->dev; in imx_icc_node_add() 195 icc_node_add(node, provider); in imx_icc_node_add() 198 ret = imx_icc_node_init_qos(provider, node); in imx_icc_node_add() 208 static void imx_icc_unregister_nodes(struct icc_provider *provider) in imx_icc_unregister_nodes() argument [all …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/drivers/interconnect/qcom/ |
D | icc-rpm.c | 7 #include <linux/interconnect-provider.h> 55 struct icc_provider *provider = src->provider; in qcom_icc_set_qnoc_qos() local 56 struct qcom_icc_provider *qp = to_qcom_provider(provider); in qcom_icc_set_qnoc_qos() 102 struct icc_provider *provider; in qcom_icc_set_bimc_qos() local 108 provider = src->provider; in qcom_icc_set_bimc_qos() 109 qp = to_qcom_provider(provider); in qcom_icc_set_bimc_qos() 157 struct icc_provider *provider; in qcom_icc_set_noc_qos() local 162 provider = src->provider; in qcom_icc_set_noc_qos() 163 qp = to_qcom_provider(provider); in qcom_icc_set_noc_qos() 166 dev_dbg(src->provider->dev, in qcom_icc_set_noc_qos() [all …]
|
D | icc-rpmh.c | 7 #include <linux/interconnect-provider.h> 28 qp = to_qcom_provider(node->provider); in qcom_icc_pre_aggregate() 96 qp = to_qcom_provider(node->provider); in qcom_icc_set() 107 * @dev: associated provider device 167 struct icc_provider *provider; in qcom_icc_rpmh_probe() local 190 provider = &qp->provider; in qcom_icc_rpmh_probe() 191 provider->dev = dev; in qcom_icc_rpmh_probe() 192 provider->set = qcom_icc_set; in qcom_icc_rpmh_probe() 193 provider->pre_aggregate = qcom_icc_pre_aggregate; in qcom_icc_rpmh_probe() 194 provider->aggregate = qcom_icc_aggregate; in qcom_icc_rpmh_probe() [all …]
|
D | osm-l3.c | 8 #include <linux/interconnect-provider.h> 37 container_of(_provider, struct qcom_osm_l3_icc_provider, provider) 44 struct icc_provider provider; member 128 struct icc_provider *provider; in qcom_osm_l3_set() local 134 provider = src->provider; in qcom_osm_l3_set() 135 qp = to_osm_l3_provider(provider); in qcom_osm_l3_set() 154 icc_provider_deregister(&qp->provider); in qcom_osm_l3_remove() 155 icc_nodes_remove(&qp->provider); in qcom_osm_l3_remove() 167 struct icc_provider *provider; in qcom_osm_l3_probe() local 237 provider = &qp->provider; in qcom_osm_l3_probe() [all …]
|
D | msm8974.c | 33 #include <linux/interconnect-provider.h> 178 container_of(_provider, struct msm8974_icc_provider, provider) 186 * struct msm8974_icc_provider - Qualcomm specific interconnect provider 187 * @provider: generic interconnect provider 192 struct icc_provider provider; member 586 struct icc_provider *provider; in msm8974_icc_set() local 592 provider = src->provider; in msm8974_icc_set() 593 qp = to_msm8974_icc_provider(provider); in msm8974_icc_set() 595 list_for_each_entry(n, &provider->nodes, node_list) in msm8974_icc_set() 596 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
|
D | icc-rpm.h | 13 #include <linux/interconnect-provider.h> 20 container_of(_provider, struct qcom_icc_provider, provider) 41 * struct qcom_icc_provider - Qualcomm specific interconnect provider 42 * @provider: generic interconnect provider 44 * @type: the ICC provider type 55 struct icc_provider provider; member
|
/Linux-v6.6/drivers/interconnect/samsung/ |
D | exynos.c | 3 * Exynos generic interconnect provider driver 11 #include <linux/interconnect-provider.h> 23 /* One interconnect node per provider */ 24 struct icc_provider provider; member 100 icc_provider_deregister(&priv->provider); in exynos_generic_icc_remove() 101 icc_nodes_remove(&priv->provider); in exynos_generic_icc_remove() 110 struct icc_provider *provider; in exynos_generic_icc_probe() local 121 provider = &priv->provider; in exynos_generic_icc_probe() 123 provider->set = exynos_generic_icc_set; in exynos_generic_icc_probe() 124 provider->aggregate = icc_std_aggregate; in exynos_generic_icc_probe() [all …]
|
/Linux-v6.6/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 121 void icc_node_add(struct icc_node *node, struct icc_provider *provider); 123 int icc_nodes_remove(struct icc_provider *provider); [all …]
|
/Linux-v6.6/drivers/clk/ti/ |
D | clkctrl.c | 10 #include <linux/clk-provider.h> 227 struct omap_clkctrl_provider *provider = data; in _ti_omap4_clkctrl_xlate() local 236 list_for_each_entry(iter, &provider->clocks, node) { in _ti_omap4_clkctrl_xlate() 285 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, in _ti_clkctrl_clk_register() argument 322 list_add(&clkctrl_clk->node, &provider->clocks); in _ti_clkctrl_clk_register() 333 _ti_clkctrl_setup_gate(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_gate() argument 347 if (_ti_clkctrl_clk_register(provider, node, &clk_hw->hw, offset, in _ti_clkctrl_setup_gate() 354 _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_mux() argument 382 if (_ti_clkctrl_clk_register(provider, node, &mux->hw, offset, in _ti_clkctrl_setup_mux() 389 _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_div() argument [all …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/drivers/memory/tegra/ |
D | tegra186-emc.c | 35 struct icc_provider provider; member 38 static inline struct tegra186_emc *to_tegra186_emc(struct icc_provider *provider) in to_tegra186_emc() argument 40 return container_of(provider, struct tegra186_emc, provider); in to_tegra186_emc() 226 * tegra_emc_icc_set_bw() - Set BW api for EMC provider 241 struct icc_provider *provider = data; in tegra_emc_of_icc_xlate() local 245 list_for_each_entry(node, &provider->nodes, node_list) { in tegra_emc_of_icc_xlate() 270 emc->provider.dev = emc->dev; in tegra_emc_interconnect_init() 271 emc->provider.set = tegra_emc_icc_set_bw; in tegra_emc_interconnect_init() 272 emc->provider.data = &emc->provider; in tegra_emc_interconnect_init() 273 emc->provider.aggregate = soc->icc_ops->aggregate; in tegra_emc_interconnect_init() [all …]
|
/Linux-v6.6/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. 36 power-domain provider. The idle state definitions are compatible with the 48 provider. If the provider provides a single power domain only or all 49 the power domains provided by the provider have identical OPP tables, 58 by device tree binding documentation of particular provider. 67 by the given provider should be subdomains of the domain specified 83 // The node above defines a power controller that is a PM domain provider and
|
/Linux-v6.6/Documentation/driver-api/hte/ |
D | hte.rst | 20 engine provider and consumer drivers that want to use the hardware timestamping 50 - Stores GPIO raw level in raw_level variable if the provider has that 61 ``/sys/kernel/debug/hte/<provider>/<label or line id>/``. Note that these 65 The total number of entities requested from the given provider, 66 where entity is specified by the provider and could represent 69 ``/sys/kernel/debug/hte/<provider>/``. 72 The total number of entities supported by the provider. 74 ``/sys/kernel/debug/hte/<provider>/``. 79 ``/sys/kernel/debug/hte/<provider>/<label or line id>/``.
|
/Linux-v6.6/Documentation/devicetree/bindings/dvfs/ |
D | performance-domain.yaml | 26 providers. A performance domain provider can be represented by any node in 28 node can refer to the provider by a phandle and a set of phandle arguments 30 \#performance-domain-cells property in the performance domain provider node. 41 provider. 48 performance controller/provider specified by phandle. 67 // domain provider and expects one cell as its phandle argument.
|
/Linux-v6.6/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
|
/Linux-v6.6/drivers/phy/marvell/ |
D | phy-mmp3-hsic.c | 44 struct phy_provider *provider; in mmp3_hsic_phy_probe() local 59 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); in mmp3_hsic_phy_probe() 60 if (IS_ERR(provider)) { in mmp3_hsic_phy_probe() 61 dev_err(dev, "failed to register PHY provider\n"); in mmp3_hsic_phy_probe() 62 return PTR_ERR(provider); in mmp3_hsic_phy_probe()
|
/Linux-v6.6/drivers/pci/ |
D | p2pdma.c | 32 struct pci_dev *provider; member 199 rcu_dereference_protected(pgmap->provider->p2pdma, 1); in p2pdma_page_free() 323 p2p_pgmap->provider = pdev; in pci_p2pdma_add_resource() 575 calc_map_type_and_dist(struct pci_dev *provider, struct pci_dev *client, in calc_map_type_and_dist() argument 579 struct pci_dev *a = provider, *b = client, *bb; in calc_map_type_and_dist() 644 pci_warn(client, "ACS redirect is set between the client and provider (%s)\n", in calc_map_type_and_dist() 645 pci_name(provider)); in calc_map_type_and_dist() 653 !host_bridge_whitelist(provider, client, acs_redirects)) { in calc_map_type_and_dist() 655 …pci_warn(client, "cannot be used for peer-to-peer DMA as the client and provider (%s) do not share… in calc_map_type_and_dist() 656 pci_name(provider)); in calc_map_type_and_dist() [all …]
|
/Linux-v6.6/drivers/phy/broadcom/ |
D | phy-bcm-ns2-pcie.c | 46 struct phy_provider *provider; in ns2_pci_phy_probe() local 57 provider = devm_of_phy_provider_register(&phy->dev, in ns2_pci_phy_probe() 59 if (IS_ERR(provider)) { in ns2_pci_phy_probe() 60 dev_err(dev, "failed to register Phy provider\n"); in ns2_pci_phy_probe() 61 return PTR_ERR(provider); in ns2_pci_phy_probe()
|
/Linux-v6.6/Documentation/devicetree/bindings/interconnect/ |
D | interconnect.txt | 1 Interconnect Provider Device Tree Bindings 10 The interconnect provider binding is intended to represent the interconnect 11 controllers in the system. Each provider registers a set of interconnect 20 - compatible : contains the interconnect provider compatible string 46 interconnects : Pairs of phandles and interconnect provider specifier to denote
|