Skip to content

Commit 3103177

Browse files
James Willcoxrobclark
authored andcommitted
drm/msm/mdp5: add perf blocks for holding fudge factors
Prior downstream kernels had "fudge factors" in devicetree which would be applied to things like interconnect bandwidth calculations. Bring some of those values back here. Signed-off-by: James Willcox <jwillcox@squareup.com> [DB: changed _ff to _inefficiency, fixed patch description] Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://lore.kernel.org/r/20210525131316.3117809-7-dmitry.baryshkov@linaro.org Signed-off-by: Rob Clark <robdclark@chromium.org>
1 parent 7d36db0 commit 3103177

2 files changed

Lines changed: 42 additions & 0 deletions

File tree

drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ static const struct mdp5_cfg_hw msm8x74v1_config = {
9595
[3] = INTF_HDMI,
9696
},
9797
},
98+
.perf = {
99+
.ab_inefficiency = 200,
100+
.ib_inefficiency = 120,
101+
.clk_inefficiency = 125
102+
},
98103
.max_clk = 200000000,
99104
};
100105

@@ -177,6 +182,11 @@ static const struct mdp5_cfg_hw msm8x74v2_config = {
177182
[3] = INTF_HDMI,
178183
},
179184
},
185+
.perf = {
186+
.ab_inefficiency = 200,
187+
.ib_inefficiency = 120,
188+
.clk_inefficiency = 125
189+
},
180190
.max_clk = 320000000,
181191
};
182192

@@ -272,6 +282,11 @@ static const struct mdp5_cfg_hw apq8084_config = {
272282
[3] = INTF_HDMI,
273283
},
274284
},
285+
.perf = {
286+
.ab_inefficiency = 200,
287+
.ib_inefficiency = 120,
288+
.clk_inefficiency = 105
289+
},
275290
.max_clk = 320000000,
276291
};
277292

@@ -339,6 +354,11 @@ static const struct mdp5_cfg_hw msm8x16_config = {
339354
[1] = INTF_DSI,
340355
},
341356
},
357+
.perf = {
358+
.ab_inefficiency = 100,
359+
.ib_inefficiency = 200,
360+
.clk_inefficiency = 105
361+
},
342362
.max_clk = 320000000,
343363
};
344364

@@ -414,6 +434,11 @@ static const struct mdp5_cfg_hw msm8x36_config = {
414434
[2] = INTF_DSI,
415435
},
416436
},
437+
.perf = {
438+
.ab_inefficiency = 100,
439+
.ib_inefficiency = 200,
440+
.clk_inefficiency = 105
441+
},
417442
.max_clk = 366670000,
418443
};
419444

@@ -509,6 +534,11 @@ static const struct mdp5_cfg_hw msm8x94_config = {
509534
[3] = INTF_HDMI,
510535
},
511536
},
537+
.perf = {
538+
.ab_inefficiency = 100,
539+
.ib_inefficiency = 100,
540+
.clk_inefficiency = 105
541+
},
512542
.max_clk = 400000000,
513543
};
514544

@@ -617,6 +647,11 @@ static const struct mdp5_cfg_hw msm8x96_config = {
617647
[3] = INTF_HDMI,
618648
},
619649
},
650+
.perf = {
651+
.ab_inefficiency = 100,
652+
.ib_inefficiency = 200,
653+
.clk_inefficiency = 105
654+
},
620655
.max_clk = 412500000,
621656
};
622657

drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ struct mdp5_intf_block {
7676
u32 connect[MDP5_INTF_NUM_MAX]; /* array of enum mdp5_intf_type */
7777
};
7878

79+
struct mdp5_perf_block {
80+
u32 ab_inefficiency;
81+
u32 ib_inefficiency;
82+
u32 clk_inefficiency;
83+
};
84+
7985
struct mdp5_cfg_hw {
8086
char *name;
8187

@@ -93,6 +99,7 @@ struct mdp5_cfg_hw {
9399
struct mdp5_sub_block dsc;
94100
struct mdp5_sub_block cdm;
95101
struct mdp5_intf_block intf;
102+
struct mdp5_perf_block perf;
96103

97104
uint32_t max_clk;
98105
};

0 commit comments

Comments
 (0)