Age | Commit message (Collapse) | Author |
|
I2C process queue is protected by a spinlock
that is released right before the transactions are
processed and then re-acquired again upon processing
completion.
Original idea was to not block the connect/disconnect
for one device on the bus even if other devices are
processing.
Issue with this approach is that the tmp node
of list_for_each_safe saves the stale pointer
and causes use-after free issues.
Executing the worker with the process queue
protected by mutex will guard against deletion
of the process request node in another thread.
Test: CTS, GCA Smoke Test
Bug: 288941705
Change-Id: Ic41f9f799a139ffa3347eb0c714a8193769de19b
Signed-off-by: Meghana Barkalle <mbarkalle@google.com>
|
|
Bug: 286438999
Test: Build
Change-Id: I02f0b13dd9f3b934eec345d98c61ef6e0e65fe5f
Signed-off-by: Edmond Chung <edmondchung@google.com>
|
|
7d2d4f7ad26c4ceab65c8e0165bf662aaf179683
Change-Id: I2849255df7afe4b64448d01ffc878dbb7b71518b
|
|
5c4f7604ed8e6ae71de1c3adc1cacd25b6c0b2db
Change-Id: I6b051888281116938e21f00e85d04c15cf7bfd9a
|
|
7b82845ccb5624d1aae50b76f03dcc7c24a5327c
Change-Id: I998a460080b729909f3db63a2762c0be42b58984
|
|
Revert submission 2462937-I2CBusManager-OptimizedScheduling
Reason for revert: Change causes memory leak b/279860649
Reverted changes: /q/submissionid:2462937-I2CBusManager-OptimizedScheduling
Change-Id: I8ab99b1b8221f1cade6fd485ca9ce5b3bcc2eeee
|
|
1. Add I2C device priority to dts device node
to facilitate better scheduling.
Default I2C priority is set to HIGH for all
device.
The levels that can be specified are:
HIGH = 0
MEDIUM = 1
LOW = 2
2. Update the I2C bus manager process queue to
handle requests from clients in the device
priority order.
3. Remove enquiing individual requests from
I2C devices on the bus manager process queue
directly.
This optimization would result in locking the
Bus Manager process queue spinlock less times
and thereby reduce the thread waittime as well.
Test: GCA Smoke Test
Bug: 275629946
Change-Id: I74e5fa9e11b80636d9afa23a81f9ed33cb3b1fdf
|
|
This reverts commit fddce530c829fc0ede509ad226c34080e904eed9.
Reason for revert: Fixing the cts test cases that were failing with the original commit
Change-Id: I3e744655f97ddd8f6a8e9dfe742b7b45f697a885
|
|
This reverts commit ad6945dd2b326f1c9e8e5bb0b7a47b3fa9cd19cc.
Reason for revert: CTS regression
Bug: 275629946
Test: Revert locally.
Change-Id: I7e32d8ccd8ad2bc2692b2e742f26b1289ec56af7
|
|
Implementation of I2C Bus Manager.
This will provide a means to coordinate I2C
transfers on a given bus connected to multiple
camera I2C peripherals.
Test: Basic camera switch, preview, video, liveshot and snapshot
Bug: 254536114
Change-Id: Ic1a85a3f1ad913135ac7e01704e1b7831355adde
Signed-off-by: Meghana Barkalle <mbarkalle@google.com>
|