Home
last modified time | relevance | path

Searched refs:bpmp (Results 1 – 21 of 21) sorted by relevance

/drivers/firmware/tegra/
Dbpmp.c36 struct tegra_bpmp *bpmp = channel->bpmp; in channel_to_ops() local
38 return bpmp->soc->ops; in channel_to_ops()
44 struct tegra_bpmp *bpmp; in tegra_bpmp_get() local
53 bpmp = ERR_PTR(-ENODEV); in tegra_bpmp_get()
57 bpmp = platform_get_drvdata(pdev); in tegra_bpmp_get()
58 if (!bpmp) { in tegra_bpmp_get()
59 bpmp = ERR_PTR(-EPROBE_DEFER); in tegra_bpmp_get()
66 return bpmp; in tegra_bpmp_get()
70 void tegra_bpmp_put(struct tegra_bpmp *bpmp) in tegra_bpmp_put() argument
72 if (bpmp) in tegra_bpmp_put()
[all …]
Dbpmp-tegra186.c82 static int tegra186_bpmp_ring_doorbell(struct tegra_bpmp *bpmp) in tegra186_bpmp_ring_doorbell() argument
84 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ring_doorbell()
98 struct tegra_bpmp *bpmp = data; in tegra186_bpmp_ivc_notify() local
99 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_ivc_notify()
104 tegra186_bpmp_ring_doorbell(bpmp); in tegra186_bpmp_ivc_notify()
108 struct tegra_bpmp *bpmp, in tegra186_bpmp_channel_init() argument
111 struct tegra186_bpmp *priv = bpmp->priv; in tegra186_bpmp_channel_init()
117 channel->ivc = devm_kzalloc(bpmp->dev, sizeof(*channel->ivc), in tegra186_bpmp_channel_init()
136 bpmp); in tegra186_bpmp_channel_init()
138 dev_err(bpmp->dev, "failed to setup IVC for channel %u: %d\n", in tegra186_bpmp_channel_init()
[all …]
Dbpmp-tegra210.c37 static u32 bpmp_channel_status(struct tegra_bpmp *bpmp, unsigned int index) in bpmp_channel_status() argument
39 struct tegra210_bpmp *priv = bpmp->priv; in bpmp_channel_status()
48 return bpmp_channel_status(channel->bpmp, index) == MA_ACKD(index); in tegra210_bpmp_is_response_ready()
55 return bpmp_channel_status(channel->bpmp, index) == SL_SIGL(index); in tegra210_bpmp_is_request_ready()
63 return bpmp_channel_status(channel->bpmp, index) == MA_FREE(index); in tegra210_bpmp_is_request_channel_free()
71 return bpmp_channel_status(channel->bpmp, index) == SL_QUED(index); in tegra210_bpmp_is_response_channel_free()
76 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_request()
85 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_post_response()
94 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_response()
104 struct tegra210_bpmp *priv = channel->bpmp->priv; in tegra210_bpmp_ack_request()
[all …]
Dbpmp-debugfs.c70 static const char *get_filename(struct tegra_bpmp *bpmp, in get_filename() argument
82 root_path = dentry_path(bpmp->debugfs_mirror, root_path_buf, in get_filename()
107 static int mrq_debug_open(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_open() argument
134 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_open()
146 static int mrq_debug_close(struct tegra_bpmp *bpmp, u32 fd) in mrq_debug_close() argument
168 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_close()
177 static int mrq_debug_read(struct tegra_bpmp *bpmp, const char *name, in mrq_debug_read() argument
199 err = mrq_debug_open(bpmp, name, &fd, &len, 0); in mrq_debug_read()
212 err = tegra_bpmp_transfer(bpmp, &msg); in mrq_debug_read()
234 close_err = mrq_debug_close(bpmp, fd); in mrq_debug_read()
[all …]
DMakefile2 tegra-bpmp-y = bpmp.o
3 tegra-bpmp-$(CONFIG_ARCH_TEGRA_210_SOC) += bpmp-tegra210.o
4 tegra-bpmp-$(CONFIG_ARCH_TEGRA_186_SOC) += bpmp-tegra186.o
5 tegra-bpmp-$(CONFIG_ARCH_TEGRA_194_SOC) += bpmp-tegra186.o
6 tegra-bpmp-$(CONFIG_ARCH_TEGRA_234_SOC) += bpmp-tegra186.o
7 tegra-bpmp-$(CONFIG_DEBUG_FS) += bpmp-debugfs.o
8 obj-$(CONFIG_TEGRA_BPMP) += tegra-bpmp.o
Dbpmp-private.h12 int (*init)(struct tegra_bpmp *bpmp);
13 void (*deinit)(struct tegra_bpmp *bpmp);
22 int (*ring_doorbell)(struct tegra_bpmp *bpmp);
23 int (*resume)(struct tegra_bpmp *bpmp);
/drivers/pmdomain/tegra/
Dpowergate-bpmp.c21 struct tegra_bpmp *bpmp; member
31 static int tegra_bpmp_powergate_set_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_set_state() argument
48 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_set_state()
57 static int tegra_bpmp_powergate_get_state(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_state() argument
78 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_state()
87 static int tegra_bpmp_powergate_get_max_id(struct tegra_bpmp *bpmp) in tegra_bpmp_powergate_get_max_id() argument
106 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_max_id()
115 static char *tegra_bpmp_powergate_get_name(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_get_name() argument
136 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_powergate_get_name()
143 static inline bool tegra_bpmp_powergate_is_powered(struct tegra_bpmp *bpmp, in tegra_bpmp_powergate_is_powered() argument
[all …]
DMakefile2 obj-$(CONFIG_SOC_TEGRA_POWERGATE_BPMP) += powergate-bpmp.o
/drivers/clk/tegra/
Dclk-bpmp.c31 struct tegra_bpmp *bpmp; member
59 static int tegra_bpmp_clk_transfer(struct tegra_bpmp *bpmp, in tegra_bpmp_clk_transfer() argument
86 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_clk_transfer()
104 return tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_prepare()
117 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_unprepare()
119 dev_err(clk->bpmp->dev, "failed to disable clock %s: %d\n", in tegra_bpmp_clk_unprepare()
136 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_is_prepared()
160 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_recalc_rate()
190 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_determine_rate()
218 err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); in tegra_bpmp_clk_set_parent()
[all …]
DMakefile31 obj-$(CONFIG_CLK_TEGRA_BPMP) += clk-bpmp.o
/drivers/reset/tegra/
Dreset-bpmp.c20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() local
34 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_reset_common()
67 int tegra_bpmp_init_resets(struct tegra_bpmp *bpmp) in tegra_bpmp_init_resets() argument
69 bpmp->rstc.ops = &tegra_bpmp_reset_ops; in tegra_bpmp_init_resets()
70 bpmp->rstc.owner = THIS_MODULE; in tegra_bpmp_init_resets()
71 bpmp->rstc.of_node = bpmp->dev->of_node; in tegra_bpmp_init_resets()
72 bpmp->rstc.nr_resets = bpmp->soc->num_resets; in tegra_bpmp_init_resets()
74 return devm_reset_controller_register(bpmp->dev, &bpmp->rstc); in tegra_bpmp_init_resets()
DMakefile2 obj-$(CONFIG_RESET_TEGRA_BPMP) += reset-bpmp.o
/drivers/thermal/tegra/
Dtegra-bpmp-thermal.c28 struct tegra_bpmp *bpmp; member
52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in __tegra_bpmp_thermal_get_temp()
91 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in tegra_bpmp_thermal_set_trips()
141 static int tegra_bpmp_thermal_get_num_zones(struct tegra_bpmp *bpmp, in tegra_bpmp_thermal_get_num_zones() argument
159 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_get_num_zones()
170 static int tegra_bpmp_thermal_trips_supported(struct tegra_bpmp *bpmp, bool *supported) in tegra_bpmp_thermal_trips_supported() argument
188 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_bpmp_thermal_trips_supported()
214 struct tegra_bpmp *bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_thermal_probe() local
222 err = tegra_bpmp_thermal_trips_supported(bpmp, &supported); in tegra_bpmp_thermal_probe()
238 tegra->bpmp = bpmp; in tegra_bpmp_thermal_probe()
[all …]
DMakefile3 obj-$(CONFIG_TEGRA_BPMP_THERMAL) += tegra-bpmp-thermal.o
/drivers/memory/tegra/
Dtegra186-emc.c22 struct tegra_bpmp *bpmp; member
172 err = tegra_bpmp_transfer(emc->bpmp, &msg); in tegra186_emc_get_emc_dvfs_latency()
328 emc->bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_emc_probe()
329 if (IS_ERR(emc->bpmp)) in tegra186_emc_probe()
330 return dev_err_probe(&pdev->dev, PTR_ERR(emc->bpmp), "failed to get BPMP\n"); in tegra186_emc_probe()
342 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_EMC_DVFS_LATENCY)) { in tegra186_emc_probe()
349 if (tegra_bpmp_mrq_is_supported(emc->bpmp, MRQ_BWMGR_INT)) { in tegra186_emc_probe()
357 mc->bpmp = emc->bpmp; in tegra186_emc_probe()
369 mc->bpmp = NULL; in tegra186_emc_probe()
377 tegra_bpmp_put(emc->bpmp); in tegra186_emc_probe()
[all …]
Dtegra234.c966 if (!mc->bpmp) { in tegra234_mc_icc_set()
993 ret = tegra_bpmp_transfer(mc->bpmp, &msg); in tegra234_mc_icc_set()
/drivers/cpufreq/
Dtegra186-cpufreq.c130 struct platform_device *pdev, struct tegra_bpmp *bpmp, in init_vhint_table() argument
141 virt = dma_alloc_coherent(bpmp->dev, sizeof(*data), &phys, in init_vhint_table()
157 err = tegra_bpmp_transfer(bpmp, &msg); in init_vhint_table()
213 dma_free_coherent(bpmp->dev, sizeof(*data), virt, phys); in init_vhint_table()
221 struct tegra_bpmp *bpmp; in tegra186_cpufreq_probe() local
232 bpmp = tegra_bpmp_get(&pdev->dev); in tegra186_cpufreq_probe()
233 if (IS_ERR(bpmp)) in tegra186_cpufreq_probe()
234 return PTR_ERR(bpmp); in tegra186_cpufreq_probe()
245 cluster->table = init_vhint_table(pdev, bpmp, cluster, i); in tegra186_cpufreq_probe()
257 tegra_bpmp_put(bpmp); in tegra186_cpufreq_probe()
Dtegra194-cpufreq.c591 tegra_cpufreq_bpmp_read_lut(struct platform_device *pdev, struct tegra_bpmp *bpmp, in tegra_cpufreq_bpmp_read_lut() argument
612 err = tegra_bpmp_transfer(bpmp, &msg); in tegra_cpufreq_bpmp_read_lut()
666 struct tegra_bpmp *bpmp; in tegra194_cpufreq_probe() local
697 bpmp = tegra_bpmp_get(&pdev->dev); in tegra194_cpufreq_probe()
698 if (IS_ERR(bpmp)) in tegra194_cpufreq_probe()
699 return PTR_ERR(bpmp); in tegra194_cpufreq_probe()
709 data->bpmp_luts[i] = tegra_cpufreq_bpmp_read_lut(pdev, bpmp, i); in tegra194_cpufreq_probe()
738 tegra_bpmp_put(bpmp); in tegra194_cpufreq_probe()
/drivers/i2c/busses/
Di2c-tegra-bpmp.c32 struct tegra_bpmp *bpmp; member
193 err = tegra_bpmp_transfer_atomic(i2c->bpmp, &msg); in tegra_bpmp_i2c_msg_xfer()
195 err = tegra_bpmp_transfer(i2c->bpmp, &msg); in tegra_bpmp_i2c_msg_xfer()
295 i2c->bpmp = dev_get_drvdata(pdev->dev.parent); in tegra_bpmp_i2c_probe()
296 if (!i2c->bpmp) in tegra_bpmp_i2c_probe()
DMakefile117 obj-$(CONFIG_I2C_TEGRA_BPMP) += i2c-tegra-bpmp.o
/drivers/pci/controller/dwc/
Dpcie-tegra194.c256 struct tegra_bpmp *bpmp; member
1243 return tegra_bpmp_transfer(pcie->bpmp, &msg); in tegra_pcie_bpmp_set_ctrl_state()
1271 return tegra_bpmp_transfer(pcie->bpmp, &msg); in tegra_pcie_bpmp_set_pll_state()
2229 pcie->bpmp = tegra_bpmp_get(dev); in tegra_pcie_dw_probe()
2230 if (IS_ERR(pcie->bpmp)) in tegra_pcie_dw_probe()
2231 return PTR_ERR(pcie->bpmp); in tegra_pcie_dw_probe()
2238 tegra_bpmp_put(pcie->bpmp); in tegra_pcie_dw_probe()
2286 tegra_bpmp_put(pcie->bpmp); in tegra_pcie_dw_probe()
2307 tegra_bpmp_put(pcie->bpmp); in tegra_pcie_dw_remove()