mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
drm/i915: make SDVO TV-out work for multifunction devices
commit 09ede5414f upstream.
We need to track this correctly. While at it shovel the boolean
to track whether the sdvo is in tv mode or not into pipe_config.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36997
Tested-by: Pierre Assal <pierre.assal@verint.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63609
Tested-by: cancan,feng <cancan.feng@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
98ad9de664
commit
21dd5ff6d6
|
|
@ -4333,7 +4333,8 @@ static void vlv_update_pll(struct intel_crtc *crtc)
|
|||
|
||||
static void i9xx_update_pll(struct intel_crtc *crtc,
|
||||
intel_clock_t *reduced_clock,
|
||||
int num_connectors)
|
||||
int num_connectors,
|
||||
bool needs_tv_clock)
|
||||
{
|
||||
struct drm_device *dev = crtc->base.dev;
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
|
|
@ -4391,7 +4392,7 @@ static void i9xx_update_pll(struct intel_crtc *crtc,
|
|||
if (INTEL_INFO(dev)->gen >= 4)
|
||||
dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT);
|
||||
|
||||
if (is_sdvo && intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_TVOUT))
|
||||
if (is_sdvo && needs_tv_clock)
|
||||
dpll |= PLL_REF_INPUT_TVCLKINBC;
|
||||
else if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_TVOUT))
|
||||
/* XXX: just matching BIOS for now */
|
||||
|
|
@ -4716,7 +4717,8 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc,
|
|||
else
|
||||
i9xx_update_pll(intel_crtc,
|
||||
has_reduced_clock ? &reduced_clock : NULL,
|
||||
num_connectors);
|
||||
num_connectors,
|
||||
is_sdvo && is_tv);
|
||||
|
||||
/* Set up the display plane register */
|
||||
dspcntr = DISPPLANE_GAMMA_ENABLE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user