diff options
author | Dave Airlie <airlied@redhat.com> | 2010-04-19 23:11:45 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-04-19 23:11:45 -0400 |
commit | 97921a5b03d40681b3aed620a5e719710336c6df (patch) | |
tree | 33d6badc2afb50e87cbd232549c7708596ac12a7 /drivers/gpu/drm/i915/intel_modes.c | |
parent | 01bf0b64579ead8a82e7cfc32ae44bc667e7ad0f (diff) | |
parent | e15831656778d032f3c7655949f8cc3997f2b04a (diff) |
Merge remote branch 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next into drm-core-next
* 'anholt/drm-intel-next' of /home/airlied/kernel/drm-next: (48 commits)
agp/intel-gtt: kill previous_size assignments
agp/intel-gtt: kill intel_i830_tlbflush
agp/intel: split out gmch/gtt probe, part 1
agp/intel: kill mutli_gmch_chip
agp/intel: uncoditionally reconfigure driver on resume
agp/intel: split out the GTT support
agp/intel: introduce intel-agp.h header file
drm/i915: Don't touch PORT_HOTPLUG_EN in intel_dp_detect()
drm/i915/pch: Use minimal number of FDI lanes (v2)
drm/i915: Add the support of memory self-refresh on Ironlake
drm/i915: Move Pineview CxSR and watermark code into update_wm hook.
drm/i915: Only save/restore FBC on the platform that supports FBC
drm/i915: Fix the incorrect argument for SDVO SET_TV_format command
drm/i915: Add support of SDVO on Ibexpeak PCH
drm/i915: Don't enable pipe/plane/VCO early (wait for DPMS on).
drm/i915: do not read uninitialized ->dev_private
Revert "drm/i915: Use a dmi quirk to skip a broken SDVO TV output."
drm/i915: implement multifunction SDVO device support
drm/i915: remove unused intel_pipe_get_connector()
drm/i915: remove connector object in old output structure
...
Diffstat (limited to 'drivers/gpu/drm/i915/intel_modes.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_modes.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c index 8e5c83b2d120..4b1fd3d9c73c 100644 --- a/drivers/gpu/drm/i915/intel_modes.c +++ b/drivers/gpu/drm/i915/intel_modes.c | |||
@@ -54,9 +54,9 @@ bool intel_ddc_probe(struct intel_encoder *intel_encoder) | |||
54 | } | 54 | } |
55 | }; | 55 | }; |
56 | 56 | ||
57 | intel_i2c_quirk_set(intel_encoder->base.dev, true); | 57 | intel_i2c_quirk_set(intel_encoder->enc.dev, true); |
58 | ret = i2c_transfer(intel_encoder->ddc_bus, msgs, 2); | 58 | ret = i2c_transfer(intel_encoder->ddc_bus, msgs, 2); |
59 | intel_i2c_quirk_set(intel_encoder->base.dev, false); | 59 | intel_i2c_quirk_set(intel_encoder->enc.dev, false); |
60 | if (ret == 2) | 60 | if (ret == 2) |
61 | return true; | 61 | return true; |
62 | 62 | ||
@@ -66,22 +66,23 @@ bool intel_ddc_probe(struct intel_encoder *intel_encoder) | |||
66 | /** | 66 | /** |
67 | * intel_ddc_get_modes - get modelist from monitor | 67 | * intel_ddc_get_modes - get modelist from monitor |
68 | * @connector: DRM connector device to use | 68 | * @connector: DRM connector device to use |
69 | * @adapter: i2c adapter | ||
69 | * | 70 | * |
70 | * Fetch the EDID information from @connector using the DDC bus. | 71 | * Fetch the EDID information from @connector using the DDC bus. |
71 | */ | 72 | */ |
72 | int intel_ddc_get_modes(struct intel_encoder *intel_encoder) | 73 | int intel_ddc_get_modes(struct drm_connector *connector, |
74 | struct i2c_adapter *adapter) | ||
73 | { | 75 | { |
74 | struct edid *edid; | 76 | struct edid *edid; |
75 | int ret = 0; | 77 | int ret = 0; |
76 | 78 | ||
77 | intel_i2c_quirk_set(intel_encoder->base.dev, true); | 79 | intel_i2c_quirk_set(connector->dev, true); |
78 | edid = drm_get_edid(&intel_encoder->base, intel_encoder->ddc_bus); | 80 | edid = drm_get_edid(connector, adapter); |
79 | intel_i2c_quirk_set(intel_encoder->base.dev, false); | 81 | intel_i2c_quirk_set(connector->dev, false); |
80 | if (edid) { | 82 | if (edid) { |
81 | drm_mode_connector_update_edid_property(&intel_encoder->base, | 83 | drm_mode_connector_update_edid_property(connector, edid); |
82 | edid); | 84 | ret = drm_add_edid_modes(connector, edid); |
83 | ret = drm_add_edid_modes(&intel_encoder->base, edid); | 85 | connector->display_info.raw_edid = NULL; |
84 | intel_encoder->base.display_info.raw_edid = NULL; | ||
85 | kfree(edid); | 86 | kfree(edid); |
86 | } | 87 | } |
87 | 88 | ||