disp: msm: sde: add support for CTL done irq
From Kalama, the HW scheduler abstracts the low level PP_DONE/WB_DONE interrupts and generates a common CTL_DONE interrupt per hw ctl. This saves the software the irq latency delays to process the frame complete operations when multiple encoders are involved. If supported, this change enables and waits for the CTL_DONE interrupt instead of PP_DONE and WB_DONE. This change adds support to wait for CTL_DONE irq in only command mode panels as we don't drive two WB blocks with single CTL. Change-Id: I084d6bfb6a9fb0b48f912fe5787401c460ec5b56 Signed-off-by: Jeykumar Sankaran <quic_jeykumar@quicinc.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
@@ -91,6 +92,16 @@
|
||||
#define SDE_INTR_CTL_4_START BIT(13)
|
||||
#define SDE_INTR_CTL_5_START BIT(23)
|
||||
|
||||
/**
|
||||
* Ctl done interrupt status bit definitions
|
||||
*/
|
||||
#define SDE_INTR_CTL_0_DONE BIT(0)
|
||||
#define SDE_INTR_CTL_1_DONE BIT(1)
|
||||
#define SDE_INTR_CTL_2_DONE BIT(2)
|
||||
#define SDE_INTR_CTL_3_DONE BIT(3)
|
||||
#define SDE_INTR_CTL_4_DONE BIT(4)
|
||||
#define SDE_INTR_CTL_5_DONE BIT(5)
|
||||
|
||||
/**
|
||||
* Concurrent WB overflow interrupt status bit definitions
|
||||
*/
|
||||
@@ -283,6 +294,19 @@ static struct sde_irq_type sde_irq_intr2_map[] = {
|
||||
{ SDE_IRQ_TYPE_CTL_START, CTL_5,
|
||||
SDE_INTR_CTL_5_START, -1},
|
||||
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_0,
|
||||
SDE_INTR_CTL_0_DONE, -1},
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_1,
|
||||
SDE_INTR_CTL_1_DONE, -1},
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_2,
|
||||
SDE_INTR_CTL_2_DONE, -1},
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_3,
|
||||
SDE_INTR_CTL_3_DONE, -1},
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_4,
|
||||
SDE_INTR_CTL_4_DONE, -1},
|
||||
{ SDE_IRQ_TYPE_CTL_DONE, CTL_5,
|
||||
SDE_INTR_CTL_5_DONE, -1},
|
||||
|
||||
{ SDE_IRQ_TYPE_CWB_OVERFLOW, PINGPONG_CWB_0, SDE_INTR_CWB_OVERFLOW, -1},
|
||||
|
||||
{ SDE_IRQ_TYPE_PING_PONG_COMP, PINGPONG_4,
|
||||
|
Reference in New Issue
Block a user