diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2024-09-30 20:04:07 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2024-10-04 00:33:06 +0300 |
commit | 63b41d207dc12ee2632fcad6229bfca2c54da5d9 (patch) | |
tree | 8fdd87078bafe9528062dadca967170533ee762b /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 9e9953715ed7cd2097f42832ae6b48da53b72679 (diff) | |
download | linux-63b41d207dc12ee2632fcad6229bfca2c54da5d9.tar.xz |
drm/i915/dsb: Introduce intel_dsb_vblank_evade()
Add a helper for performing vblank evasion on the DSB. DSB based
plane updates will need this to guarantee all the double buffered
arming registers will get programmed atomically within the same
frame.
With VRR we more or less have two vblanks to worry about:
- vmax vblank start in case no push was sent
- vmin vblank start in case a push was already sent during
the vertical active. Only a concern for mailbox updates,
which I suppose could happen if the legacy cursor updates
take the non-fastpath without setting
state->legacy_cursor_update to false.
Since we don't know which case is relevant we'll just evade
both.
We must also make sure to evade both the delayed vblank
(for pipe/plane registers) and the undelayed vblank
(for transcoder registers and chained DSBs w/
DSB_WAIT_FOR_VBLANK).
TODO: come up with a sensible usec number for the evasion...
Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240930170415.23841-6-ville.syrjala@linux.intel.com
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions