~ubuntu-branches/ubuntu/quantal/linux-linaro-mx51/quantal

« back to all changes in this revision

Viewing changes to drivers/gpu/drm/i915/intel_crt.c

  • Committer: Package Import Robot
  • Author(s): John Rigby, John Rigby
  • Date: 2011-09-26 10:44:23 UTC
  • Revision ID: package-import@ubuntu.com-20110926104423-3o58a3c1bj7x00rs
Tags: 3.0.0-1007.9
[ John Rigby ]

Enable crypto modules and remove crypto-modules from
exclude-module files
LP: #826021

Show diffs side-by-side

added added

removed removed

Lines of Context:
288
288
                 * This may be a DVI-I connector with a shared DDC
289
289
                 * link between analog and digital outputs, so we
290
290
                 * have to check the EDID input spec of the attached device.
 
291
                 *
 
292
                 * On the other hand, what should we do if it is a broken EDID?
291
293
                 */
292
294
                if (edid != NULL) {
293
295
                        is_digital = edid->input & DRM_EDID_INPUT_DIGITAL;
298
300
                if (!is_digital) {
299
301
                        DRM_DEBUG_KMS("CRT detected via DDC:0x50 [EDID]\n");
300
302
                        return true;
 
303
                } else {
 
304
                        DRM_DEBUG_KMS("CRT not detected via DDC:0x50 [EDID reports a digital panel]\n");
301
305
                }
302
306
        }
303
307
 
305
309
}
306
310
 
307
311
static enum drm_connector_status
308
 
intel_crt_load_detect(struct drm_crtc *crtc, struct intel_crt *crt)
 
312
intel_crt_load_detect(struct intel_crt *crt)
309
313
{
310
 
        struct drm_encoder *encoder = &crt->base.base;
311
 
        struct drm_device *dev = encoder->dev;
 
314
        struct drm_device *dev = crt->base.base.dev;
312
315
        struct drm_i915_private *dev_priv = dev->dev_private;
313
 
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
314
 
        uint32_t pipe = intel_crtc->pipe;
 
316
        uint32_t pipe = to_intel_crtc(crt->base.base.crtc)->pipe;
315
317
        uint32_t save_bclrpat;
316
318
        uint32_t save_vtotal;
317
319
        uint32_t vtotal, vactive;
432
434
        struct drm_device *dev = connector->dev;
433
435
        struct intel_crt *crt = intel_attached_crt(connector);
434
436
        struct drm_crtc *crtc;
435
 
        int dpms_mode;
436
437
        enum drm_connector_status status;
437
438
 
438
439
        if (I915_HAS_HOTPLUG(dev)) {
454
455
        /* for pre-945g platforms use load detect */
455
456
        crtc = crt->base.base.crtc;
456
457
        if (crtc && crtc->enabled) {
457
 
                status = intel_crt_load_detect(crtc, crt);
 
458
                status = intel_crt_load_detect(crt);
458
459
        } else {
459
 
                crtc = intel_get_load_detect_pipe(&crt->base, connector,
460
 
                                                  NULL, &dpms_mode);
461
 
                if (crtc) {
 
460
                struct intel_load_detect_pipe tmp;
 
461
 
 
462
                if (intel_get_load_detect_pipe(&crt->base, connector, NULL,
 
463
                                               &tmp)) {
462
464
                        if (intel_crt_detect_ddc(connector))
463
465
                                status = connector_status_connected;
464
466
                        else
465
 
                                status = intel_crt_load_detect(crtc, crt);
466
 
                        intel_release_load_detect_pipe(&crt->base,
467
 
                                                       connector, dpms_mode);
 
467
                                status = intel_crt_load_detect(crt);
 
468
                        intel_release_load_detect_pipe(&crt->base, connector,
 
469
                                                       &tmp);
468
470
                } else
469
471
                        status = connector_status_unknown;
470
472
        }