@@ -1528,7 +1528,7 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
15281528 if ((rdev -> pm .power_state [state_index ].clock_info [0 ].mclk == 0 ) ||
15291529 (rdev -> pm .power_state [state_index ].clock_info [0 ].sclk == 0 ))
15301530 continue ;
1531- rdev -> pm .power_state [state_index ].non_clock_info . pcie_lanes =
1531+ rdev -> pm .power_state [state_index ].pcie_lanes =
15321532 power_info -> info .asPowerPlayInfo [i ].ucNumPciELanes ;
15331533 misc = le32_to_cpu (power_info -> info .asPowerPlayInfo [i ].ulMiscInfo );
15341534 if (misc & ATOM_PM_MISCINFO_VOLTAGE_DROP_SUPPORT ) {
@@ -1550,6 +1550,7 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
15501550 power_info -> info .asPowerPlayInfo [i ].ucVoltageDropIndex ;
15511551 }
15521552 rdev -> pm .power_state [state_index ].flags = RADEON_PM_SINGLE_DISPLAY_ONLY ;
1553+ rdev -> pm .power_state [state_index ].misc = misc ;
15531554 /* order matters! */
15541555 if (misc & ATOM_PM_MISCINFO_POWER_SAVING_MODE )
15551556 rdev -> pm .power_state [state_index ].type =
@@ -1590,7 +1591,7 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
15901591 if ((rdev -> pm .power_state [state_index ].clock_info [0 ].mclk == 0 ) ||
15911592 (rdev -> pm .power_state [state_index ].clock_info [0 ].sclk == 0 ))
15921593 continue ;
1593- rdev -> pm .power_state [state_index ].non_clock_info . pcie_lanes =
1594+ rdev -> pm .power_state [state_index ].pcie_lanes =
15941595 power_info -> info_2 .asPowerPlayInfo [i ].ucNumPciELanes ;
15951596 misc = le32_to_cpu (power_info -> info_2 .asPowerPlayInfo [i ].ulMiscInfo );
15961597 misc2 = le32_to_cpu (power_info -> info_2 .asPowerPlayInfo [i ].ulMiscInfo2 );
@@ -1613,6 +1614,8 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
16131614 power_info -> info_2 .asPowerPlayInfo [i ].ucVoltageDropIndex ;
16141615 }
16151616 rdev -> pm .power_state [state_index ].flags = RADEON_PM_SINGLE_DISPLAY_ONLY ;
1617+ rdev -> pm .power_state [state_index ].misc = misc ;
1618+ rdev -> pm .power_state [state_index ].misc2 = misc2 ;
16161619 /* order matters! */
16171620 if (misc & ATOM_PM_MISCINFO_POWER_SAVING_MODE )
16181621 rdev -> pm .power_state [state_index ].type =
@@ -1659,7 +1662,7 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
16591662 if ((rdev -> pm .power_state [state_index ].clock_info [0 ].mclk == 0 ) ||
16601663 (rdev -> pm .power_state [state_index ].clock_info [0 ].sclk == 0 ))
16611664 continue ;
1662- rdev -> pm .power_state [state_index ].non_clock_info . pcie_lanes =
1665+ rdev -> pm .power_state [state_index ].pcie_lanes =
16631666 power_info -> info_3 .asPowerPlayInfo [i ].ucNumPciELanes ;
16641667 misc = le32_to_cpu (power_info -> info_3 .asPowerPlayInfo [i ].ulMiscInfo );
16651668 misc2 = le32_to_cpu (power_info -> info_3 .asPowerPlayInfo [i ].ulMiscInfo2 );
@@ -1688,6 +1691,8 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
16881691 }
16891692 }
16901693 rdev -> pm .power_state [state_index ].flags = RADEON_PM_SINGLE_DISPLAY_ONLY ;
1694+ rdev -> pm .power_state [state_index ].misc = misc ;
1695+ rdev -> pm .power_state [state_index ].misc2 = misc2 ;
16911696 /* order matters! */
16921697 if (misc & ATOM_PM_MISCINFO_POWER_SAVING_MODE )
16931698 rdev -> pm .power_state [state_index ].type =
@@ -1730,6 +1735,8 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
17301735 & rdev -> pm .power_state [state_index - 1 ].clock_info [0 ];
17311736 rdev -> pm .power_state [state_index ].flags &=
17321737 ~RADEON_PM_SINGLE_DISPLAY_ONLY ;
1738+ rdev -> pm .power_state [state_index ].misc = 0 ;
1739+ rdev -> pm .power_state [state_index ].misc2 = 0 ;
17331740 }
17341741 } else {
17351742 /* add the i2c bus for thermal/fan chip */
@@ -1852,7 +1859,9 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
18521859 if (mode_index ) {
18531860 misc = le32_to_cpu (non_clock_info -> ulCapsAndSettings );
18541861 misc2 = le16_to_cpu (non_clock_info -> usClassification );
1855- rdev -> pm .power_state [state_index ].non_clock_info .pcie_lanes =
1862+ rdev -> pm .power_state [state_index ].misc = misc ;
1863+ rdev -> pm .power_state [state_index ].misc2 = misc2 ;
1864+ rdev -> pm .power_state [state_index ].pcie_lanes =
18561865 ((misc & ATOM_PPLIB_PCIE_LINK_WIDTH_MASK ) >>
18571866 ATOM_PPLIB_PCIE_LINK_WIDTH_SHIFT ) + 1 ;
18581867 switch (misc2 & ATOM_PPLIB_CLASSIFICATION_UI_MASK ) {
@@ -1902,10 +1911,7 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
19021911 rdev -> pm .power_state [state_index ].default_clock_mode =
19031912 & rdev -> pm .power_state [state_index ].clock_info [0 ];
19041913 rdev -> pm .power_state [state_index ].clock_info [0 ].voltage .type = VOLTAGE_NONE ;
1905- if (rdev -> asic -> get_pcie_lanes )
1906- rdev -> pm .power_state [state_index ].non_clock_info .pcie_lanes = radeon_get_pcie_lanes (rdev );
1907- else
1908- rdev -> pm .power_state [state_index ].non_clock_info .pcie_lanes = 16 ;
1914+ rdev -> pm .power_state [state_index ].pcie_lanes = 16 ;
19091915 rdev -> pm .default_power_state_index = state_index ;
19101916 rdev -> pm .power_state [state_index ].flags = 0 ;
19111917 state_index ++ ;
0 commit comments