Lines Matching refs:mc
6 #include <dt-bindings/memory/tegra20-mc.h>
8 #include "mc.h"
198 static int tegra20_mc_hotreset_assert(struct tegra_mc *mc,
204 spin_lock_irqsave(&mc->lock, flags);
206 value = mc_readl(mc, rst->reset);
207 mc_writel(mc, value & ~BIT(rst->bit), rst->reset);
209 spin_unlock_irqrestore(&mc->lock, flags);
214 static int tegra20_mc_hotreset_deassert(struct tegra_mc *mc,
220 spin_lock_irqsave(&mc->lock, flags);
222 value = mc_readl(mc, rst->reset);
223 mc_writel(mc, value | BIT(rst->bit), rst->reset);
225 spin_unlock_irqrestore(&mc->lock, flags);
230 static int tegra20_mc_block_dma(struct tegra_mc *mc,
236 spin_lock_irqsave(&mc->lock, flags);
238 value = mc_readl(mc, rst->control) & ~BIT(rst->bit);
239 mc_writel(mc, value, rst->control);
241 spin_unlock_irqrestore(&mc->lock, flags);
246 static bool tegra20_mc_dma_idling(struct tegra_mc *mc,
249 return mc_readl(mc, rst->status) == 0;
252 static int tegra20_mc_reset_status(struct tegra_mc *mc,
255 return (mc_readl(mc, rst->reset) & BIT(rst->bit)) == 0;
258 static int tegra20_mc_unblock_dma(struct tegra_mc *mc,
264 spin_lock_irqsave(&mc->lock, flags);
266 value = mc_readl(mc, rst->control) | BIT(rst->bit);
267 mc_writel(mc, value, rst->control);
269 spin_unlock_irqrestore(&mc->lock, flags);