On Fri, 3 Feb 2012 13:42:13 +0200 Grazvydas Ignotas <notasas@xxxxxxxxx> wrote: > On Fri, Feb 3, 2012 at 11:54 AM, NeilBrown <neilb@xxxxxxx> wrote: > > On Thu, 2 Feb 2012 22:45:53 -0700 (MST) Paul Walmsley <paul@xxxxxxxxx> wrote: > >> On Fri, 3 Feb 2012, NeilBrown wrote: > >> > >> > then CPUIDLE enters lower states and I think it uses less power but I > >> > sometimes lose the first char I type (that is known) but also I sometimes get > >> > corruption on output. > >> > >> I don't see any output corruption on 35xx BeagleBoard, either with or > >> without these patches. So this is presumably a 37xx-centric problem, and > >> unrelated to these patches, I would guess. > > > > Maybe it is 37xx specific. I think this is a DM3730. > > Not sure if it's the same problem but with 3530 on 3.2 with > sleep_timeout set, I usually get first char dropped (as expected) but > sometimes I get corrupted char instead too. Corrupt char seems to > almost always happen if I set cpufreq to powersave, on performace it's > almost always ok, so maybe it's some timing problem, I see that too - I'm glad someone else does :-) If I look at the corruption as compared to the expected character, it is always the case some it has been shifted down a few bits, with '1's shifted in the top. As bytes are sent lsb first followed by stop bits which are '1', this is completely consistent with clocking the bits in a little bit late. I see this with baud rates of 115200 and higher, but never with lower. My theory is that there is a delay between the falling RX line waking the system up, and the CPU enabling the UART - whether enabling the clocks or doing a full config, I am not sure - though I think the former. Maybe if we could enable the UART clocks immediately after returning from the WFI instruction we could avoid the corruption.... NeilBrown
Attachment:
signature.asc
Description: PGP signature