aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinod Polimera <vpolimer@codeaurora.org>2020-10-30 15:34:03 +0530
committerJulius Werner <jwerner@chromium.org>2020-11-02 22:04:33 +0000
commitb524d2bb1f48e8274872c77a998580203471483c (patch)
tree2e96a0c34bfffee395f5266b1e529dc0050209d5
parenta9d225b3e89d6ec061169d5b472095fb9e8ffbc7 (diff)
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> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47067 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--src/soc/qualcomm/sc7180/display/mdss.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/soc/qualcomm/sc7180/display/mdss.c b/src/soc/qualcomm/sc7180/display/mdss.c
index 2d6bf6fcd3..ce46e8e880 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 @@ static void mdss_intf_fetch_start_config(struct edid *edid)
/*
* 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;
/*