msm: kgsl: Don't process events if the timestamp hasn't changed
Keep track of the global timestamp every time the event code runs.
If the timestamp hasn't changed then we are caught up and we can
politely bow out. This avoids the situation where multiple
interrupts queue the work queue multiple times:
IRQ
-> process events
IRQ
IRQ
-> process events
The actual retired timestamp in the first work item might be well
ahead of the delivered interrupts. The event loop will end up
processing every event that has been retired by the hardware
at that point. If the work item gets re-queued by a subesquent
interrupt then we might have already addressed all the pending
timestamps.
Change-Id: Ic0dedbad79722654cb17e82b7149e93d3c3f86a0
Signed-off-by:
Jordan Crouse <jcrouse@codeaurora.org>
Loading
Please register or sign in to comment