http://bugzilla.kernel.org/show_bug.cgi?id=14733


Zhang Rui <rui.zh...@intel.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rui.zh...@intel.com




--- Comment #45 from Zhang Rui <rui.zh...@intel.com>  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&#174; 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
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to