Skip to content
Snippets Groups Projects
  1. Jun 13, 2024
  2. Jun 12, 2024
    • Dominik Laskowski's avatar
      SF: Isolate modesetting in DisplayModeController · 5c989f5c
      Dominik Laskowski authored
      Move the per-display state machine for modesetting from DisplayDevice to
      DMC. In lieu of mStateLock, protect display lookup from multiple threads
      using a mutex internal to DMC, which fixes the following deadlock:
      
      OneShotTimer::loop
          SF::requestDisplayModes
          mStateLock
      
      SF::commit
          mStateLock
          SF::processDisplayChangesLocked (hotplug or resolution change)
          Scheduler::demotePacesetterDisplay
          OneShotTimer::stop
      
      A notable change is that {initiate,finalize}DisplayModeChange(s) are no
      longer called under mStateLock, thanks to DMC's granular, internal lock.
      finalizeDisplayModeChange still locks mStateLock for resolution changes.
      
      Add an ActiveModeListener to DMC and register a callback in SF to update
      the refresh rate overlay, which still lives in DisplayDevice for now.
      
      Fixes: 329450361
      Bug: 241285876
      Test: DisplayModeControllerTest
      Test: libsurfaceflinger_unittest
      Change-Id: I30ec756f134d2d67a70ac8797008dc792eac035e
      5c989f5c
    • Elliott Hughes's avatar
      libc++fs is part of libc++ now. · 11b53588
      Elliott Hughes authored
      Change-Id: I113a2677857a397cd84d9ba48b030bc455a1d388
      11b53588
  3. Jun 11, 2024
Loading