mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-07 16:11:43 +00:00
765386a6238e1ceab3aaf9f5b07a4a563b698454
When we are in interrupt context and doing a task_set_event, if we are interrupted by a timer interrupt firing, we might end resetting the runnable bit added by the expiration of a timer (when finishing the interrupted read-modify-write to tasks_ready). So we need to have an atomic access there. We don't need to atomic primitives (and the associated overhead) on other tasks_ready accesses because there are always done at the highest priority. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=chrome-os-partner:8721 TEST=from Linux, run "ectool lightbar test" several times and see that the keyboard task no longer ends up stuck with a timer event set and no runnable bit. Change-Id: Ied45ee33cb6aba4549626d35d694f1c259f2400c
- EC Lib
This wraps Blizzard driverlib and implements the EC chip interface defined
by Google. See below diagram for architecture.
+--------------------+
| Host BIOS/OS |
+--------------------+
---- host interface ----
+--------------------+
| Google EC features |
+--------------------+
---- chip interface ---- The interface is defined in
src/platform/ec/chip_interface/*.
+--------------------+ But the real implementation is in EC Lib.
| EC Lib |
+--------------------+
| Blizzard low level |
| driver, the |
| driverlib. |
+--------------------+
Description
Languages
C
64.7%
Lasso
20.7%
ASL
3.6%
JavaScript
3.2%
C#
2.9%
Other
4.6%