diff options
author | Furquan Shaikh <furquan@google.com> | 2013-08-01 13:58:17 -0700 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-12-21 13:26:59 +0100 |
commit | 771c3aca70e6fa8eb0b3ad5f6b6478578bfb5e85 (patch) | |
tree | b7802f46f2f7bb48732305d7d30869749b08082d | |
parent | db3157cfee6881d8095c4f96cd1fa5d5da9a5c68 (diff) | |
download | coreboot-771c3aca70e6fa8eb0b3ad5f6b6478578bfb5e85.tar.xz |
Slippy/Falco: Fill in right values for PHSYNC and PVSYNC in transcoder flags
Depending upon the values decoded from edid, the function decides the appropriate bits to
be set in flags parameter (Important for fastboot to work correctly in kernel)
Change-Id: I3b0f914dc2b0fd887eb6a1f706f87b87c86ff856
Reviewed-on: https://gerrit.chromium.org/gerrit/64265
Reviewed-by: Ronald G. Minnich <rminnich@chromium.org>
Commit-Queue: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: http://review.coreboot.org/4423
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r-- | src/drivers/intel/gma/i915.h | 4 | ||||
-rw-r--r-- | src/drivers/intel/gma/intel_ddi.c | 10 | ||||
-rw-r--r-- | src/mainboard/google/slippy/gma.c | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/drivers/intel/gma/i915.h b/src/drivers/intel/gma/i915.h index 12a7ee02bb..9a6314e32b 100644 --- a/src/drivers/intel/gma/i915.h +++ b/src/drivers/intel/gma/i915.h @@ -228,7 +228,9 @@ u32 intel_ddi_calc_transcoder_flags(u32 pipe_bpp, enum pipe pipe, int type, int lane_count, - int pf_sz); + int pf_sz, + u8 phsync, + u8 pvsync); enum transcoder intel_ddi_get_transcoder(enum port port, enum pipe pipe); diff --git a/src/drivers/intel/gma/intel_ddi.c b/src/drivers/intel/gma/intel_ddi.c index ff8ad4cf9e..9ddd781c97 100644 --- a/src/drivers/intel/gma/intel_ddi.c +++ b/src/drivers/intel/gma/intel_ddi.c @@ -163,7 +163,9 @@ u32 intel_ddi_calc_transcoder_flags(u32 pipe_bpp, enum pipe pipe, int type, int lane_count, - int pf_sz) + int pf_sz, + u8 phsync, + u8 pvsync) { u32 temp; @@ -206,7 +208,11 @@ u32 intel_ddi_calc_transcoder_flags(u32 pipe_bpp, } } - /* We need to check for TRANS_DDI_PVSYNC and TRANS_DDI_PHSYNC -- How? */ + if (phsync) + temp |= TRANS_DDI_PHSYNC; + + if (pvsync) + temp |= TRANS_DDI_PVSYNC; if (type == INTEL_OUTPUT_HDMI) { /* Need to understand when to set TRANS_DDI_MODE_SELECT_HDMI / TRANS_DDI_MODE_SELECT_DVI */ diff --git a/src/mainboard/google/slippy/gma.c b/src/mainboard/google/slippy/gma.c index 026bba1583..1d79d78478 100644 --- a/src/mainboard/google/slippy/gma.c +++ b/src/mainboard/google/slippy/gma.c @@ -293,7 +293,9 @@ void dp_init_dim_regs(struct intel_dp *dp) dp->pipe, dp->type, dp->lane_count, - dp->pfa_sz); + dp->pfa_sz, + dp->edid.phsync == '+'?1:0, + dp->edid.pvsync == '+'?1:0); dp->transcoder = intel_ddi_get_transcoder(dp->port, dp->pipe); |