Rev 1403 | Rev 1428 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1403 | Rev 1404 | ||
---|---|---|---|
Line 578... | Line 578... | ||
578 | static enum drm_connector_status radeon_vga_detect(struct drm_connector *connector) |
578 | static enum drm_connector_status radeon_vga_detect(struct drm_connector *connector) |
579 | { |
579 | { |
580 | struct radeon_connector *radeon_connector = to_radeon_connector(connector); |
580 | struct radeon_connector *radeon_connector = to_radeon_connector(connector); |
581 | struct drm_encoder *encoder; |
581 | struct drm_encoder *encoder; |
582 | struct drm_encoder_helper_funcs *encoder_funcs; |
582 | struct drm_encoder_helper_funcs *encoder_funcs; |
583 | bool dret; |
583 | bool dret = false; |
584 | enum drm_connector_status ret = connector_status_disconnected; |
584 | enum drm_connector_status ret = connector_status_disconnected; |
Line 585... | Line 585... | ||
585 | 585 | ||
586 | encoder = radeon_best_single_encoder(connector); |
586 | encoder = radeon_best_single_encoder(connector); |
587 | if (!encoder) |
587 | if (!encoder) |
Line -... | Line 588... | ||
- | 588 | ret = connector_status_disconnected; |
|
588 | ret = connector_status_disconnected; |
589 | |
589 | 590 | if (radeon_connector->ddc_bus) { |
|
590 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); |
591 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); |
- | 592 | dret = radeon_ddc_probe(radeon_connector); |
|
591 | dret = radeon_ddc_probe(radeon_connector); |
593 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); |
592 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); |
594 | } |
593 | if (dret) { |
595 | if (dret) { |
594 | if (radeon_connector->edid) { |
596 | if (radeon_connector->edid) { |
595 | kfree(radeon_connector->edid); |
597 | kfree(radeon_connector->edid); |
Line 738... | Line 740... | ||
738 | struct drm_encoder *encoder = NULL; |
740 | struct drm_encoder *encoder = NULL; |
739 | struct drm_encoder_helper_funcs *encoder_funcs; |
741 | struct drm_encoder_helper_funcs *encoder_funcs; |
740 | struct drm_mode_object *obj; |
742 | struct drm_mode_object *obj; |
741 | int i; |
743 | int i; |
742 | enum drm_connector_status ret = connector_status_disconnected; |
744 | enum drm_connector_status ret = connector_status_disconnected; |
743 | bool dret; |
745 | bool dret = false; |
Line -... | Line 746... | ||
- | 746 | ||
744 | 747 | if (radeon_connector->ddc_bus) { |
|
745 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); |
748 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 1); |
746 | dret = radeon_ddc_probe(radeon_connector); |
749 | dret = radeon_ddc_probe(radeon_connector); |
- | 750 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); |
|
747 | radeon_i2c_do_lock(radeon_connector->ddc_bus, 0); |
751 | } |
748 | if (dret) { |
752 | if (dret) { |
749 | if (radeon_connector->edid) { |
753 | if (radeon_connector->edid) { |
750 | kfree(radeon_connector->edid); |
754 | kfree(radeon_connector->edid); |
751 | radeon_connector->edid = NULL; |
755 | radeon_connector->edid = NULL; |
Line 1341... | Line 1345... | ||
1341 | */ |
1345 | */ |
1342 | if (rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480) |
1346 | if (rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480) |
1343 | radeon_connector->dac_load_detect = false; |
1347 | radeon_connector->dac_load_detect = false; |
1344 | drm_connector_attach_property(&radeon_connector->base, |
1348 | drm_connector_attach_property(&radeon_connector->base, |
1345 | rdev->mode_info.load_detect_property, |
1349 | rdev->mode_info.load_detect_property, |
1346 | 1); |
1350 | radeon_connector->dac_load_detect); |
1347 | drm_connector_attach_property(&radeon_connector->base, |
1351 | drm_connector_attach_property(&radeon_connector->base, |
1348 | rdev->mode_info.tv_std_property, |
1352 | rdev->mode_info.tv_std_property, |
1349 | radeon_combios_get_tv_info(rdev)); |
1353 | radeon_combios_get_tv_info(rdev)); |
1350 | } |
1354 | } |
1351 | break; |
1355 | break; |