Patent ID: 7769923
Filing Date: 2010-08-03
Classification: G06F

Abstract:
1. A method of managing interaction between a host subsystem and a peripheral device in communication with the host subsystem via a peripheral bus, comprising the steps of: the peripheral device writing a first wakeup event into an intermediary event queue, the intermediary event queue being accessible to the host subsystem and having associated therewith a read pointer and a write pointer, and in conjunction therewith writing a first event of a first type into a first event queue accessible to the host subsystem, the first wakeup event identifying the first event queue; the peripheral device, in conjunction with its writing of the first event into the first event queue, entering a wakeup assertions disabled state in which the peripheral device does not write any wakeup events into the intermediary queue in conjunction with its writing of further events into the first event queue; the peripheral device writing a second event into the first event queue while the peripheral device is in the wakeup assertions disabled state; the host subsystem, in response to retrieval of the first wakeup event from the intermediary event queue, activating a first event handler; the host subsystem consuming events from the first event queue until the host subsystem determines that the first event queue is empty; the host subsystem, in response to its determination that the first event queue is empty, identifying to the peripheral device an updated host centric first event queue read pointer; and the peripheral device, in response to receipt of the updated host centric first event queue read pointer, and further in response to a determination by the peripheral device that the updated host centric first event queue read pointer differs from a device centric first event queue write pointer, writing into the intermediary event queue a second wakeup event identifying the first event queue.