aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_mode.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-08-05 21:21:18 -0400
committerDave Airlie <airlied@redhat.com>2010-08-09 20:46:50 -0400
commit26b5bc986423cf3887e09188cb662ed651c5374d (patch)
tree568934e975f31029460b8e90f22580bdb84b19ec /drivers/gpu/drm/radeon/radeon_mode.h
parent179e8078a768be8c18539bebe44dd94447142ccf (diff)
drm/radeon/kms: add support for router objects
router objects are found on systems that use a mux to control ddc line to connector routing or to control the actual clock and data routing from the chip to the connectors. This patch implements ddc line routing. 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.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index 02d4e2af6180..5bbc086b9267 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -400,6 +400,16 @@ struct radeon_hpd {
400 struct radeon_gpio_rec gpio; 400 struct radeon_gpio_rec gpio;
401}; 401};
402 402
403struct radeon_router {
404 bool valid;
405 u32 router_id;
406 struct radeon_i2c_bus_rec i2c_info;
407 u8 i2c_addr;
408 u8 mux_type;
409 u8 mux_control_pin;
410 u8 mux_state;
411};
412
403struct radeon_connector { 413struct radeon_connector {
404 struct drm_connector base; 414 struct drm_connector base;
405 uint32_t connector_id; 415 uint32_t connector_id;
@@ -415,6 +425,8 @@ struct radeon_connector {
415 bool dac_load_detect; 425 bool dac_load_detect;
416 uint16_t connector_object_id; 426 uint16_t connector_object_id;
417 struct radeon_hpd hpd; 427 struct radeon_hpd hpd;
428 struct radeon_router router;
429 struct radeon_i2c_chan *router_bus;
418}; 430};
419 431
420struct radeon_framebuffer { 432struct radeon_framebuffer {
@@ -471,6 +483,7 @@ extern void radeon_i2c_put_byte(struct radeon_i2c_chan *i2c,
471 u8 slave_addr, 483 u8 slave_addr,
472 u8 addr, 484 u8 addr,
473 u8 val); 485 u8 val);
486extern void radeon_router_select_port(struct radeon_connector *radeon_connector);
474extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); 487extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector);
475extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector); 488extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector);
476 489