mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
Merge tag 'memory-controller-drv-7.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers
Memory controller drivers for v7.2, part two A few improvements for Tegra Memory Controller drivers, including one fix for UBSAN report for an older commit. * tag 'memory-controller-drv-7.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: memory: tegra234: drop dead NULL check in tegra234_mc_icc_aggregate() memory: tegra264: drop redundant tegra264_mc_icc_aggregate() memory: tegra186-emc: stop borrowing MC aggregate hook for EMC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -258,15 +258,13 @@ static int tegra186_emc_icc_get_init_bw(struct icc_node *node, u32 *avg, u32 *pe
|
||||
|
||||
static int tegra186_emc_interconnect_init(struct tegra186_emc *emc)
|
||||
{
|
||||
struct tegra_mc *mc = dev_get_drvdata(emc->dev->parent);
|
||||
const struct tegra_mc_soc *soc = mc->soc;
|
||||
struct icc_node *node;
|
||||
int err;
|
||||
|
||||
emc->provider.dev = emc->dev;
|
||||
emc->provider.set = tegra186_emc_icc_set_bw;
|
||||
emc->provider.data = &emc->provider;
|
||||
emc->provider.aggregate = soc->icc_ops->aggregate;
|
||||
emc->provider.aggregate = icc_std_aggregate;
|
||||
emc->provider.xlate = tegra186_emc_of_icc_xlate;
|
||||
emc->provider.get_bw = tegra186_emc_icc_get_init_bw;
|
||||
|
||||
|
||||
@@ -1106,10 +1106,8 @@ static int tegra234_mc_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw,
|
||||
|
||||
if (node->id == TEGRA_ICC_MC_CPU_CLUSTER0 ||
|
||||
node->id == TEGRA_ICC_MC_CPU_CLUSTER1 ||
|
||||
node->id == TEGRA_ICC_MC_CPU_CLUSTER2) {
|
||||
if (mc)
|
||||
peak_bw = peak_bw * mc->num_channels;
|
||||
}
|
||||
node->id == TEGRA_ICC_MC_CPU_CLUSTER2)
|
||||
peak_bw = peak_bw * mc->num_channels;
|
||||
|
||||
*agg_avg += avg_bw;
|
||||
*agg_peak = max(*agg_peak, peak_bw);
|
||||
|
||||
@@ -799,21 +799,6 @@ static int tegra264_mc_icc_set(struct icc_node *src, struct icc_node *dst)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int tegra264_mc_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw,
|
||||
u32 peak_bw, u32 *agg_avg, u32 *agg_peak)
|
||||
{
|
||||
struct icc_provider *p = node->provider;
|
||||
struct tegra_mc *mc = icc_provider_to_tegra_mc(p);
|
||||
|
||||
if (!mc->bwmgr_mrq_supported)
|
||||
return 0;
|
||||
|
||||
*agg_avg += avg_bw;
|
||||
*agg_peak = max(*agg_peak, peak_bw);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tegra264_mc_icc_get_init_bw(struct icc_node *node, u32 *avg, u32 *peak)
|
||||
{
|
||||
*avg = 0;
|
||||
@@ -1130,7 +1115,7 @@ static const irq_handler_t tegra264_mc_irq_handlers[8] = {
|
||||
|
||||
static const struct tegra_mc_icc_ops tegra264_mc_icc_ops = {
|
||||
.xlate = tegra_mc_icc_xlate,
|
||||
.aggregate = tegra264_mc_icc_aggregate,
|
||||
.aggregate = icc_std_aggregate,
|
||||
.get_bw = tegra264_mc_icc_get_init_bw,
|
||||
.set = tegra264_mc_icc_set,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user