Yes, I’ve seen the same problem.
The main issue is that the A311D firmware or TF-A messes with an unknown number of clocks and sets them to a too low frequency, and Linux doesn’t know about this. Neil Armstrong from Baylibre told me that we could make progress here if we found a way to dump all the clocks before and after resume and then grab them off the device (over serial) and diff them. This would involve:
- Finding a good spot in the kernel for this
- Checking if there is already a clock tree dumping function (i.e. there is something in the kernel that generates the content of
/sys/kernel/debug/clk/clk_summary
which is what we want - Trigger this function directly before and after the suspend (actually directly after would be enough, because you can just grab the before-state from userspace at any time)