summaryrefslogtreecommitdiff
path: root/msm/sde/sde_encoder_phys.h
diff options
context:
space:
mode:
Diffstat (limited to 'msm/sde/sde_encoder_phys.h')
-rw-r--r--msm/sde/sde_encoder_phys.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/msm/sde/sde_encoder_phys.h b/msm/sde/sde_encoder_phys.h
index 8f35a8fa..22355dc9 100644
--- a/msm/sde/sde_encoder_phys.h
+++ b/msm/sde/sde_encoder_phys.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
- * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
*/
#ifndef __SDE_ENCODER_PHYS_H__
@@ -82,7 +82,7 @@ struct sde_encoder_virt_ops {
void (*handle_frame_done)(struct drm_encoder *parent,
struct sde_encoder_phys *phys, u32 event);
void (*get_qsync_fps)(struct drm_encoder *parent,
- u32 *qsync_fps);
+ u32 *qsync_fps, u32 vrr_fps);
};
/**
@@ -611,6 +611,26 @@ static inline enum sde_3d_blend_mode sde_encoder_helper_get_3d_blend_mode(
}
/**
+ * sde_encoder_phys_is_cwb_disabling - Check if CWB encoder attached to this
+ * CRTC and it is in SDE_ENC_DISABLING state.
+ * @phys_enc: Pointer to physical encoder structure
+ * @crtc: drm crtc
+ * @Return: true if cwb encoder is in disabling state
+ */
+static inline bool sde_encoder_phys_is_cwb_disabling(
+ struct sde_encoder_phys *phys, struct drm_crtc *crtc)
+{
+ struct sde_encoder_phys_wb *wb_enc;
+
+ if (!phys || !phys->in_clone_mode ||
+ phys->enable_state != SDE_ENC_DISABLING)
+ return false;
+
+ wb_enc = container_of(phys, struct sde_encoder_phys_wb, base);
+ return (wb_enc->crtc == crtc) ? true : false;
+}
+
+/**
* sde_encoder_helper_split_config - split display configuration helper function
* This helper function may be used by physical encoders to configure
* the split display related registers.