disp: msm: sde: add support for dynamic encoder IRQs
This change adds support for dynamically enabling and disabling additional physical encoder IRQs. Change-Id: I500fa69d1b8b8df39fd608391c906257efdea63b Signed-off-by: Nilaan Gunabalachandran <quic_ngunabal@quicinc.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2015-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
@@ -65,6 +65,14 @@ enum sde_enc_enable_state {
|
||||
SDE_ENC_ERR_NEEDS_HW_RESET
|
||||
};
|
||||
|
||||
enum sde_enc_irqs {
|
||||
SDE_ENC_CMD_TE_ASSERT,
|
||||
SDE_ENC_CMD_TE_DEASSERT,
|
||||
SDE_ENC_CMD_TEAR_DETECT,
|
||||
|
||||
SDE_ENC_IRQ_MAX
|
||||
};
|
||||
|
||||
struct sde_encoder_phys;
|
||||
|
||||
/**
|
||||
@@ -182,6 +190,7 @@ struct sde_encoder_phys_ops {
|
||||
u32 *misr_value);
|
||||
void (*hw_reset)(struct sde_encoder_phys *phys_enc);
|
||||
void (*irq_control)(struct sde_encoder_phys *phys, bool enable);
|
||||
void (*dynamic_irq_control)(struct sde_encoder_phys *phys, bool enable);
|
||||
void (*update_split_role)(struct sde_encoder_phys *phys_enc,
|
||||
enum sde_enc_split_role role);
|
||||
void (*control_te)(struct sde_encoder_phys *phys_enc, bool enable);
|
||||
@@ -218,6 +227,9 @@ struct sde_encoder_phys_ops {
|
||||
* autorefresh has triggered a double buffer flip
|
||||
* @INTR_IDX_WRPTR: Writepointer start interrupt for cmd mode panel
|
||||
* @INTR_IDX_WB_LINEPTR: Programmable lineptr interrupt for WB
|
||||
* @INTF_IDX_TEAR_DETECT: Tear detect interrupt
|
||||
* @INTR_IDX_TE_ASSERT: TE Assert interrupt
|
||||
* @INTR_IDX_TE_DEASSERT: TE Deassert interrupt
|
||||
*/
|
||||
enum sde_intr_idx {
|
||||
INTR_IDX_VSYNC,
|
||||
@@ -237,6 +249,9 @@ enum sde_intr_idx {
|
||||
INTR_IDX_PP_CWB2_OVFL,
|
||||
INTR_IDX_WRPTR,
|
||||
INTR_IDX_WB_LINEPTR,
|
||||
INTF_IDX_TEAR_DETECT,
|
||||
INTR_IDX_TE_ASSERT,
|
||||
INTR_IDX_TE_DEASSERT,
|
||||
INTR_IDX_MAX,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user