Host interface crossbar for sensor hub
First Claim
Patent Images
1. A computer system, comprising:
- a plurality of hosts including a first host comprising a processor and a first bus interface to a first transport bus;
a first peripheral device;
a hub microcontroller, comprising;
a first host bus interface microdriver associated with the first transport bus;
a plurality of manager clients including a first manager client associated with the first peripheral device;
a host manager module to;
detect a communication between the first host and the first peripheral device;
determine a recipient of the communication;
access registration information to identify a first callback handler associated with the recipient, the registration information stored in a first storage and a second storage of the hub microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of the host manager module and one or more fourth callback handlers each for a report request specified by a tuple; and
associate the communication with the first callback handler; and
initiate the first callback handler to forward the communication to the recipient, wherein the firmware is to coalesce a plurality of reports from a plurality of peripheral devices into a single instance report for each of the plurality of peripheral devices for communication to the first host.
1 Assignment
0 Petitions
Accused Products
Abstract
A microcontroller for a peripheral hub includes a plurality of host bus interface microdrivers and a corresponding plurality of host transports. A first manager client, associated with a supported peripheral device, processes messages from a first host. A host manager module routes asynchronous communications, including but not limited to HID input reports, from a client to a host via one of a plurality of supported transports via a targeted transport indicated in the communication. The host manager modules routes synchronous communications from a host to a client via a targeted transport selected from a plurality of transports.
61 Citations
19 Claims
-
1. A computer system, comprising:
-
a plurality of hosts including a first host comprising a processor and a first bus interface to a first transport bus; a first peripheral device; a hub microcontroller, comprising; a first host bus interface microdriver associated with the first transport bus; a plurality of manager clients including a first manager client associated with the first peripheral device; a host manager module to; detect a communication between the first host and the first peripheral device; determine a recipient of the communication; access registration information to identify a first callback handler associated with the recipient, the registration information stored in a first storage and a second storage of the hub microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of the host manager module and one or more fourth callback handlers each for a report request specified by a tuple; and associate the communication with the first callback handler; and initiate the first callback handler to forward the communication to the recipient, wherein the firmware is to coalesce a plurality of reports from a plurality of peripheral devices into a single instance report for each of the plurality of peripheral devices for communication to the first host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A microcontroller for a peripheral hub, the microcontroller comprising:
-
a plurality of host bus interface microdrivers, including a first host bus interface microdriver, associated with a corresponding plurality of host transports; a first manager client, associated with a supported peripheral device, to process messages from a first host; and a host manager module to; access registration information to identify a first callback handler associated with a recipient of a communication, the registration information stored in a first storage and a second storage of the microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of the host manager module and one or more fourth callback handlers each for a report request specified by a tuple; and associate the communication with the first callback handler; and initiate the first callback handler to forward the communication to the recipient; route an asynchronous communication from a client to a host via one of a plurality of supported transports via a targeted transport indicated in the communication; and route a synchronous communication from the host to the client via a targeted transport selected from a plurality of transports, wherein the firmware is to coalesce a plurality of reports from a plurality of peripheral devices into a single instance report for each of the plurality of peripheral devices for communication to an operating system. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A control method, comprising:
-
detecting a communication between a first host and a first peripheral device; determining, in a hub microcontroller coupled between a plurality of hosts and a plurality of peripheral devices, a recipient of the communication; accessing registration information to identify a first callback handler associated with the recipient, the registration information stored in a first storage and a second storage of the hub microcontroller, the first storage to store a plurality of entries each for a host and to store the first callback handler, a second callback handler to determine host power state and a third callback handler to wake the host, wherein the first callback handler is to forward an asynchronous report, the second storage to store a plurality of entries each for a manager client and to store a first called back handler to forward device state power requests to a firmware of a host manager module of the hub microcontroller and one or more fourth callback handlers each for a report request specified by a tuple; and associating the communication with the first callback handler; and initiating the first callback handler to forward the communication to the recipient; and coalescing a plurality of reports from the plurality of peripheral devices into a single instance report for the plurality of peripheral devices for communication to the first host, via the firmware. - View Dependent Claims (17, 18, 19)
-
Specification