To support mdp5 blending for mdp5 v1.5 and later

Signed-off-by: Jilai Wang <jil...@codeaurora.org>
---
 drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h  | 58 ++++++++++++++++++++++++++------
 drivers/gpu/drm/msm/mdp/mdp_common.xml.h |  4 +++
 2 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h 
b/drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h
index 50e1752..d037921 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h
@@ -381,49 +381,49 @@ static inline uint32_t REG_MDP5_CTL_LAYER(uint32_t i0, 
uint32_t i1) { return 0x0
 static inline uint32_t REG_MDP5_CTL_LAYER_REG(uint32_t i0, uint32_t i1) { 
return 0x00000000 + __offset_CTL(i0) + __offset_LAYER(i1); }
 #define MDP5_CTL_LAYER_REG_VIG0__MASK                          0x00000007
 #define MDP5_CTL_LAYER_REG_VIG0__SHIFT                         0
-static inline uint32_t MDP5_CTL_LAYER_REG_VIG0(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_VIG0(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_VIG0__SHIFT) & 
MDP5_CTL_LAYER_REG_VIG0__MASK;
 }
 #define MDP5_CTL_LAYER_REG_VIG1__MASK                          0x00000038
 #define MDP5_CTL_LAYER_REG_VIG1__SHIFT                         3
-static inline uint32_t MDP5_CTL_LAYER_REG_VIG1(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_VIG1(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_VIG1__SHIFT) & 
MDP5_CTL_LAYER_REG_VIG1__MASK;
 }
 #define MDP5_CTL_LAYER_REG_VIG2__MASK                          0x000001c0
 #define MDP5_CTL_LAYER_REG_VIG2__SHIFT                         6
-static inline uint32_t MDP5_CTL_LAYER_REG_VIG2(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_VIG2(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_VIG2__SHIFT) & 
MDP5_CTL_LAYER_REG_VIG2__MASK;
 }
 #define MDP5_CTL_LAYER_REG_RGB0__MASK                          0x00000e00
 #define MDP5_CTL_LAYER_REG_RGB0__SHIFT                         9
-static inline uint32_t MDP5_CTL_LAYER_REG_RGB0(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_RGB0(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_RGB0__SHIFT) & 
MDP5_CTL_LAYER_REG_RGB0__MASK;
 }
 #define MDP5_CTL_LAYER_REG_RGB1__MASK                          0x00007000
 #define MDP5_CTL_LAYER_REG_RGB1__SHIFT                         12
-static inline uint32_t MDP5_CTL_LAYER_REG_RGB1(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_RGB1(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_RGB1__SHIFT) & 
MDP5_CTL_LAYER_REG_RGB1__MASK;
 }
 #define MDP5_CTL_LAYER_REG_RGB2__MASK                          0x00038000
 #define MDP5_CTL_LAYER_REG_RGB2__SHIFT                         15
-static inline uint32_t MDP5_CTL_LAYER_REG_RGB2(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_RGB2(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_RGB2__SHIFT) & 
MDP5_CTL_LAYER_REG_RGB2__MASK;
 }
 #define MDP5_CTL_LAYER_REG_DMA0__MASK                          0x001c0000
 #define MDP5_CTL_LAYER_REG_DMA0__SHIFT                         18
-static inline uint32_t MDP5_CTL_LAYER_REG_DMA0(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_DMA0(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_DMA0__SHIFT) & 
MDP5_CTL_LAYER_REG_DMA0__MASK;
 }
 #define MDP5_CTL_LAYER_REG_DMA1__MASK                          0x00e00000
 #define MDP5_CTL_LAYER_REG_DMA1__SHIFT                         21
-static inline uint32_t MDP5_CTL_LAYER_REG_DMA1(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_DMA1(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_DMA1__SHIFT) & 
MDP5_CTL_LAYER_REG_DMA1__MASK;
 }
@@ -431,13 +431,13 @@ static inline uint32_t MDP5_CTL_LAYER_REG_DMA1(enum 
mdp_mixer_stage_id val)
 #define MDP5_CTL_LAYER_REG_CURSOR_OUT                          0x02000000
 #define MDP5_CTL_LAYER_REG_VIG3__MASK                          0x1c000000
 #define MDP5_CTL_LAYER_REG_VIG3__SHIFT                         26
-static inline uint32_t MDP5_CTL_LAYER_REG_VIG3(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_VIG3(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_VIG3__SHIFT) & 
MDP5_CTL_LAYER_REG_VIG3__MASK;
 }
 #define MDP5_CTL_LAYER_REG_RGB3__MASK                          0xe0000000
 #define MDP5_CTL_LAYER_REG_RGB3__SHIFT                         29
-static inline uint32_t MDP5_CTL_LAYER_REG_RGB3(enum mdp_mixer_stage_id val)
+static inline uint32_t MDP5_CTL_LAYER_REG_RGB3(uint32_t val)
 {
        return ((val) << MDP5_CTL_LAYER_REG_RGB3__SHIFT) & 
MDP5_CTL_LAYER_REG_RGB3__MASK;
 }
@@ -499,6 +499,44 @@ static inline uint32_t REG_MDP5_CTL_START(uint32_t i0) { 
return 0x0000001c + __o
 
 static inline uint32_t REG_MDP5_CTL_PACK_3D(uint32_t i0) { return 0x00000020 + 
__offset_CTL(i0); }
 
+static inline uint32_t __offset_LAYER_EXT(uint32_t idx)
+{
+       switch (idx) {
+               case 0: return 0x00000040;
+               case 1: return 0x00000044;
+               case 2: return 0x00000048;
+               case 3: return 0x0000004c;
+               case 4: return 0x00000050;
+               case 5: return 0x00000054;
+               default: return INVALID_IDX(idx);
+       }
+}
+static inline uint32_t REG_MDP5_CTL_LAYER_EXT(uint32_t i0, uint32_t i1) { 
return 0x00000000 + __offset_CTL(i0) + __offset_LAYER_EXT(i1); }
+
+static inline uint32_t REG_MDP5_CTL_LAYER_EXT_REG(uint32_t i0, uint32_t i1) { 
return 0x00000000 + __offset_CTL(i0) + __offset_LAYER_EXT(i1); }
+#define MDP5_CTL_LAYER_EXT_REG_VIG0_BIT3                       0x00000001
+#define MDP5_CTL_LAYER_EXT_REG_VIG1_BIT3                       0x00000004
+#define MDP5_CTL_LAYER_EXT_REG_VIG2_BIT3                       0x00000010
+#define MDP5_CTL_LAYER_EXT_REG_VIG3_BIT3                       0x00000040
+#define MDP5_CTL_LAYER_EXT_REG_RGB0_BIT3                       0x00000100
+#define MDP5_CTL_LAYER_EXT_REG_RGB1_BIT3                       0x00000400
+#define MDP5_CTL_LAYER_EXT_REG_RGB2_BIT3                       0x00001000
+#define MDP5_CTL_LAYER_EXT_REG_RGB3_BIT3                       0x00004000
+#define MDP5_CTL_LAYER_EXT_REG_DMA0_BIT3                       0x00010000
+#define MDP5_CTL_LAYER_EXT_REG_DMA1_BIT3                       0x00040000
+#define MDP5_CTL_LAYER_EXT_REG_CURSOR0__MASK                   0x00f00000
+#define MDP5_CTL_LAYER_EXT_REG_CURSOR0__SHIFT                  20
+static inline uint32_t MDP5_CTL_LAYER_EXT_REG_CURSOR0(enum mdp_mixer_stage_id 
val)
+{
+       return ((val) << MDP5_CTL_LAYER_EXT_REG_CURSOR0__SHIFT) & 
MDP5_CTL_LAYER_EXT_REG_CURSOR0__MASK;
+}
+#define MDP5_CTL_LAYER_EXT_REG_CURSOR1__MASK                   0x3c000000
+#define MDP5_CTL_LAYER_EXT_REG_CURSOR1__SHIFT                  26
+static inline uint32_t MDP5_CTL_LAYER_EXT_REG_CURSOR1(enum mdp_mixer_stage_id 
val)
+{
+       return ((val) << MDP5_CTL_LAYER_EXT_REG_CURSOR1__SHIFT) & 
MDP5_CTL_LAYER_EXT_REG_CURSOR1__MASK;
+}
+
 static inline uint32_t __offset_PIPE(enum mdp5_pipe idx)
 {
        switch (idx) {
diff --git a/drivers/gpu/drm/msm/mdp/mdp_common.xml.h 
b/drivers/gpu/drm/msm/mdp/mdp_common.xml.h
index 641d036..154d66e 100644
--- a/drivers/gpu/drm/msm/mdp/mdp_common.xml.h
+++ b/drivers/gpu/drm/msm/mdp/mdp_common.xml.h
@@ -65,6 +65,10 @@ enum mdp_mixer_stage_id {
        STAGE1 = 3,
        STAGE2 = 4,
        STAGE3 = 5,
+       STAGE4 = 6,
+       STAGE5 = 7,
+       STAGE6 = 8,
+       STAGE_MAX = 8,
 };
 
 enum mdp_alpha_type {
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to