drm/radeon/kms: hpd cleanup
authorAlex Deucher <alexdeucher@gmail.com>
Tue, 18 May 2010 23:26:47 +0000 (19:26 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 19 May 2010 00:31:41 +0000 (10:31 +1000)
- Use radeon hpd enum consistently (in both hotplug and dp)
- Legacy r100 with DVI should be HPD_1 not NONE

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/radeon/radeon_atombios.c
drivers/gpu/drm/radeon/radeon_combios.c
drivers/gpu/drm/radeon/radeon_mode.h

index 28b31c64f48dd4eee064356c1d8a2bd840165f0d..abffb1499e227a39b24170c3c0212d0613c41961 100644 (file)
@@ -351,7 +351,7 @@ retry:
        args.v1.ucChannelID = chan->rec.i2c_id;
        args.v1.ucDelay = delay / 10;
        if (ASIC_IS_DCE4(rdev))
-               args.v2.ucHPD_ID = chan->rec.hpd_id;
+               args.v2.ucHPD_ID = chan->rec.hpd;
 
        atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
 
index 8cb4173365c37274d63c00233ff506583710fa71..6e733fdc334991ce9828dfe40e482b2e2cb9b85b 100644 (file)
@@ -549,7 +549,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
                                                ATOM_I2C_RECORD *i2c_record;
                                                ATOM_HPD_INT_RECORD *hpd_record;
                                                ATOM_I2C_ID_CONFIG_ACCESS *i2c_config;
-                                               hpd.hpd = RADEON_HPD_NONE;
 
                                                while (record->ucRecordType > 0
                                                       && record->
@@ -590,7 +589,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
                        }
 
                        /* needed for aux chan transactions */
-                       ddc_bus.hpd_id = hpd.hpd ? (hpd.hpd - 1) : 0;
+                       ddc_bus.hpd = hpd.hpd;
 
                        conn_id = le16_to_cpu(path->usConnObjectId);
 
index 93f18bbf744ae916abd967c5c8d3a234bc937e65..7b5e10d3e9c9223556f3319aba979d5cecc19c15 100644 (file)
@@ -600,7 +600,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
        }
        i2c.mm_i2c = false;
        i2c.i2c_id = 0;
-       i2c.hpd_id = 0;
+       i2c.hpd = RADEON_HPD_NONE;
 
        if (ddc_line)
                i2c.valid = true;
@@ -2198,7 +2198,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
                                                  ATOM_DEVICE_DFP1_SUPPORT);
 
                        ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC);
-                       hpd.hpd = RADEON_HPD_NONE;
+                       hpd.hpd = RADEON_HPD_1;
                        radeon_add_legacy_connector(dev,
                                                    0,
                                                    ATOM_DEVICE_CRT1_SUPPORT |
index 71e1f0e7438d0d4db3163de9a143093e47d0bb12..67358baf28b2930c4dc999a2b6e63a7e5c9e8d98 100644 (file)
@@ -66,6 +66,16 @@ enum radeon_tv_std {
        TV_STD_PAL_N,
 };
 
+enum radeon_hpd_id {
+       RADEON_HPD_1 = 0,
+       RADEON_HPD_2,
+       RADEON_HPD_3,
+       RADEON_HPD_4,
+       RADEON_HPD_5,
+       RADEON_HPD_6,
+       RADEON_HPD_NONE = 0xff,
+};
+
 /* radeon gpio-based i2c
  * 1. "mask" reg and bits
  *    grabs the gpio pins for software use
@@ -85,7 +95,7 @@ struct radeon_i2c_bus_rec {
        /* id used by atom */
        uint8_t i2c_id;
        /* id used by atom */
-       uint8_t hpd_id;
+       enum radeon_hpd_id hpd;
        /* can be used with hw i2c engine */
        bool hw_capable;
        /* uses multi-media i2c engine */
@@ -370,16 +380,6 @@ struct radeon_gpio_rec {
        u32 mask;
 };
 
-enum radeon_hpd_id {
-       RADEON_HPD_NONE = 0,
-       RADEON_HPD_1,
-       RADEON_HPD_2,
-       RADEON_HPD_3,
-       RADEON_HPD_4,
-       RADEON_HPD_5,
-       RADEON_HPD_6,
-};
-
 struct radeon_hpd {
        enum radeon_hpd_id hpd;
        u8 plugged_state;