Skip to content

Commit

Permalink
drm/i915: Select the correct BPC for LVDS on Ironlake
Browse files Browse the repository at this point in the history
Select the correct BPC for LVDS on Ironlake. If it is 18-bit LVDS panel,
the BPC will be 6. When it is 24-bit LVDS panel, the BPC will 8.
At the same time the BPC will be 8 when the output device is CRT/HDMI/DP.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
  • Loading branch information
Zhao Yakui authored and Eric Anholt committed Jan 6, 2010
1 parent 8faf3b3 commit e5a95eb
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -2993,6 +2993,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,

/* determine panel color depth */
temp = I915_READ(pipeconf_reg);
temp &= ~PIPE_BPC_MASK;
if (is_lvds) {
int lvds_reg = I915_READ(PCH_LVDS);
/* the BPC will be 6 if it is 18-bit LVDS panel */
if ((lvds_reg & LVDS_A3_POWER_MASK) == LVDS_A3_POWER_UP)
temp |= PIPE_8BPC;
else
temp |= PIPE_6BPC;
} else
temp |= PIPE_8BPC;
I915_WRITE(pipeconf_reg, temp);
I915_READ(pipeconf_reg);

switch (temp & PIPE_BPC_MASK) {
case PIPE_8BPC:
Expand Down

0 comments on commit e5a95eb

Please sign in to comment.