1. 18 Mar, 2023 1 commit
    • Ville Syrjälä's avatar
      drm/i915: Update vblank timestamping stuff on seamless M/N change · 8cb1f95c
      Ville Syrjälä authored
      When we change the M/N values seamlessly during a fastset we should
      also update the vblank timestamping stuff to make sure the vblank
      timestamp corrections/guesstimations come out exact.
      
      Note that only crtc_clock and framedur_ns can actually end up
      changing here during fastsets. Everything else we touch can
      only change during full modesets.
      
      Technically we should try to do this exactly at the start of
      vblank, but that would require some kind of double buffering
      scheme. Let's skip that for now and just update things right
      after the commit has been submitted to the hardware. This
      means the information will be properly up to date when the
      vblank irq handler goes to work. Only if someone ends up
      querying some vblanky stuff in between the commit and start
      of vblank may we see a slight discrepancy.
      
      Also this same problem really exists for the DRRS downclocking
      stuff. But as that is supposed to be more or less transparent
      to the user, and it only drops to low gear after a long delay
      (1 sec currently) we probably don't have to worry about it.
      Any time something is actively submitting updates DRRS will
      remain in high gear and so the timestamping constants will
      match the hardware state.
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarMitul Golani <mitulkumar.ajitkumar.golani@intel.com>
      Fixes: e6f29923 ("drm/i915: Allow M/N change during fastset on bdw+")
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230310235828.17439-1-ville.syrjala@linux.intel.com
      8cb1f95c
  2. 17 Mar, 2023 9 commits
  3. 16 Mar, 2023 3 commits
  4. 15 Mar, 2023 2 commits
  5. 14 Mar, 2023 2 commits
  6. 10 Mar, 2023 7 commits
  7. 09 Mar, 2023 4 commits
  8. 07 Mar, 2023 4 commits
  9. 06 Mar, 2023 8 commits