Lines Matching defs:rdev
132 struct radeon_device *rdev = dev->dev_private;
136 if (!rdev->bios)
361 size = RBIOS8(rdev->bios_header_start + 0x6);
364 offset = RBIOS16(rdev->bios_header_start + check_offset);
369 bool radeon_combios_check_hardcoded_edid(struct radeon_device *rdev)
374 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE);
378 raw = rdev->bios + edid_info;
391 rdev->mode_info.bios_hardcoded_edid = edid;
392 rdev->mode_info.bios_hardcoded_edid_size = size;
398 radeon_bios_get_hardcoded_edid(struct radeon_device *rdev)
402 if (rdev->mode_info.bios_hardcoded_edid) {
403 edid = kmalloc(rdev->mode_info.bios_hardcoded_edid_size, GFP_KERNEL);
406 (unsigned char *)rdev->mode_info.bios_hardcoded_edid,
407 rdev->mode_info.bios_hardcoded_edid_size);
414 static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rdev,
462 if (rdev->family == CHIP_RS300 ||
463 rdev->family == CHIP_RS400 ||
464 rdev->family == CHIP_RS480)
466 else if (rdev->family == CHIP_R300 ||
467 rdev->family == CHIP_R350) {
474 if (rdev->family == CHIP_R200 ||
475 rdev->family == CHIP_R300 ||
476 rdev->family == CHIP_R350) {
479 } else if (rdev->family == CHIP_RS300 ||
480 rdev->family == CHIP_RS400 ||
481 rdev->family == CHIP_RS480)
483 else if (rdev->family >= CHIP_RV350) {
553 switch (rdev->family) {
642 static struct radeon_i2c_bus_rec radeon_combios_get_i2c_info_from_table(struct radeon_device *rdev)
644 struct drm_device *dev = rdev->ddev;
661 i2c = combios_setup_i2c_bus(rdev, DDC_MONID,
670 void radeon_combios_i2c_init(struct radeon_device *rdev)
672 struct drm_device *dev = rdev->ddev;
687 i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
688 rdev->i2c_bus[0] = radeon_i2c_create(dev, &i2c, "DVI_DDC");
690 i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
691 rdev->i2c_bus[1] = radeon_i2c_create(dev, &i2c, "VGA_DDC");
698 rdev->i2c_bus[2] = radeon_i2c_create(dev, &i2c, "MM_I2C");
700 if (rdev->family == CHIP_R300 ||
701 rdev->family == CHIP_R350) {
703 } else if (rdev->family == CHIP_RS300 ||
704 rdev->family == CHIP_RS400 ||
705 rdev->family == CHIP_RS480) {
707 i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
708 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
711 i2c = radeon_combios_get_i2c_info_from_table(rdev);
713 rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "GPIOPAD_MASK");
714 } else if ((rdev->family == CHIP_R200) ||
715 (rdev->family >= CHIP_R300)) {
717 i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
718 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
721 i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
722 rdev->i2c_bus[3] = radeon_i2c_create(dev, &i2c, "MONID");
724 i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
725 rdev->i2c_bus[4] = radeon_i2c_create(dev, &i2c, "CRT2_DDC");
731 struct radeon_device *rdev = dev->dev_private;
733 struct radeon_pll *p1pll = &rdev->clock.p1pll;
734 struct radeon_pll *p2pll = &rdev->clock.p2pll;
735 struct radeon_pll *spll = &rdev->clock.spll;
736 struct radeon_pll *mpll = &rdev->clock.mpll;
799 rdev->clock.default_sclk = sclk;
800 rdev->clock.default_mclk = mclk;
803 rdev->clock.max_pixel_clock = RBIOS32(pll_info + 0x16);
805 rdev->clock.max_pixel_clock = 35000; /* might need something asic specific */
812 bool radeon_combios_sideport_present(struct radeon_device *rdev)
814 struct drm_device *dev = rdev->ddev;
818 if (rdev->family == CHIP_RS400)
851 static void radeon_legacy_get_primary_dac_info_from_table(struct radeon_device *rdev,
854 p_dac->ps2_pdac_adj = default_primarydac_adj[rdev->family];
863 struct radeon_device *rdev = dev->dev_private;
897 if (((rdev->pdev->device == 0x5159) &&
898 (rdev->pdev->subsystem_vendor == 0x174B) &&
899 (rdev->pdev->subsystem_device == 0x7c28)) ||
901 ((rdev->pdev->device == 0x514D) &&
902 (rdev->pdev->subsystem_vendor == 0x174B) &&
903 (rdev->pdev->subsystem_device == 0x7149))) {
909 radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac);
915 radeon_combios_get_tv_info(struct radeon_device *rdev)
917 struct drm_device *dev = rdev->ddev;
998 static void radeon_legacy_get_tv_dac_info_from_table(struct radeon_device *rdev,
1001 tv_dac->ps2_tvdac_adj = default_tvdac_adj[rdev->family];
1002 if ((rdev->flags & RADEON_IS_MOBILITY) && (rdev->family == CHIP_RV250))
1014 struct radeon_device *rdev = dev->dev_private;
1059 tv_dac->tv_std = radeon_combios_get_tv_info(rdev);
1094 radeon_legacy_get_tv_dac_info_from_table(rdev, tv_dac);
1101 *rdev)
1173 struct radeon_device *rdev = dev->dev_private;
1285 lvds = radeon_legacy_get_lvds_info_from_regs(rdev);
1318 struct radeon_device *rdev = dev->dev_private;
1323 default_tmds_pll[rdev->family][i].value;
1324 tmds->tmds_pll[i].freq = default_tmds_pll[rdev->family][i].freq;
1334 struct radeon_device *rdev = dev->dev_private;
1387 struct radeon_device *rdev = dev->dev_private;
1391 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1392 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1395 switch (rdev->mode_info.connector_table) {
1411 struct radeon_device *rdev = dev->dev_private;
1418 if (rdev->flags & RADEON_IS_IGP) {
1419 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1420 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1438 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 0, 0);
1439 tmds->i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
1453 struct radeon_device *rdev = dev->dev_private;
1457 rdev->mode_info.connector_table = radeon_connector_table;
1458 if (rdev->mode_info.connector_table == CT_NONE) {
1462 rdev->mode_info.connector_table = CT_POWERBOOK_VGA;
1466 rdev->mode_info.connector_table = CT_POWERBOOK_INTERNAL;
1473 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1476 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1482 rdev->mode_info.connector_table = CT_POWERBOOK_EXTERNAL;
1490 rdev->mode_info.connector_table = CT_IBOOK;
1493 rdev->mode_info.connector_table = CT_MAC_G4_SILVER;
1496 rdev->mode_info.connector_table = CT_EMAC;
1499 rdev->mode_info.connector_table = CT_MINI_INTERNAL;
1502 rdev->mode_info.connector_table = CT_MINI_EXTERNAL;
1506 rdev->mode_info.connector_table = CT_IMAC_G5_ISIGHT;
1507 } else if ((rdev->pdev->device == 0x4a48) &&
1508 (rdev->pdev->subsystem_vendor == 0x1002) &&
1509 (rdev->pdev->subsystem_device == 0x4a48)) {
1511 rdev->mode_info.connector_table = CT_MAC_X800;
1514 (rdev->pdev->device == 0x4150) &&
1515 (rdev->pdev->subsystem_vendor == 0x1002) &&
1516 (rdev->pdev->subsystem_device == 0x4150)) {
1518 rdev->mode_info.connector_table = CT_MAC_G5_9600;
1519 } else if ((rdev->pdev->device == 0x4c66) &&
1520 (rdev->pdev->subsystem_vendor == 0x1002) &&
1521 (rdev->pdev->subsystem_device == 0x4c66)) {
1523 rdev->mode_info.connector_table = CT_SAM440EP;
1527 if (ASIC_IS_RN50(rdev))
1528 rdev->mode_info.connector_table = CT_RN50_POWER;
1531 rdev->mode_info.connector_table = CT_GENERIC;
1534 switch (rdev->mode_info.connector_table) {
1537 rdev->mode_info.connector_table);
1539 if (rdev->flags & RADEON_SINGLE_CRTC) {
1541 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1554 } else if (rdev->flags & RADEON_IS_MOBILITY) {
1556 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_NONE_DETECTED, 0, 0);
1571 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1586 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1607 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1622 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) {
1641 rdev->mode_info.connector_table);
1643 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1655 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1682 rdev->mode_info.connector_table);
1684 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1696 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1731 rdev->mode_info.connector_table);
1733 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1745 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1779 rdev->mode_info.connector_table);
1781 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1793 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1820 rdev->mode_info.connector_table);
1822 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1857 rdev->mode_info.connector_table);
1859 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1893 rdev->mode_info.connector_table);
1895 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
1907 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
1934 rdev->mode_info.connector_table);
1936 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1948 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
1975 rdev->mode_info.connector_table);
1977 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
1988 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_CRT2, 0, 0);
2002 rdev->mode_info.connector_table);
2004 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2023 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
2044 rdev->mode_info.connector_table);
2046 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2065 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2099 rdev->mode_info.connector_table);
2101 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_NONE_DETECTED, 0, 0);
2113 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2132 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2160 rdev->mode_info.connector_table);
2162 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2181 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2208 rdev->mode_info.connector_table);
2224 struct radeon_device *rdev = dev->dev_private;
2228 if (rdev->pdev->device == 0x515e &&
2229 rdev->pdev->subsystem_vendor == 0x1014) {
2236 if (rdev->pdev->device == 0x5B60 &&
2237 rdev->pdev->subsystem_vendor == 0x17af &&
2238 rdev->pdev->subsystem_device == 0x201e && bios_index == 2) {
2248 struct radeon_device *rdev = dev->dev_private;
2251 if (rdev->pdev->device == 0x5975 &&
2252 rdev->pdev->subsystem_vendor == 0x1025 &&
2253 rdev->pdev->subsystem_device == 0x009f)
2257 if (rdev->pdev->device == 0x5974 &&
2258 rdev->pdev->subsystem_vendor == 0x103c &&
2259 rdev->pdev->subsystem_device == 0x280a)
2263 if (rdev->pdev->device == 0x5955 &&
2264 rdev->pdev->subsystem_vendor == 0x1462 &&
2265 rdev->pdev->subsystem_device == 0x0131)
2273 struct radeon_device *rdev = dev->dev_private;
2276 if (rdev->flags & RADEON_IS_IGP) {
2308 struct radeon_device *rdev = dev->dev_private;
2331 ddc_i2c = radeon_combios_get_i2c_info_from_table(rdev);
2333 ddc_i2c = combios_setup_i2c_bus(rdev, ddc_type, 0, 0);
2419 if (rdev->pdev->device == 0x5159 &&
2420 rdev->pdev->subsystem_vendor == 0x1014 &&
2421 rdev->pdev->subsystem_device == 0x029A) {
2511 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
2531 ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
2547 if (rdev->flags & RADEON_IS_MOBILITY || rdev->flags & RADEON_IS_IGP) {
2566 combios_setup_i2c_bus(rdev,
2570 radeon_i2c_add(rdev, &ddc_i2c, "LCD");
2574 combios_setup_i2c_bus(rdev,
2578 radeon_i2c_add(rdev, &ddc_i2c, "LCD");
2582 combios_setup_i2c_bus(rdev, ddc_type, 0, 0);
2601 if (rdev->family != CHIP_R100 && rdev->family != CHIP_R200) {
2637 void radeon_combios_get_power_modes(struct radeon_device *rdev)
2639 struct drm_device *dev = rdev->ddev;
2645 rdev->pm.default_power_state_index = -1;
2648 rdev->pm.power_state = kcalloc(2, sizeof(struct radeon_power_state),
2650 if (rdev->pm.power_state) {
2652 rdev->pm.power_state[0].clock_info =
2655 rdev->pm.power_state[1].clock_info =
2658 if (!rdev->pm.power_state[0].clock_info ||
2659 !rdev->pm.power_state[1].clock_info)
2697 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 1 << clk_bit, 1 << data_bit);
2699 i2c_bus = combios_setup_i2c_bus(rdev, gpio, 0, 0);
2700 rdev->pm.i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
2701 if (rdev->pm.i2c_bus) {
2706 i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
2713 if ((rdev->pdev->device == 0x4152) &&
2714 (rdev->pdev->subsystem_vendor == 0x1043) &&
2715 (rdev->pdev->subsystem_device == 0xc002)) {
2716 i2c_bus = combios_setup_i2c_bus(rdev, DDC_MONID, 0, 0);
2717 rdev->pm.i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
2718 if (rdev->pm.i2c_bus) {
2723 i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
2730 if (rdev->flags & RADEON_IS_MOBILITY) {
2735 rdev->pm.power_state[state_index].num_clock_modes = 1;
2736 rdev->pm.power_state[state_index].clock_info[0].mclk = RBIOS32(offset + 0x5 + 0x2);
2737 rdev->pm.power_state[state_index].clock_info[0].sclk = RBIOS32(offset + 0x5 + 0x6);
2738 if ((rdev->pm.power_state[state_index].clock_info[0].mclk == 0) ||
2739 (rdev->pm.power_state[state_index].clock_info[0].sclk == 0))
2741 rdev->pm.power_state[state_index].type =
2746 rdev->pm.power_state[state_index].misc = misc;
2747 rdev->pm.power_state[state_index].misc2 = misc2;
2749 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_GPIO;
2751 rdev->pm.power_state[state_index].clock_info[0].voltage.active_high =
2754 rdev->pm.power_state[state_index].clock_info[0].voltage.active_high =
2756 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.valid = true;
2758 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.reg =
2761 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.mask = (1 << tmp);
2766 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.reg =
2769 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.mask = (1 << tmp);
2771 rdev->pm.power_state[state_index].clock_info[0].voltage.gpio.valid = false;
2776 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 0;
2779 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 33;
2782 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 66;
2785 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 99;
2788 rdev->pm.power_state[state_index].clock_info[0].voltage.delay = 132;
2792 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_NONE;
2794 rdev->pm.power_state[state_index].pcie_lanes =
2796 rdev->pm.power_state[state_index].flags = RADEON_PM_STATE_SINGLE_DISPLAY_ONLY;
2807 rdev->pm.power_state[state_index].type =
2809 rdev->pm.power_state[state_index].num_clock_modes = 1;
2810 rdev->pm.power_state[state_index].clock_info[0].mclk = rdev->clock.default_mclk;
2811 rdev->pm.power_state[state_index].clock_info[0].sclk = rdev->clock.default_sclk;
2812 rdev->pm.power_state[state_index].default_clock_mode = &rdev->pm.power_state[state_index].clock_info[0];
2814 (rdev->pm.power_state[0].clock_info[0].voltage.type == VOLTAGE_GPIO))
2815 rdev->pm.power_state[state_index].clock_info[0].voltage =
2816 rdev->pm.power_state[0].clock_info[0].voltage;
2818 rdev->pm.power_state[state_index].clock_info[0].voltage.type = VOLTAGE_NONE;
2819 rdev->pm.power_state[state_index].pcie_lanes = 16;
2820 rdev->pm.power_state[state_index].flags = 0;
2821 rdev->pm.default_power_state_index = state_index;
2822 rdev->pm.num_power_states = state_index + 1;
2824 rdev->pm.current_power_state_index = rdev->pm.default_power_state_index;
2825 rdev->pm.current_clock_mode_index = 0;
2829 rdev->pm.default_power_state_index = state_index;
2830 rdev->pm.num_power_states = 0;
2832 rdev->pm.current_power_state_index = rdev->pm.default_power_state_index;
2833 rdev->pm.current_clock_mode_index = 0;
2886 struct radeon_device *rdev = dev->dev_private;
2897 if (rdev->flags & RADEON_IS_IGP) {
3016 struct radeon_device *rdev = dev->dev_private;
3095 struct radeon_device *rdev = dev->dev_private;
3186 struct radeon_device *rdev = dev->dev_private;
3197 if (ASIC_IS_R300(rdev))
3233 struct radeon_device *rdev = dev->dev_private;
3264 struct radeon_device *rdev = dev->dev_private;
3271 if (rdev->flags & RADEON_IS_IGP)
3281 if ((rdev->family < CHIP_R200) &&
3282 !ASIC_IS_RN50(rdev))
3293 if ((rdev->family < CHIP_R200)
3294 && !ASIC_IS_RN50(rdev)) {
3326 struct radeon_device *rdev = dev->dev_private;
3330 if (rdev->bios == NULL)
3348 if (!(rdev->flags & RADEON_IS_IGP)) {
3373 if (rdev->family == CHIP_RS480 &&
3374 rdev->pdev->subsystem_vendor == 0x103c &&
3375 rdev->pdev->subsystem_device == 0x308b)
3381 if (rdev->family == CHIP_RS480 &&
3382 rdev->pdev->subsystem_vendor == 0x103c &&
3383 rdev->pdev->subsystem_device == 0x30a4)
3389 if (rdev->family == CHIP_RS480 &&
3390 rdev->pdev->subsystem_vendor == 0x103c &&
3391 rdev->pdev->subsystem_device == 0x30ae)
3397 if (rdev->family == CHIP_RS480 &&
3398 rdev->pdev->subsystem_vendor == 0x103c &&
3399 rdev->pdev->subsystem_device == 0x280a)
3404 if (rdev->family == CHIP_RS400 &&
3405 rdev->pdev->subsystem_vendor == 0x1179 &&
3406 rdev->pdev->subsystem_device == 0xff31)
3418 struct radeon_device *rdev = dev->dev_private;
3443 struct radeon_device *rdev = dev->dev_private;
3462 struct radeon_device *rdev = dev->dev_private;
3563 struct radeon_device *rdev = dev->dev_private;
3598 struct radeon_device *rdev = dev->dev_private;