mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
staging/mei: Interrupt handling.
ISR and interrupt thread for handling incoming data. e.g. read bus message, read client message, handle reset requests. quick handler: As MEI may share interrupt with GFX and/or USB the HW register need to be checked and acknowledged. thread handler: Check if HW has data for read. Write data to HW if possible. May init reset flow on error there can be two types of messages: 1) bus messages: Management messages between MEI Driver and ME e.g. Connect request/response, Disconnect request/response Enum clients request/response Flow control request/response those message are indicated by ME Address/ID == 0 && Host Address/ID == 0 2) feature/client messages: message that are sends between ME Feature/Client and an application, the struct of the message is defined by the ME Feature Protocol (e.g. APF Protocol, AMTHI Protocol) those message are indicated by ME Address/ID != 0 && Host Address/ID != 0 MEI Initialization state machine is also managed by this patch. After MEI Reset is preform: Send Start request wait for answer Send Enumerate Clients request wait for answer Send Get Client property for each client request wait for answers Init Done. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Itzhak Tzeel-Krupp <itzhak.tzeel-krupp@intel.com> Signed-off-by: Oren Weil <oren.jer.weil@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ab841160d9
commit
fb7d879f3b
1 changed files with 1624 additions and 0 deletions
1624
drivers/staging/mei/interrupt.c
Normal file
1624
drivers/staging/mei/interrupt.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue