diff options
author | Jani Nikula <jani.nikula@intel.com> | 2016-04-29 08:34:02 -0400 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2016-05-04 02:48:06 -0400 |
commit | 8bea61f0585f9851d3fd69315861248d72960833 (patch) | |
tree | 4394815f22366e966df00e2995b300c51df67ab5 /drivers/gpu/drm | |
parent | a04e23d42a1ce5d5f421692bb1c7e9352832819d (diff) |
drm/i915/lvds: separate border enable readout from panel fitter
The LVDS border enable is independent from the panel fitter. Move the
readout of the "border bits" from i9xx_get_pfit_config() to
intel_lvds_get_config(), where it will be read if LVDS is enabled even
if the panel fitter is not.
This fixes the state checker warning:
[drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in
gmch_pfit.lvds_border_bits (expected 0x00008000, found 0x00000000)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87632
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1461933243-2140-1-git-send-email-jani.nikula@intel.com
(cherry picked from commit a0cbe6a3f1c0e86342965430b4a775b5d35b416b)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 045afdb87f45..0104a06d01fd 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -7988,9 +7988,6 @@ static void i9xx_get_pfit_config(struct intel_crtc *crtc, | |||
7988 | 7988 | ||
7989 | pipe_config->gmch_pfit.control = tmp; | 7989 | pipe_config->gmch_pfit.control = tmp; |
7990 | pipe_config->gmch_pfit.pgm_ratios = I915_READ(PFIT_PGM_RATIOS); | 7990 | pipe_config->gmch_pfit.pgm_ratios = I915_READ(PFIT_PGM_RATIOS); |
7991 | if (INTEL_INFO(dev)->gen < 5) | ||
7992 | pipe_config->gmch_pfit.lvds_border_bits = | ||
7993 | I915_READ(LVDS) & LVDS_BORDER_ENABLE; | ||
7994 | } | 7991 | } |
7995 | 7992 | ||
7996 | static void vlv_crtc_clock_get(struct intel_crtc *crtc, | 7993 | static void vlv_crtc_clock_get(struct intel_crtc *crtc, |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index cd9fe609aefb..10dc3517b63b 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -123,6 +123,10 @@ static void intel_lvds_get_config(struct intel_encoder *encoder, | |||
123 | 123 | ||
124 | pipe_config->base.adjusted_mode.flags |= flags; | 124 | pipe_config->base.adjusted_mode.flags |= flags; |
125 | 125 | ||
126 | if (INTEL_INFO(dev)->gen < 5) | ||
127 | pipe_config->gmch_pfit.lvds_border_bits = | ||
128 | tmp & LVDS_BORDER_ENABLE; | ||
129 | |||
126 | /* gen2/3 store dither state in pfit control, needs to match */ | 130 | /* gen2/3 store dither state in pfit control, needs to match */ |
127 | if (INTEL_INFO(dev)->gen < 4) { | 131 | if (INTEL_INFO(dev)->gen < 4) { |
128 | tmp = I915_READ(PFIT_CONTROL); | 132 | tmp = I915_READ(PFIT_CONTROL); |