• O
    staging/mei: MEI link layer · 3ce72726
    Oren Weil 提交于
    Implementation of the communication between host and ME.
    connect/disconnect to/from a client, send MEI message,
    read MEI message, flow control handling.
    
    Each MEI message has mei_msg_hdr followed by a payload.
    Driver is oblivious the payload.
    
    ME Address/ID 	- This is the logical address of the ME
    		feature/client of that message.
    Host Address/ID	- This is the logical address of the Host
    		  client of that message
    Length 		- This is the Length of message payload in bytes
    Reserved 	-  reserved for future use.
    Message Complete - This bit is used to indicative that
    		this is the last message of multi message
    		MEI transfer of a client message that is larger
    		then the MEI circular buffer.
    Payload		- Message payload (data) up to 512bytes
    
    The HW data registers are consist two circular buffers,
    one for data from ME and other data from Host application.
    Each buffer has two pointers, read_ptr (H_CBRP)
    and write_ptr (H_CBWP).
    The buffers size is defined by depth value that exists
    in the status registers (H_CBD and ME_CBD_HRA).
    Every read from ME circular buffer cause read_ptr++
    Every write to the Host  circular buffer write_ptr++
    
    Flow control MEI message that ME and MEI Driver use to notify
    each other that a ME feature/client or Host client buffer is ready
    to receive data.
    Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: NItzhak Tzeel-Krupp <itzhak.tzeel-krupp@intel.com>
    Signed-off-by: NOren Weil <oren.jer.weil@intel.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    3ce72726
interface.h 1.9 KB