aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-09-30 17:56:41 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-09 12:04:08 -0400
commita0b1c7a5197293d6206b245b45edc3f508aadab6 (patch)
tree239f8748ffbb46200fd03e3d4f43f48606f4cdab /drivers
parentf534bc0b2212f3dc317bdaea5dfff13526f2ac17 (diff)
drm/i915/sdvo: Include YRPB as an additional TV output type
Reported-and-tested-by: Bo Wang < bo.b.wang@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36997 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_sdvo.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index 830c8b5d90b8..6898145b44ce 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -41,7 +41,7 @@
41#define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1) 41#define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)
42#define SDVO_RGB_MASK (SDVO_OUTPUT_RGB0 | SDVO_OUTPUT_RGB1) 42#define SDVO_RGB_MASK (SDVO_OUTPUT_RGB0 | SDVO_OUTPUT_RGB1)
43#define SDVO_LVDS_MASK (SDVO_OUTPUT_LVDS0 | SDVO_OUTPUT_LVDS1) 43#define SDVO_LVDS_MASK (SDVO_OUTPUT_LVDS0 | SDVO_OUTPUT_LVDS1)
44#define SDVO_TV_MASK (SDVO_OUTPUT_CVBS0 | SDVO_OUTPUT_SVID0) 44#define SDVO_TV_MASK (SDVO_OUTPUT_CVBS0 | SDVO_OUTPUT_SVID0 | SDVO_OUTPUT_YPRPB0)
45 45
46#define SDVO_OUTPUT_MASK (SDVO_TMDS_MASK | SDVO_RGB_MASK | SDVO_LVDS_MASK |\ 46#define SDVO_OUTPUT_MASK (SDVO_TMDS_MASK | SDVO_RGB_MASK | SDVO_LVDS_MASK |\
47 SDVO_TV_MASK) 47 SDVO_TV_MASK)
@@ -1344,8 +1344,7 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
1344 return connector_status_unknown; 1344 return connector_status_unknown;
1345 1345
1346 /* add 30ms delay when the output type might be TV */ 1346 /* add 30ms delay when the output type might be TV */
1347 if (intel_sdvo->caps.output_flags & 1347 if (intel_sdvo->caps.output_flags & SDVO_TV_MASK)
1348 (SDVO_OUTPUT_SVID0 | SDVO_OUTPUT_CVBS0))
1349 mdelay(30); 1348 mdelay(30);
1350 1349
1351 if (!intel_sdvo_read_response(intel_sdvo, &response, 2)) 1350 if (!intel_sdvo_read_response(intel_sdvo, &response, 2))
@@ -2194,6 +2193,10 @@ intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, uint16_t flags)
2194 if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_CVBS0)) 2193 if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_CVBS0))
2195 return false; 2194 return false;
2196 2195
2196 if (flags & SDVO_OUTPUT_YPRPB0)
2197 if (!intel_sdvo_tv_init(intel_sdvo, SDVO_OUTPUT_YPRPB0))
2198 return false;
2199
2197 if (flags & SDVO_OUTPUT_RGB0) 2200 if (flags & SDVO_OUTPUT_RGB0)
2198 if (!intel_sdvo_analog_init(intel_sdvo, 0)) 2201 if (!intel_sdvo_analog_init(intel_sdvo, 0))
2199 return false; 2202 return false;