aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_mode.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-12-22 15:04:48 -0500
committerDave Airlie <airlied@redhat.com>2010-02-05 00:10:19 -0500
commit5a6f98f5bff7f975c61d56b5c756b5a96c4db167 (patch)
treefc02a4d8e8440279a51c32792fcf90e9046f6dc6 /drivers/gpu/drm/radeon/radeon_mode.h
parent5ff55717674470b96562f931f778c878080755b7 (diff)
drm/radeon/kms: add radeon i2c algo
Currently just a wrapper around bit algo Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_mode.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_mode.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index e81b2aeb6a8f..b884bacf09ff 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -159,12 +159,17 @@ struct radeon_pll {
159 uint32_t id; 159 uint32_t id;
160}; 160};
161 161
162struct i2c_algo_radeon_data {
163 struct i2c_adapter bit_adapter;
164 struct i2c_algo_bit_data bit_data;
165};
166
162struct radeon_i2c_chan { 167struct radeon_i2c_chan {
163 struct i2c_adapter adapter; 168 struct i2c_adapter adapter;
164 struct drm_device *dev; 169 struct drm_device *dev;
165 union { 170 union {
166 struct i2c_algo_dp_aux_data dp; 171 struct i2c_algo_dp_aux_data dp;
167 struct i2c_algo_bit_data bit; 172 struct i2c_algo_radeon_data radeon;
168 } algo; 173 } algo;
169 struct radeon_i2c_bus_rec rec; 174 struct radeon_i2c_bus_rec rec;
170}; 175};
@@ -411,14 +416,15 @@ extern struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev,
411 struct radeon_i2c_bus_rec *rec, 416 struct radeon_i2c_bus_rec *rec,
412 const char *name); 417 const char *name);
413extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c); 418extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c);
414extern void radeon_i2c_sw_get_byte(struct radeon_i2c_chan *i2c_bus, 419extern void radeon_i2c_destroy_dp(struct radeon_i2c_chan *i2c);
415 u8 slave_addr, 420extern void radeon_i2c_get_byte(struct radeon_i2c_chan *i2c_bus,
416 u8 addr, 421 u8 slave_addr,
417 u8 *val); 422 u8 addr,
418extern void radeon_i2c_sw_put_byte(struct radeon_i2c_chan *i2c, 423 u8 *val);
419 u8 slave_addr, 424extern void radeon_i2c_put_byte(struct radeon_i2c_chan *i2c,
420 u8 addr, 425 u8 slave_addr,
421 u8 val); 426 u8 addr,
427 u8 val);
422extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); 428extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector);
423extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector); 429extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector);
424 430
@@ -531,7 +537,6 @@ void radeon_atombios_init_crtc(struct drm_device *dev,
531 struct radeon_crtc *radeon_crtc); 537 struct radeon_crtc *radeon_crtc);
532void radeon_legacy_init_crtc(struct drm_device *dev, 538void radeon_legacy_init_crtc(struct drm_device *dev,
533 struct radeon_crtc *radeon_crtc); 539 struct radeon_crtc *radeon_crtc);
534extern void radeon_i2c_do_lock(struct radeon_i2c_chan *i2c, int lock_state);
535 540
536void radeon_get_clock_info(struct drm_device *dev); 541void radeon_get_clock_info(struct drm_device *dev);
537 542