On 25/01/18 12:26, Peter De Schrijver wrote: > On Thu, Jan 25, 2018 at 10:57:36AM +0000, Jon Hunter wrote: >> >> On 25/01/18 10:06, Peter De Schrijver wrote: >>> On Wed, Jan 24, 2018 at 10:43:45PM +0000, Jon Hunter wrote: >>>> >>>> On 23/01/18 09:22, Peter De Schrijver wrote: >>>>> Apply the memory built-in self test work around when ungating certain >>>>> Tegra210 power domains. >>>> >>>> Nit-pick .. typo in $subject. >>>> >>>>> Signed-off-by: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> >>>>> --- >>>>> drivers/soc/tegra/pmc.c | 5 +++++ >>>>> 1 file changed, 5 insertions(+) >>>>> >>>>> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c >>>>> index ce62a47..c4eff4b 100644 >>>>> --- a/drivers/soc/tegra/pmc.c >>>>> +++ b/drivers/soc/tegra/pmc.c >>>>> @@ -153,6 +153,7 @@ struct tegra_pmc_soc { >>>>> >>>>> bool has_tsense_reset; >>>>> bool has_gpu_clamps; >>>>> + bool needs_mbist_war; >>>>> >>>>> const struct tegra_io_pad_soc *io_pads; >>>>> unsigned int num_io_pads; >>>>> @@ -431,6 +432,9 @@ static int tegra_powergate_power_up(struct tegra_powergate *pg, >>>>> >>>>> usleep_range(10, 20); >>>>> >>>>> + if (pg->pmc->soc->needs_mbist_war) >>>>> + tegra210_clk_handle_mbist_war(pg->id); >>>>> + >>>> >>>> Be good if we could return an error from the above function. >>>> >>> >>> We need to also undo whatever we did before then. >> >> I think it is fine if on error you 'goto disable_clks'. > > Shouldn't we do this for tegra_powergate_reset_deassert() failure as well then? > Also in case of tegra_powergate_enable_clocks() failure we should probably jump > to powergate_off because tegra_powergate_enable_clocks() will disable the > already enabled clocks on failure. Yes that looks like a bug in the existing code and we should fix that. Good catch. Jon -- nvpublic -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html