Lines Matching defs:rdev

136 	struct radeon_device *rdev = dev->dev_private;
140 if (!rdev->bios)
365 size = RBIOS8(rdev->bios_header_start + 0x6);
368 offset = RBIOS16(rdev->bios_header_start + check_offset);
373 bool radeon_combios_check_hardcoded_edid(struct radeon_device *rdev)
378 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE);
382 raw = rdev->bios + edid_info;
395 rdev->mode_info.bios_hardcoded_edid = edid;
396 rdev->mode_info.bios_hardcoded_edid_size = size;
402 radeon_bios_get_hardcoded_edid(struct radeon_device *rdev)
406 if (rdev->mode_info.bios_hardcoded_edid) {
407 edid = kmalloc(rdev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL);
410 (unsigned char *)rdev->mode_info.bios_hardcoded_edid,
411 rdev->mode_info.bios_hardcoded_edid_size);
418 static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rdev,
466 if (rdev->family == CHIP_RS300 ||
467 rdev->family == CHIP_RS400 ||
468 rdev->family == CHIP_RS480)
470 else if (rdev->family == CHIP_R300 ||
471 rdev->family == CHIP_R350) {
478 if (rdev->family == CHIP_R200 ||
479 rdev->family == CHIP_R300 ||
480 rdev->family == CHIP_R350) {
483 } else if (rdev->family == CHIP_RS300 ||
484 rdev->family == CHIP_RS400 ||
485 rdev->family == CHIP_RS480)
487 else if (rdev->family >= CHIP_RV350) {
557 switch (rdev->family) {
646 static struct radeon_i2c_bus_rec radeon_combios_get_i2c_info_from_table(struct radeon_device *rdev)
648 struct drm_device *dev = rdev->ddev;
665 i2c = combios_setup_i2c_bus(rdev, DDC_MONID,
674 void radeon_combios_i2c_init(struct radeon_device *rdev)
676 struct drm_device *dev = rdev->ddev;
691 i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
692 rdev->i2c_bus[0] = radeon_i2c_create(dev, &i2c, "DVI_DDC");
694 i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
695 rdev->i2c_bus[1] = radeon_i2c_create(dev, &i2c, "VGA_DDC");
702 rdev->i2c_bus[2] = radeon_i2c_create(dev, &i2c, "MM_I2C");
704 if (rdev->family == CHIP_R300 ||
705 rdev->family == CHIP_R350) {
707 } else if (rdev->family == CHIP_RS300 ||
708 rdev->family == CHIP_RS400 ||
709 rdev->family == CHIP_RS480) {
711 i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
712 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
715 i2c = radeon_combios_get_i2c_info_from_table(rdev);
717 rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "GPIOPAD_MASK");
718 } else if ((rdev->family == CHIP_R200) ||
719 (rdev->family >= CHIP_R300)) {
721 i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
722 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
725 i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
726 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
728 i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
729 rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "CRT2_DDC");
735 struct radeon_device *rdev = dev->dev_private;
737 struct radeon_pll *p1pll = &rdev->clock.p1pll;
738 struct radeon_pll *p2pll = &rdev->clock.p2pll;
739 struct radeon_pll *spll = &rdev->clock.spll;
740 struct radeon_pll *mpll = &rdev->clock.mpll;
803 rdev->clock.default_sclk = sclk;
804 rdev->clock.default_mclk = mclk;
807 rdev->clock.max_pixel_clock = RBIOS32(pll_info + 0x16);
809 rdev->clock.max_pixel_clock = 35000; /* might need something asic specific */
816 bool radeon_combios_sideport_present(struct radeon_device *rdev)
818 struct drm_device *dev = rdev->ddev;
822 if (rdev->family == CHIP_RS400)
855 static void radeon_legacy_get_primary_dac_info_from_table(struct radeon_device *rdev,
858 p_dac->ps2_pdac_adj = default_primarydac_adj[rdev->family];
867 struct radeon_device *rdev = dev->dev_private;
913 radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac);
919 radeon_combios_get_tv_info(struct radeon_device *rdev)
921 struct drm_device *dev = rdev->ddev;
1002 static void radeon_legacy_get_tv_dac_info_from_table(struct radeon_device *rdev,
1005 tv_dac->ps2_tvdac_adj = default_tvdac_adj[rdev->family];
1006 if ((rdev->flags & RADEON_IS_MOBILITY) && (rdev->family == CHIP_RV250))
1018 struct radeon_device *rdev = dev->dev_private;
1063 tv_dac->tv_std = radeon_combios_get_tv_info(rdev);
1098 radeon_legacy_get_tv_dac_info_from_table(rdev, tv_dac);
1105 *rdev)
1177 struct radeon_device *rdev = dev->dev_private;
1289 lvds = radeon_legacy_get_lvds_info_from_regs(rdev);
1322 struct radeon_device *rdev = dev->dev_private;
1327 default_tmds_pll[rdev->family][i].value;
1328 tmds->tmds_pll[i].freq = default_tmds_pll[rdev->family][i].freq;
1338 struct radeon_device *rdev = dev->dev_private;
1391 struct radeon_device *rdev = dev->dev_private;
1395 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1396 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1399 switch (rdev->mode_info.connector_table) {
1415 struct radeon_device *rdev = dev->dev_private;
1422 if (rdev->flags & RADEON_IS_IGP) {
1423 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1424 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1442 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 0, 0);
1443 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1457 struct radeon_device *rdev = dev->dev_private;
1461 rdev->mode_info.connector_table = radeon_connector_table;
1462 if (rdev->mode_info.connector_table == CT_NONE) {
1466 rdev->mode_info.connector_table = CT_POWERBOOK_VGA;
1470 rdev->mode_info.connector_table = CT_POWERBOOK_INTERNAL;
1477 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1480 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1486 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1494 rdev->mode_info.connector_table = CT_IBOOK;
1497 rdev->mode_info.connector_table = CT_MAC_G4_SILVER;
1500 rdev->mode_info.connector_table = CT_EMAC;
1503 rdev->mode_info.connector_table = CT_MINI_INTERNAL;
1506 rdev->mode_info.connector_table = CT_MINI_EXTERNAL;
1510 rdev->mode_info.connector_table = CT_IMAC_G5_ISIGHT;
1511 } else if ((rdev->pdev->device == 0x4a48) &&
1512 (rdev->pdev->subsystem_vendor == 0x1002) &&
1513 (rdev->pdev->subsystem_device == 0x4a48)) {
1515 rdev->mode_info.connector_table = CT_MAC_X800;
1518 (rdev->pdev->device == 0x4150) &&
1519 (rdev->pdev->subsystem_vendor == 0x1002) &&
1520 (rdev->pdev->subsystem_device == 0x4150)) {
1522 rdev->mode_info.connector_table = CT_MAC_G5_9600;
1523 } else if ((rdev->pdev->device == 0x4c66) &&
1524 (rdev->pdev->subsystem_vendor == 0x1002) &&
1525 (rdev->pdev->subsystem_device == 0x4c66)) {
1527 rdev->mode_info.connector_table = CT_SAM440EP;
1531 if (ASIC_IS_RN50(rdev))
1532 rdev->mode_info.connector_table = CT_RN50_POWER;
1535 rdev->mode_info.connector_table = CT_GENERIC;
1538 switch (rdev->mode_info.connector_table) {
1541 rdev->mode_info.connector_table);
1543 if (rdev->flags & RADEON_SINGLE_CRTC) {
1545 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1558 } else if (rdev->flags & RADEON_IS_MOBILITY) {
1560 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_NONE_DETECTED, 0, 0);
1575 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1590 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1611 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1626 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) {
1645 rdev->mode_info.connector_table);
1647 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1659 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1686 rdev->mode_info.connector_table);
1688 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1700 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1735 rdev->mode_info.connector_table);
1737 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1749 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1783 rdev->mode_info.connector_table);
1785 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1797 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1824 rdev->mode_info.connector_table);
1826 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1861 rdev->mode_info.connector_table);
1863 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1897 rdev->mode_info.connector_table);
1899 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1911 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1938 rdev->mode_info.connector_table);
1940 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1952 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1979 rdev->mode_info.connector_table);
1981 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1992 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
2006 rdev->mode_info.connector_table);
2008 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2027 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
2048 rdev->mode_info.connector_table);
2050 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2069 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2103 rdev->mode_info.connector_table);
2105 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_NONE_DETECTED, 0, 0);
2117 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2136 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2164 rdev->mode_info.connector_table);
2166 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2185 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2212 rdev->mode_info.connector_table);
2274 struct radeon_device *rdev = dev->dev_private;
2277 if (rdev->flags & RADEON_IS_IGP) {
2309 struct radeon_device *rdev = dev->dev_private;
2332 ddc_i2c = radeon_combios_get_i2c_info_from_table(rdev);
2334 ddc_i2c = combios_setup_i2c_bus(rdev, ddc_type, 0, 0);
2512 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2532 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2548 if (rdev->flags & RADEON_IS_MOBILITY || rdev->flags & RADEON_IS_IGP) {
2567 combios_setup_i2c_bus(rdev,
2571 radeon_i2c_add(rdev, &ddc_i2c, "LCD");
2575 combios_setup_i2c_bus(rdev,
2579 radeon_i2c_add(rdev, &ddc_i2c, "LCD");
2583 combios_setup_i2c_bus(rdev, ddc_type, 0, 0);
2602 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) {
2638 void radeon_combios_get_power_modes(struct radeon_device *rdev)
2640 struct drm_device *dev = rdev->ddev;
2646 rdev->pm.default_power_state_index = -1;
2649 rdev->pm.power_state = kcalloc(2, sizeof(struct radeon_power_state),
2651 if (rdev->pm.power_state) {
2653 rdev->pm.power_state[0].clock_info =
2656 rdev->pm.power_state[1].clock_info =
2659 if (!rdev->pm.power_state[0].clock_info ||
2660 !rdev->pm.power_state[1].clock_info)
2698 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 1 << clk_bit, 1 << data_bit);
2700 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 0, 0);
2701 rdev->pm.i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
2702 if (rdev->pm.i2c_bus) {
2707 i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
2717 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
2718 rdev->pm.i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
2719 if (rdev->pm.i2c_bus) {
2724 i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
2731 if (rdev->flags & RADEON_IS_MOBILITY) {
2736 rdev->pm.power_state[state_index].num_clock_modes = 1;
2737 rdev->pm.power_state[state_index].clock_info[0].mclk = RBIOS32(offset + 0x5 + 0x2);
2738 rdev->pm.power_state[state_index].clock_info[0].sclk = RBIOS32(offset + 0x5 + 0x6);
2739 if ((rdev->pm.power_state[state_index].clock_info[0].mclk == 0) ||
2740 (rdev->pm.power_state[state_index].clock_info[0].sclk == 0))
2742 rdev->pm.power_state[state_index].type =
2747 rdev->pm.power_state[state_index].misc = misc;
2748 rdev->pm.power_state[state_index].misc2 = misc2;
2750 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_GPIO;
2752 rdev->pm.power_state[state_index].clock_info[0].voltage.active_high =
2755 rdev->pm.power_state[state_index].clock_info[0].voltage.active_high =
2757 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.valid = true;
2759 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.reg =
2762 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.mask = (1 << tmp);
2767 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.reg =
2770 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.mask = (1 << tmp);
2772 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.valid = false;
2777 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 0;
2780 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 33;
2783 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 66;
2786 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 99;
2789 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 132;
2793 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_NONE;
2795 rdev->pm.power_state[state_index].pcie_lanes =
2797 rdev->pm.power_state[state_index].flags = RADEON_PM_STATE_SINGLE_DISPLAY_ONLY;
2808 rdev->pm.power_state[state_index].type =
2810 rdev->pm.power_state[state_index].num_clock_modes = 1;
2811 rdev->pm.power_state[state_index].clock_info[0].mclk = rdev->clock.default_mclk;
2812 rdev->pm.power_state[state_index].clock_info[0].sclk = rdev->clock.default_sclk;
2813 rdev->pm.power_state[state_index].default_clock_mode = &rdev->pm.power_state[state_index].clock_info[0];
2815 (rdev->pm.power_state[0].clock_info[0].voltage.type == VOLTAGE_GPIO))
2816 rdev->pm.power_state[state_index].clock_info[0].voltage =
2817 rdev->pm.power_state[0].clock_info[0].voltage;
2819 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_NONE;
2820 rdev->pm.power_state[state_index].pcie_lanes = 16;
2821 rdev->pm.power_state[state_index].flags = 0;
2822 rdev->pm.default_power_state_index = state_index;
2823 rdev->pm.num_power_states = state_index + 1;
2825 rdev->pm.current_power_state_index = rdev->pm.default_power_state_index;
2826 rdev->pm.current_clock_mode_index = 0;
2830 rdev->pm.default_power_state_index = state_index;
2831 rdev->pm.num_power_states = 0;
2833 rdev->pm.current_power_state_index = rdev->pm.default_power_state_index;
2834 rdev->pm.current_clock_mode_index = 0;
2887 struct radeon_device *rdev = dev->dev_private;
2898 if (rdev->flags & RADEON_IS_IGP) {
3017 struct radeon_device *rdev = dev->dev_private;
3096 struct radeon_device *rdev = dev->dev_private;
3187 struct radeon_device *rdev = dev->dev_private;
3198 if (ASIC_IS_R300(rdev))
3234 struct radeon_device *rdev = dev->dev_private;
3265 struct radeon_device *rdev = dev->dev_private;
3272 if (rdev->flags & RADEON_IS_IGP)
3282 if ((rdev->family < CHIP_R200) &&
3283 !ASIC_IS_RN50(rdev))
3294 if ((rdev->family < CHIP_R200)
3295 && !ASIC_IS_RN50(rdev)) {
3327 struct radeon_device *rdev = dev->dev_private;
3331 if (rdev->bios == NULL)
3349 if (!(rdev->flags & RADEON_IS_IGP)) {
3374 if (rdev->family == CHIP_RS480 &&
3375 rdev->pdev->subsystem_vendor == 0x103c &&
3376 rdev->pdev->subsystem_device == 0x308b)
3382 if (rdev->family == CHIP_RS480 &&
3383 rdev->pdev->subsystem_vendor == 0x103c &&
3384 rdev->pdev->subsystem_device == 0x30a4)
3390 if (rdev->family == CHIP_RS480 &&
3391 rdev->pdev->subsystem_vendor == 0x103c &&
3392 rdev->pdev->subsystem_device == 0x30ae)
3398 if (rdev->family == CHIP_RS480 &&
3399 rdev->pdev->subsystem_vendor == 0x103c &&
3400 rdev->pdev->subsystem_device == 0x280a)
3405 if (rdev->family == CHIP_RS400 &&
3406 rdev->pdev->subsystem_vendor == 0x1179 &&
3407 rdev->pdev->subsystem_device == 0xff31)
3419 struct radeon_device *rdev = dev->dev_private;
3444 struct radeon_device *rdev = dev->dev_private;
3463 struct radeon_device *rdev = dev->dev_private;
3564 struct radeon_device *rdev = dev->dev_private;
3599 struct radeon_device *rdev = dev->dev_private;