Suspend/resume on A311D

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)
3 Likes