19
19
#include "msm_mdss.h"
20
20
#include "msm_kms.h"
21
21
22
- #define HW_REV 0x0
23
- #define HW_INTR_STATUS 0x0010
24
-
25
- #define UBWC_DEC_HW_VERSION 0x58
26
- #define UBWC_STATIC 0x144
27
- #define UBWC_CTRL_2 0x150
28
- #define UBWC_PREDICTION_MODE 0x154
22
+ #include <generated/mdss.xml.h>
29
23
30
24
#define MIN_IB_BW 400000000UL /* Min ib vote 400MB */
31
25
@@ -83,7 +77,7 @@ static void msm_mdss_irq(struct irq_desc *desc)
83
77
84
78
chained_irq_enter (chip , desc );
85
79
86
- interrupts = readl_relaxed (msm_mdss -> mmio + HW_INTR_STATUS );
80
+ interrupts = readl_relaxed (msm_mdss -> mmio + REG_MDSS_HW_INTR_STATUS );
87
81
88
82
while (interrupts ) {
89
83
irq_hw_number_t hwirq = fls (interrupts ) - 1 ;
@@ -173,7 +167,7 @@ static void msm_mdss_setup_ubwc_dec_20(struct msm_mdss *msm_mdss)
173
167
{
174
168
const struct msm_mdss_data * data = msm_mdss -> mdss_data ;
175
169
176
- writel_relaxed (data -> ubwc_static , msm_mdss -> mmio + UBWC_STATIC );
170
+ writel_relaxed (data -> ubwc_static , msm_mdss -> mmio + REG_MDSS_UBWC_STATIC );
177
171
}
178
172
179
173
static void msm_mdss_setup_ubwc_dec_30 (struct msm_mdss * msm_mdss )
@@ -189,7 +183,7 @@ static void msm_mdss_setup_ubwc_dec_30(struct msm_mdss *msm_mdss)
189
183
if (data -> ubwc_enc_version == UBWC_1_0 )
190
184
value |= BIT (8 );
191
185
192
- writel_relaxed (value , msm_mdss -> mmio + UBWC_STATIC );
186
+ writel_relaxed (value , msm_mdss -> mmio + REG_MDSS_UBWC_STATIC );
193
187
}
194
188
195
189
static void msm_mdss_setup_ubwc_dec_40 (struct msm_mdss * msm_mdss )
@@ -200,21 +194,22 @@ static void msm_mdss_setup_ubwc_dec_40(struct msm_mdss *msm_mdss)
200
194
(data -> highest_bank_bit & 0x7 ) << 4 |
201
195
(data -> macrotile_mode & 0x1 ) << 12 ;
202
196
203
- writel_relaxed (value , msm_mdss -> mmio + UBWC_STATIC );
197
+ writel_relaxed (value , msm_mdss -> mmio + REG_MDSS_UBWC_STATIC );
204
198
205
199
if (data -> ubwc_enc_version == UBWC_3_0 ) {
206
- writel_relaxed (1 , msm_mdss -> mmio + UBWC_CTRL_2 );
207
- writel_relaxed (0 , msm_mdss -> mmio + UBWC_PREDICTION_MODE );
200
+ writel_relaxed (1 , msm_mdss -> mmio + REG_MDSS_UBWC_CTRL_2 );
201
+ writel_relaxed (0 , msm_mdss -> mmio + REG_MDSS_UBWC_PREDICTION_MODE );
208
202
} else {
209
203
if (data -> ubwc_dec_version == UBWC_4_3 )
210
- writel_relaxed (3 , msm_mdss -> mmio + UBWC_CTRL_2 );
204
+ writel_relaxed (3 , msm_mdss -> mmio + REG_MDSS_UBWC_CTRL_2 );
211
205
else
212
- writel_relaxed (2 , msm_mdss -> mmio + UBWC_CTRL_2 );
213
- writel_relaxed (1 , msm_mdss -> mmio + UBWC_PREDICTION_MODE );
206
+ writel_relaxed (2 , msm_mdss -> mmio + REG_MDSS_UBWC_CTRL_2 );
207
+ writel_relaxed (1 , msm_mdss -> mmio + REG_MDSS_UBWC_PREDICTION_MODE );
214
208
}
215
209
}
216
210
217
- #define MDSS_HW_MAJ_MIN GENMASK(31, 16)
211
+ #define MDSS_HW_MAJ_MIN \
212
+ (MDSS_HW_VERSION_MAJOR__MASK | MDSS_HW_VERSION_MINOR__MASK)
218
213
219
214
#define MDSS_HW_MSM8996 0x1007
220
215
#define MDSS_HW_MSM8937 0x100e
@@ -235,7 +230,7 @@ static const struct msm_mdss_data *msm_mdss_generate_mdp5_mdss_data(struct msm_m
235
230
if (!data )
236
231
return NULL ;
237
232
238
- hw_rev = readl_relaxed (mdss -> mmio + HW_REV );
233
+ hw_rev = readl_relaxed (mdss -> mmio + REG_MDSS_HW_VERSION );
239
234
hw_rev = FIELD_GET (MDSS_HW_MAJ_MIN , hw_rev );
240
235
241
236
if (hw_rev == MDSS_HW_MSM8996 ||
@@ -334,9 +329,9 @@ static int msm_mdss_enable(struct msm_mdss *msm_mdss)
334
329
dev_err (msm_mdss -> dev , "Unsupported UBWC decoder version %x\n" ,
335
330
msm_mdss -> mdss_data -> ubwc_dec_version );
336
331
dev_err (msm_mdss -> dev , "HW_REV: 0x%x\n" ,
337
- readl_relaxed (msm_mdss -> mmio + HW_REV ));
332
+ readl_relaxed (msm_mdss -> mmio + REG_MDSS_HW_VERSION ));
338
333
dev_err (msm_mdss -> dev , "UBWC_DEC_HW_VERSION: 0x%x\n" ,
339
- readl_relaxed (msm_mdss -> mmio + UBWC_DEC_HW_VERSION ));
334
+ readl_relaxed (msm_mdss -> mmio + REG_MDSS_UBWC_DEC_HW_VERSION ));
340
335
break ;
341
336
}
342
337
0 commit comments