Skip to content
Snippets Groups Projects
Commit b26523c8 authored by Stephen Rothwell's avatar Stephen Rothwell
Browse files
parents 90a8d127 0d6c9180
No related branches found
No related tags found
No related merge requests found
...@@ -75,6 +75,9 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc, ...@@ -75,6 +75,9 @@ static void tegra186_mc_client_sid_override(struct tegra_mc *mc,
{ {
u32 value, old; u32 value, old;
if (client->regs.sid.security == 0 && client->regs.sid.override == 0)
return;
value = readl(mc->regs + client->regs.sid.security); value = readl(mc->regs + client->regs.sid.security);
if ((value & MC_SID_STREAMID_SECURITY_OVERRIDE) == 0) { if ((value & MC_SID_STREAMID_SECURITY_OVERRIDE) == 0) {
/* /*
...@@ -136,9 +139,23 @@ static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev) ...@@ -136,9 +139,23 @@ static int tegra186_mc_probe_device(struct tegra_mc *mc, struct device *dev)
return 0; return 0;
} }
static int tegra186_mc_resume(struct tegra_mc *mc)
{
unsigned int i;
for (i = 0; i < mc->soc->num_clients; i++) {
const struct tegra_mc_client *client = &mc->soc->clients[i];
tegra186_mc_client_sid_override(mc, client, client->sid);
}
return 0;
}
const struct tegra_mc_ops tegra186_mc_ops = { const struct tegra_mc_ops tegra186_mc_ops = {
.probe = tegra186_mc_probe, .probe = tegra186_mc_probe,
.remove = tegra186_mc_remove, .remove = tegra186_mc_remove,
.resume = tegra186_mc_resume,
.probe_device = tegra186_mc_probe_device, .probe_device = tegra186_mc_probe_device,
.handle_irq = tegra30_mc_handle_irq, .handle_irq = tegra30_mc_handle_irq,
}; };
......
...@@ -162,6 +162,7 @@ struct tegra_mc_ops { ...@@ -162,6 +162,7 @@ struct tegra_mc_ops {
*/ */
int (*probe)(struct tegra_mc *mc); int (*probe)(struct tegra_mc *mc);
void (*remove)(struct tegra_mc *mc); void (*remove)(struct tegra_mc *mc);
int (*resume)(struct tegra_mc *mc);
irqreturn_t (*handle_irq)(int irq, void *data); irqreturn_t (*handle_irq)(int irq, void *data);
int (*probe_device)(struct tegra_mc *mc, struct device *dev); int (*probe_device)(struct tegra_mc *mc, struct device *dev);
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment