diff options
author | Vinod Polimera <vpolimer@codeaurora.org> | 2020-10-30 15:34:03 +0530 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2020-11-02 22:04:33 +0000 |
commit | b524d2bb1f48e8274872c77a998580203471483c (patch) | |
tree | 2e96a0c34bfffee395f5266b1e529dc0050209d5 /src | |
parent | a9d225b3e89d6ec061169d5b472095fb9e8ffbc7 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/qualcomm/sc7180/display/mdss.c | 7 |
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; /* |