mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 01:31:44 +00:00
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: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
2bfcc0fc69
commit
8e36ed0084
@ -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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 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
|
|||||||
}
|
}
|
||||||
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)
|
|||||||
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 {
|
|||||||
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 {
|
|||||||
/* 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 {
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user