Embedded Controller MMIO I/O Without SMI Timing Disruptions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication methods between an embedded controller (EC) and the operating system of an information handling system, such as via system management interrupts (SMIs), cause disruptions in timing-sensitive tasks due to their aggressive nature, leading to issues like glitches in video or audio playback.
Innovation Solution
Implementing non-blocking input/output (I/O) operations between the host OS and the EC using memory-mapped I/O (MMIO) without the need for system management interrupts (SMIs), allowing the EC to be presented as a Plug and Play (PnP) device, enabling communication through a dedicated driver and ensuring efficient access without elevated privileges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If system management interrupt (SMI) is used for EC I/O communication, then the EC can be accessed from the host OS, but timing-sensitive tasks experience disruptions and glitches occur in video or audio playback
Solution Approach 1:
The patent introduces a dedicated EC driver as an intermediary layer between the host OS and the embedded controller. This driver handles all EC communication requests, preventing direct SMI usage while maintaining EC accessibility. The intermediary absorbs the interrupt handling burden, allowing timing-sensitive tasks to proceed without disruption while still enabling EC I/O operations through structured driver-mediated access.
2Productivity
If SMI is used for EC communication, then EC I/O operations can be performed, but the aggressive interrupt causes delays and system performance degradation
Solution Approach 1:
The patent implements dynamic interrupt handling by allowing the EC driver to selectively use SMI only when absolutely necessary, while preferring other communication methods for routine EC I/O operations. This dynamic approach adapts the communication strategy based on task urgency and type, minimizing SMI usage to reduce system-wide interrupt delays while maintaining EC operation capability when needed.
Data Source
AI summary
An information handling system may include at least one central processing unit (CPU); a Basic Input/Output System (BIOS); and an embedded controller (EC). The information handling system may be configured to: execute an operating system (OS) via the at least one CPU; execute an OS device driver for the EC, wherein the OS device driver is configured to provide non-blocking input/output (I/O) operations on the EC without the execution of a system management interrupt (SMI); and allow access to the EC from an application program via the device driver.


