On 27 February 2018 at 10:07, Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote: > >> Is this ready to be queued up for next? It looks good to me. > > Ulf, out of your head, do you have an idea why preparing HS400 during > set_ios works but populating host->ops->prepare_hs400_tuning() does not > (according to Simon's tests)? Oh, that sounds weird. Obviously I didn't read the code carefully enough. Preparing tuning (if needed, as this is optional) needs to be done prior mmc->ios.timing is set to MMC_TIMING_MMC_HS400, because the tuning has already been done when we reach that point. There seems to be something fishy going on here, as there seemed to be some kind of reset sequence being added and executed as well. Perhaps someone need to explain in more detail what the HW controller needs to manage tuning for HS400? I don't like that we may end up getting it magically to work, then it's we better understand the details and if the current sequence provided by the mmc core can't fulfill the need for this case, we may instead consider adding an additional pre/post host ops. Hope this helps! Kind regards Uffe