In order to move VRR enable/disable to a place where it's also applicable to fastsets we need to be prepared to configure the pipe into non-VRR mode initially, and then later switch to VRR mode. To that end allow the active timings to be configured in non-VRR mode temporarily even when the crtc_state says we're going to be using VRR. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230320203352.19515-5-ville.syrjala@linux.intel.com Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
26 lines
817 B
C
26 lines
817 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2022-2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_VBLANK_H__
|
|
#define __INTEL_VBLANK_H__
|
|
|
|
#include <linux/ktime.h>
|
|
#include <linux/types.h>
|
|
|
|
struct drm_crtc;
|
|
struct intel_crtc;
|
|
struct intel_crtc_state;
|
|
|
|
u32 i915_get_vblank_counter(struct drm_crtc *crtc);
|
|
u32 g4x_get_vblank_counter(struct drm_crtc *crtc);
|
|
bool intel_crtc_get_vblank_timestamp(struct drm_crtc *crtc, int *max_error,
|
|
ktime_t *vblank_time, bool in_vblank_irq);
|
|
int intel_get_crtc_scanline(struct intel_crtc *crtc);
|
|
void intel_wait_for_pipe_scanline_stopped(struct intel_crtc *crtc);
|
|
void intel_wait_for_pipe_scanline_moving(struct intel_crtc *crtc);
|
|
void intel_crtc_update_active_timings(const struct intel_crtc_state *crtc_state,
|
|
bool vrr_enable);
|
|
|
|
#endif /* __INTEL_VBLANK_H__ */
|