On 8/21/24 6:05 PM, Bao D. Nguyen wrote:
If I understand correctly, the link is hibernated because we had a successful ufshcd_uic_hibern8_enter() earlier. Then the ufshcd_uic_pwr_ctrl() is invoked probably from a power mode change command? (a callstack would be helpful in this case).
Hi Bao, ufshcd_uic_hibern8_enter() calls ufshcd_uic_pwr_ctrl() directly. The former function causes the latter to send the UIC_CMD_DME_HIBER_ENTER command. Although UIC_CMD_DME_HIBER_ENTER causes the link to enter the hibernation state, the code in ufshcd_uic_pwr_ctrl() for re-enabling interrupts causes the UFS host controller that I'm testing to exit the hibernation state.
Anyway, accessing the UFSHCI host controller registers space somehow affected the M-PHY link state? If my understanding is correct, it seems like a hardware issue that we are trying to work around?
Yes, this is a workaround particular behavior of a particular UFS controller. Thanks, Bart.