summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_drv.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-09-24 12:52:03 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-09-28 13:29:10 +0100
commite957d7720a2797b31231616014b68f4f6203145e (patch)
tree07fd5eb66781405b408830381c99b45c26d34f85 /drivers/gpu/drm/i915/i915_drv.h
parenta56ba56c275b1c2b982c8901ab92bf5a0fd0b757 (diff)
downloadlwn-e957d7720a2797b31231616014b68f4f6203145e.tar.gz
lwn-e957d7720a2797b31231616014b68f4f6203145e.zip
drm/i915/sdvo: Fix GMBUSification
Besides a couple of bugs when writing more than a single byte along the GMBUS, SDVO was completely failing whilst trying to use GMBUS, so use bit banging instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 710d59ea479c..0bb255331764 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -132,10 +132,12 @@ struct drm_i915_fence_reg {
};
struct sdvo_device_mapping {
+ u8 initialized;
u8 dvo_port;
u8 slave_addr;
u8 dvo_wiring;
- u8 initialized;
+ u8 i2c_pin;
+ u8 i2c_speed;
u8 ddc_pin;
};
@@ -248,8 +250,8 @@ typedef struct drm_i915_private {
struct intel_gmbus {
struct i2c_adapter adapter;
- struct i2c_adapter *force_bitbanging;
- int pin;
+ struct i2c_adapter *force_bit;
+ u32 reg0;
} *gmbus;
struct pci_dev *bridge_dev;
@@ -1104,6 +1106,8 @@ extern int i915_restore_state(struct drm_device *dev);
/* intel_i2c.c */
extern int intel_setup_gmbus(struct drm_device *dev);
extern void intel_teardown_gmbus(struct drm_device *dev);
+extern void intel_gmbus_set_speed(struct i2c_adapter *adapter, int speed);
+extern void intel_gmbus_force_bit(struct i2c_adapter *adapter, bool force_bit);
extern void intel_i2c_reset(struct drm_device *dev);
/* intel_opregion.c */