| /kernel/linux/linux-6.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 98 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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /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-6.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)) \ 289 #define _SDT_ASM_BODY(provider, name, pack_args, args, ...) \ 299 _SDT_SEMAPHORE(provider,name) \ [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /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-6.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 …]
|
| /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-6.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 | 9 #include <linux/interconnect-provider.h> 38 container_of(_provider, struct qcom_osm_l3_icc_provider, provider) 45 struct icc_provider provider; member 129 struct icc_provider *provider; in qcom_osm_l3_set() local 135 provider = src->provider; in qcom_osm_l3_set() 136 qp = to_osm_l3_provider(provider); in qcom_osm_l3_set() 155 icc_provider_deregister(&qp->provider); in qcom_osm_l3_remove() 156 icc_nodes_remove(&qp->provider); in qcom_osm_l3_remove() 168 struct icc_provider *provider; in qcom_osm_l3_probe() local 238 provider = &qp->provider; in qcom_osm_l3_probe() [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /kernel/linux/linux-6.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 …]
|
| /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 …]
|
| /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() 293 _ti_clkctrl_clk_register(struct omap_clkctrl_provider *provider, in _ti_clkctrl_clk_register() argument 330 list_add(&clkctrl_clk->node, &provider->clocks); in _ti_clkctrl_clk_register() 341 _ti_clkctrl_setup_gate(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_gate() argument 355 if (_ti_clkctrl_clk_register(provider, node, &clk_hw->hw, offset, in _ti_clkctrl_setup_gate() 362 _ti_clkctrl_setup_mux(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_mux() argument 390 if (_ti_clkctrl_clk_register(provider, node, &mux->hw, offset, in _ti_clkctrl_setup_mux() 397 _ti_clkctrl_setup_div(struct omap_clkctrl_provider *provider, in _ti_clkctrl_setup_div() argument [all …]
|
| /kernel/linux/linux-6.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 …]
|
| /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-6.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) 98 a specific P2P provider to use it may check compatibility using 99 :c:func:`pci_p2pdma_distance()` otherwise it may find a memory provider 101 If more than one provider is supported, the one nearest to all the clients will [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-6.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>/``.
|