On Mo, 2018-10-15 at 00:15 +0300, Grazvydas Ignotas wrote:
Hi,
How are you disabling self-refresh? Note that my patches aren't disabling it yet, I just asked if we should do it.
Ah, okay! I thought that was in aTc's latest U-Boot. So it's only DLL disabled then, okay!
No, there is no workaround there, it should still hang. The patches fix other mistakes, but not the actual issue.
Ah, okay, that's probably the latest then which he sent. I haven't run that for longer than 10 minutes. I thought the new one had the self-refresh off included already.
He created another MLO / U-Boot a couple of days before which had the DLL disabled and the Row-Size patch included.
That one runs stable, but I haven't done any power consumption tests with that one and I don't think he even posted this at the mailing list here :)
So you want a workaround patch there? Should we disable self-refresh or DLL then?
Well, question is: What's better?
According to JEDEC: "During normal operation (DLL on), MR1 (A0 = 0), the DLL is automatically disabled upon entering Self-Refresh and is automatically enabled (including a DLL-Reset) upon exiting Self-Refresh."
So does that mean that self-refresh still works if we disable DLL? I still wonder what disabling DLL actually does? It seems to be only used in "normal operation".
You also have to blank the screen, otherwise DSS is constantly reading the framebuffer (which sits in RAM) to display it.
Hm, there's one thing I understand then: If our issue is self-refresh and that will only happen if nothing is on the screen, why does the unit freeze in our tests? Because I always have something showing on the screen, I never blank it.
I never said it only happens with blanking screen. What I meant to say is that measuring power consumption with screen on probably makes little sense because of DSS reading RAM. Only during vsync/vblank (and maybe hblank too) it will be entering self- refresh, instead of anytime with the screen off, so you'd see little power usage difference. And because you work with video a lot, I wrongly (?) assumed you'd have vsync in mind while reading this.
Wow, it enters self-refresh within that short time frame? :O I didn't expect that, as (according to what details I found), self- refresh only really saves power if it's active for longer periods of time.
Okay, what I would like to try is: Compare the power consumption of:
1. Normal operation mode (DLL on, Self-Refresh on). I know it crashes after a few minutes, but I should be able to test the power consumption.
2. DLL disabled
3. Self-Refresh disabled, DLL enabled
I already have U-Boots for 1 and 2, only 3 is missing.
Can I blank the screen from the serial console? Whast would be the command for that?
Thanks :)