|
@@ -62,9 +62,9 @@ static void radeon_pm_disable_dynamic_mode(struct radeonfb_info *rinfo)
|
|
|
OUTPLL(pllSCLK_CNTL, tmp);
|
|
|
return;
|
|
|
}
|
|
|
- /* RV350 (M10) */
|
|
|
+ /* RV350 (M10/M11) */
|
|
|
if (rinfo->family == CHIP_FAMILY_RV350) {
|
|
|
- /* for RV350/M10, no delays are required. */
|
|
|
+ /* for RV350/M10/M11, no delays are required. */
|
|
|
tmp = INPLL(pllSCLK_CNTL2);
|
|
|
tmp |= (SCLK_CNTL2__R300_FORCE_TCL |
|
|
|
SCLK_CNTL2__R300_FORCE_GA |
|
|
@@ -248,7 +248,7 @@ static void radeon_pm_enable_dynamic_mode(struct radeonfb_info *rinfo)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- /* M10 */
|
|
|
+ /* M10/M11 */
|
|
|
if (rinfo->family == CHIP_FAMILY_RV350) {
|
|
|
tmp = INPLL(pllSCLK_CNTL2);
|
|
|
tmp &= ~(SCLK_CNTL2__R300_FORCE_TCL |
|
|
@@ -1155,7 +1155,7 @@ static void radeon_pm_full_reset_sdram(struct radeonfb_info *rinfo)
|
|
|
OUTREG( CRTC_GEN_CNTL, (crtcGenCntl | CRTC_GEN_CNTL__CRTC_DISP_REQ_EN_B) );
|
|
|
OUTREG( CRTC2_GEN_CNTL, (crtcGenCntl2 | CRTC2_GEN_CNTL__CRTC2_DISP_REQ_EN_B) );
|
|
|
|
|
|
- /* This is the code for the Aluminium PowerBooks M10 */
|
|
|
+ /* This is the code for the Aluminium PowerBooks M10 / iBooks M11 */
|
|
|
if (rinfo->family == CHIP_FAMILY_RV350) {
|
|
|
u32 sdram_mode_reg = rinfo->save_regs[35];
|
|
|
static u32 default_mrtable[] =
|
|
@@ -2741,9 +2741,11 @@ void radeonfb_pm_init(struct radeonfb_info *rinfo, int dynclk)
|
|
|
rinfo->pm_mode |= radeon_pm_d2;
|
|
|
|
|
|
/* We can restart Jasper (M10 chip in albooks), BlueStone (7500 chip
|
|
|
- * in some desktop G4s), and Via (M9+ chip on iBook G4)
|
|
|
+ * in some desktop G4s), Via (M9+ chip on iBook G4) and
|
|
|
+ * Snowy (M11 chip on iBook G4 manufactured after July 2005)
|
|
|
*/
|
|
|
- if (!strcmp(rinfo->of_node->name, "ATY,JasperParent")) {
|
|
|
+ if (!strcmp(rinfo->of_node->name, "ATY,JasperParent") ||
|
|
|
+ !strcmp(rinfo->of_node->name, "ATY,SnowyParent")) {
|
|
|
rinfo->reinit_func = radeon_reinitialize_M10;
|
|
|
rinfo->pm_mode |= radeon_pm_off;
|
|
|
}
|