From b524d2bb1f48e8274872c77a998580203471483c Mon Sep 17 00:00:00 2001 From: Vinod Polimera Date: Fri, 30 Oct 2020 15:34:03 +0530 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/47067 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/soc/qualcomm/sc7180/display/mdss.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/soc/qualcomm/sc7180') 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 #include -#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; /* -- cgit v1.2.3