Commit 8e36ed00 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms: hpd cleanup



- Use radeon hpd enum consistently (in both hotplug and dp)
- Legacy r100 with DVI should be HPD_1 not NONE
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 2bfcc0fc
...@@ -351,7 +351,7 @@ retry: ...@@ -351,7 +351,7 @@ retry:
args.v1.ucChannelID = chan->rec.i2c_id; args.v1.ucChannelID = chan->rec.i2c_id;
args.v1.ucDelay = delay / 10; args.v1.ucDelay = delay / 10;
if (ASIC_IS_DCE4(rdev)) 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); atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
......
...@@ -549,7 +549,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) ...@@ -549,7 +549,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
ATOM_I2C_RECORD *i2c_record; ATOM_I2C_RECORD *i2c_record;
ATOM_HPD_INT_RECORD *hpd_record; ATOM_HPD_INT_RECORD *hpd_record;
ATOM_I2C_ID_CONFIG_ACCESS *i2c_config; ATOM_I2C_ID_CONFIG_ACCESS *i2c_config;
hpd.hpd = RADEON_HPD_NONE;
while (record->ucRecordType > 0 while (record->ucRecordType > 0
&& record-> && record->
...@@ -590,7 +589,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) ...@@ -590,7 +589,7 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
} }
/* needed for aux chan transactions */ /* 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); conn_id = le16_to_cpu(path->usConnObjectId);
......
...@@ -600,7 +600,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde ...@@ -600,7 +600,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
} }
i2c.mm_i2c = false; i2c.mm_i2c = false;
i2c.i2c_id = 0; i2c.i2c_id = 0;
i2c.hpd_id = 0; i2c.hpd = RADEON_HPD_NONE;
if (ddc_line) if (ddc_line)
i2c.valid = true; i2c.valid = true;
...@@ -2198,7 +2198,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev) ...@@ -2198,7 +2198,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
ATOM_DEVICE_DFP1_SUPPORT); ATOM_DEVICE_DFP1_SUPPORT);
ddc_i2c = combios_setup_i2c_bus(rdev, RADEON_GPIO_DVI_DDC); 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, radeon_add_legacy_connector(dev,
0, 0,
ATOM_DEVICE_CRT1_SUPPORT | ATOM_DEVICE_CRT1_SUPPORT |
......
...@@ -66,6 +66,16 @@ enum radeon_tv_std { ...@@ -66,6 +66,16 @@ enum radeon_tv_std {
TV_STD_PAL_N, 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 /* radeon gpio-based i2c
* 1. "mask" reg and bits * 1. "mask" reg and bits
* grabs the gpio pins for software use * grabs the gpio pins for software use
...@@ -85,7 +95,7 @@ struct radeon_i2c_bus_rec { ...@@ -85,7 +95,7 @@ struct radeon_i2c_bus_rec {
/* id used by atom */ /* id used by atom */
uint8_t i2c_id; uint8_t i2c_id;
/* id used by atom */ /* id used by atom */
uint8_t hpd_id; enum radeon_hpd_id hpd;
/* can be used with hw i2c engine */ /* can be used with hw i2c engine */
bool hw_capable; bool hw_capable;
/* uses multi-media i2c engine */ /* uses multi-media i2c engine */
...@@ -370,16 +380,6 @@ struct radeon_gpio_rec { ...@@ -370,16 +380,6 @@ struct radeon_gpio_rec {
u32 mask; 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 { struct radeon_hpd {
enum radeon_hpd_id hpd; enum radeon_hpd_id hpd;
u8 plugged_state; u8 plugged_state;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment