diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-12-22 15:04:48 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-05 00:10:19 -0500 |
commit | 5a6f98f5bff7f975c61d56b5c756b5a96c4db167 (patch) | |
tree | fc02a4d8e8440279a51c32792fcf90e9046f6dc6 /drivers/gpu/drm/radeon/radeon_mode.h | |
parent | 5ff55717674470b96562f931f778c878080755b7 (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.h | 25 |
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 | ||
162 | struct i2c_algo_radeon_data { | ||
163 | struct i2c_adapter bit_adapter; | ||
164 | struct i2c_algo_bit_data bit_data; | ||
165 | }; | ||
166 | |||
162 | struct radeon_i2c_chan { | 167 | struct 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); |
413 | extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c); | 418 | extern void radeon_i2c_destroy(struct radeon_i2c_chan *i2c); |
414 | extern void radeon_i2c_sw_get_byte(struct radeon_i2c_chan *i2c_bus, | 419 | extern void radeon_i2c_destroy_dp(struct radeon_i2c_chan *i2c); |
415 | u8 slave_addr, | 420 | extern void radeon_i2c_get_byte(struct radeon_i2c_chan *i2c_bus, |
416 | u8 addr, | 421 | u8 slave_addr, |
417 | u8 *val); | 422 | u8 addr, |
418 | extern void radeon_i2c_sw_put_byte(struct radeon_i2c_chan *i2c, | 423 | u8 *val); |
419 | u8 slave_addr, | 424 | extern 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); | ||
422 | extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); | 428 | extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); |
423 | extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector); | 429 | extern 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); |
532 | void radeon_legacy_init_crtc(struct drm_device *dev, | 538 | void radeon_legacy_init_crtc(struct drm_device *dev, |
533 | struct radeon_crtc *radeon_crtc); | 539 | struct radeon_crtc *radeon_crtc); |
534 | extern void radeon_i2c_do_lock(struct radeon_i2c_chan *i2c, int lock_state); | ||
535 | 540 | ||
536 | void radeon_get_clock_info(struct drm_device *dev); | 541 | void radeon_get_clock_info(struct drm_device *dev); |
537 | 542 | ||