diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-09-30 17:56:41 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-09 12:04:08 -0400 |
commit | a0b1c7a5197293d6206b245b45edc3f508aadab6 (patch) | |
tree | 239f8748ffbb46200fd03e3d4f43f48606f4cdab /drivers | |
parent | f534bc0b2212f3dc317bdaea5dfff13526f2ac17 (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.c | 9 |
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; |