Calculate transcoder flags based on pipe config

Works fine with all three panels with the change of 6 bits per color.

Change-Id: Ia47d152e62d1879150d8cf9a6657b62007ef5c0e
Reviewed-on: https://gerrit.chromium.org/gerrit/63762
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/4402
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Furquan Shaikh
2013-07-30 12:41:08 -07:00
committed by Patrick Georgi
parent 10bd772db8
commit d0a81f7534
6 changed files with 103 additions and 3 deletions

View File

@@ -40,6 +40,22 @@
#define PRB0_START 0x02038
#define PRB0_CTL 0x0203c
enum port {
PORT_A = 0,
PORT_B,
PORT_C,
PORT_D,
PORT_E,
I915_NUM_PORTS
};
enum pipe {
PIPE_A = 0,
PIPE_B,
PIPE_C,
I915_NUM_PIPES
};
/* debug enums. These are for printks that, due to their place in the
* middle of graphics device IO, might change timing. Use with care
* or not at all.
@@ -143,6 +159,7 @@ struct intel_dp {
u32 pipesrc;
u32 stride;
struct intel_dp_m_n m_n;
u32 flags;
};
/* we may yet need these. */
@@ -197,3 +214,10 @@ void intel_dp_compute_m_n(unsigned int bits_per_pixel,
unsigned int pixel_clock,
unsigned int link_clock,
struct intel_dp_m_n *m_n);
u32 intel_ddi_calc_transcoder_flags(u32 pipe_bpp,
enum port port,
enum pipe pipe,
int type,
int lane_count,
int pf_sz);