Re: [PATCH 2/2] mmc: renesas_sdhi: keep SCC clock active when tuning

Wolfram Sang
2020-08-14T07:15:18Z

[-- Attachment #1: Type: text/plain, Size: 1658 bytes --]

Hi Shimoda-san,tftp 0x58000000 r8a77965-salvator-xs.dtb; tftp 0x50000000 Image-m3n-wsa; booti 0x50000000 - 0x58000000

> > > > + /* Tuning done, no special handling for SCC clock needed anymore */
> > > > + priv->keep_scc_freq = false;
> > > > +
> > >
> > > Setting keep_scc_freq to false is only here. But, I'm thinking
> > > we should set it in some error paths like below somehow too:
> > > - error paths before hs400_complete() in mmc_select_hs400().
> > > - error path of mmc_execute_tuning() in mmc_retune().
> >
> > Hmm, I guess you are right. That would kind of spoil my approach taken
> > here. Maybe we need another flag in the core like 'doing_tune' to
> > supplement 'doing_retune', so or driver knows when any kind of tuning is
> > going on?
>
> Adding such a new flag is better, I think.

So, I added a flag to the MMC core and I think it should work. However,
I can't test it currently because, sadly, the issue disappeared again :(

I even can't reproduce the issue with the same codebase and config which
I used when I was working last time on it. And back then, the issue was
happening. I am at a loss currently what really triggers this hang.

I added some code to enforce reading something from the SCC with the
hclk disabled. However, that reading works fine today here, no hang.

So, it seems that keeping hclk enabled will fix the hang. However, it
doesn't look like it will hang just when we allow to disable it. Seems
something else is part of the equation, too...

I kept trying to figure this out for the last two days, but no success
so far. Will keep you updated.

Thanks,

Wolfram

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]