Lines Matching full:bpmp
13 #include <soc/tegra/bpmp.h>
22 struct tegra_bpmp *bpmp; member
172 err = tegra_bpmp_transfer(emc->bpmp, &msg); in tegra186_emc_get_emc_dvfs_latency()
178 dev_err(emc->dev, "EMC DVFS MRQ failed: %d (BPMP error code)\n", msg.rx.ret); in tegra186_emc_get_emc_dvfs_latency()
230 * Do nothing here as info to BPMP-FW is now passed in the BW set function
231 * of the MC driver. BPMP-FW sets the final Freq based on the passed values.
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()
353 * MC driver probe can't get BPMP reference as it gets probed in tegra186_emc_probe()
354 * earlier than BPMP. So, save the BPMP ref got from the EMC in tegra186_emc_probe()
355 * DT node in the mc->bpmp and use it in MC's icc_set hook. in tegra186_emc_probe()
357 mc->bpmp = emc->bpmp; in tegra186_emc_probe()
362 * Initialize the ICC even if BPMP-FW doesn't support 'MRQ_BWMGR_INT'. in tegra186_emc_probe()
364 * EINVAL instead of passing the request to BPMP-FW later when the BW in tegra186_emc_probe()
369 mc->bpmp = NULL; in tegra186_emc_probe()
377 tegra_bpmp_put(emc->bpmp); in tegra186_emc_probe()
388 mc->bpmp = NULL; in tegra186_emc_remove()
389 tegra_bpmp_put(emc->bpmp); in tegra186_emc_remove()