http://bugzilla.kernel.org/show_bug.cgi?id=14733
Zhang Rui <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #45 from Zhang Rui <[email protected]> 2010-03-12 02:03:08 --- Hi, alexey, I got the similar problem and the patch in comment #41 fixes the bug for me. And here are some feedbacks from the EC engineer, which I hope is useful for you. > >> After our analysis of this issue, we found there the communication > >> between Moblin OS (host) and EC might have some problems. > >> > >> Currently, Moblin OS will send Read/Write ECRAM command to EC via > >> 62h/66h I/O port, but it seems will not check IBF/OBF flag during the > >> access. > >> > >> That will cause OS sometimes will get the wrong data from EC or set > >> the wrong data to EC. > >> > >> You should follow the standard process as below: > >> > >> Read/Write ECRAM by using 62h/66h I/O port: > >> 66h (command/status port) > >> Input (byte): Get EC status. > >> Bit0: OBF (Output Buffer Full flag of EC) > >> Bit1: IBF (Input Buffer Full flag of EC) > >> Bit3: Command/Data Flag (0: Previous access port is data port/ 1: > >> Previous access port is command port) > >> Bit4: Burst enable flag > >> Output (byte): command from host to EC > >> 62h (data port) > >> Input (byte): data from EC to host > >> Output (byte): data from host to EC > >> > >> Read ECRAM > >> > >> 1. wait both IBF & OBF = 0 > >> 2. host write command 80h (EC_Read) to port 66h > >> 3. wait until IBF = 0 (wait EC firmware get the command) > >> 4. host write ECRAM index to port 62h > >> 5. wait until IBF = 0 and OBF = 1 (wait EC firmware get the index > >> and prepare the result data to output buffer) > >> 6. host read data via port 62h > >> > >> Write ECRAM > >> > >> 1. wait both IBF & OBF = 0 > >> 2. host write command 81h (EC_Write) to port 66h > >> 3. wait until IBF = 0 (wait EC firmware get the command) > >> 4. host write ECRAM index to port 62h > >> 5. wait until IBF = 0 (wait EC firmware get the index) > >> 6. host write data via port 62h > >> 7. wait until IBF = 0 (wait EC firmware get the data) > >> > >> Note: The process of Read/Write ECRAM should NOT be interrupted. > >> (Should treat as a critical section) > >> > >> Please check your S/W code and modify it to meet the standard EC > >> access process. -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ acpi-bugzilla mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla
