Ravi kumar has uploaded this change for review.

View Change

sc7180: Fix prefill requirement and correct the fetch start check

With Innolux panel timings, the fetch_start has evaluated to be more than
v_total which is invalid. Add a check to accommodate the extra h_total addition
in fetch_start calculation. Secondly, made the prefill line requirement
same as Kernel driver.

Change-Id: If7624c0b28421759fdf47dd92f23214a78058199
Signed-off-by: Vinod Polimera <vpolimer@codeaurora.org>
---
M src/soc/qualcomm/sc7180/display/mdss.c
1 file changed, 4 insertions(+), 3 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/67/47067/1
diff --git a/src/soc/qualcomm/sc7180/display/mdss.c b/src/soc/qualcomm/sc7180/display/mdss.c
index 2d6bf6f..ce46e8e 100644
--- a/src/soc/qualcomm/sc7180/display/mdss.c
+++ b/src/soc/qualcomm/sc7180/display/mdss.c
@@ -6,7 +6,7 @@
#include <edid.h>
#include <soc/display/mdssreg.h>

-#define MDSS_MDP_MAX_PREFILL_FETCH 25
+#define MDSS_MDP_MAX_PREFILL_FETCH 24

static void mdss_source_pipe_config(struct edid *edid)
{
@@ -91,9 +91,10 @@
/*
* MDP programmable fetch is for MDP with rev >= 1.05.
* Programmable fetch is not needed if vertical back porch
- * plus vertical puls width is >= 25.
+ * plus vertical pulse width plus extra line for the extra h_total
+ * added during fetch start is >= 24.
*/
- if ((edid->mode.vbl - edid->mode.vso) >= MDSS_MDP_MAX_PREFILL_FETCH)
+ if ((edid->mode.vbl - edid->mode.vso + 1) >= MDSS_MDP_MAX_PREFILL_FETCH)
return;

/*

To view, visit change 47067. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: If7624c0b28421759fdf47dd92f23214a78058199
Gerrit-Change-Number: 47067
Gerrit-PatchSet: 1
Gerrit-Owner: Ravi kumar <rbokka@codeaurora.org>
Gerrit-MessageType: newchange