On Mon, Mar 30, 2009 at 11:43 AM, Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> wrote: > Russ Dill <russ.dill@xxxxxxxxx> writes: > >> On Mon, Mar 30, 2009 at 3:08 AM, Premi, Sanjeev <premi@xxxxxx> wrote: > [...] >>> >>> I had found that two drivers that could prevent clocks_off are >>> USB and DSS because of the way they use clk_enable(). >>> >>> Can you try building without theses drivers just for verification? >>> >> >> Building without dss makes things worse: >> >> Powerdomain (dss_pwrdm) didn't enter target state 0 >> >> Maybe by looking at what the dss driver is doing I can get core and >> per to turn off. > > Russ, > > Can you try with the latest HEAD of PM branch. After suspend/resume, > do > > # cat /debug/pm_debug/registers/1 > > and post results to list. We can then see the exact state of PM > registers before going into WFI. root@beagleboard:/sys# cat /debug/pm_debug/registers/1 MOD: CM_IVA2 (48014000) 04 => 00000037 20 => 00000001 34 => 00000001 40 => 0009680c 44 => 00000001 48 => 00000003 MOD: CM_OCP (48004800) 00 => 00000010 10 => 00000001 MOD: CM_MPU (48004900) 04 => 00000037 24 => 00000001 34 => 00000001 40 => 0011f40c 44 => 00000001 48 => 00000003 4c => 00000001 MOD: CM_CORE (48004a00) 10 => 00000042 20 => ffffffbd 24 => 0000001f 28 => 0000000d 30 => fffffed9 34 => 0000001f 38 => 0000000c 40 => 0000030a 48 => 0000003f 4c => 00000003 MOD: CM_SGX (48004b00) 20 => 00000001 48 => 00000003 MOD: CM_WKUP (48004c00) 10 => 0000000e 20 => 000002f1 30 => 0000003f 40 => 00000015 MOD: CM_CCR (48004d00) 00 => f8311037 04 => 00000017 20 => 00000201 30 => 00000009 34 => 00000001 40 => 094c0c00 44 => 0001b00c 48 => 00000009 50 => 00000001 70 => 00000003 MOD: CM_DSS (48004e00) 20 => 00000003 30 => 00000001 40 => 00001006 48 => 00000003 MOD: CM_CAM (48004f00) 20 => 00000001 30 => 00000001 40 => 00000004 48 => 00000003 MOD: CM_PER (48005000) 10 => 0003e000 20 => 00001fff 30 => 0003ffff 40 => 000000ff 44 => 00000006 48 => 00000003 4c => 00000001 MOD: CM_EMU (48005100) 40 => 03020a50 48 => 00000002 4c => 00000001 MOD: CM_NEON (48005300) 48 => 00000003 MOD: CM_USB (48005400) 20 => 00000003 30 => 00000001 48 => 00000003 MOD: PRM_IVA2 (48316000) 50 => 00000007 e0 => 00ff0f04 f8 => 00000007 MOD: PRM_OCP (48306800) 04 => 00000010 14 => 00000001 1c => 00000201 MOD: PRM_MPU (48306900) 58 => 00000005 d4 => 00000012 e0 => 00030104 e4 => 000000c7 e8 => 000000c7 MOD: PRM_CORE (48306a00) 58 => 00000301 a0 => c33ffe18 a4 => c33ffe18 a8 => c33ffe18 e0 => 000f0304 e4 => 000000f7 e8 => 000000f7 f0 => 00000004 f4 => 00000004 f8 => 00000004 MOD: PRM_SGX (48306b00) e0 => 00030104 MOD: PRM_WKUP (48306c00) a0 => 0000010b a4 => 0000010b MOD: PRM_CCR (48306d00) 40 => 00000003 MOD: PRM_DSS (48306e00) 58 => 00000005 a0 => 00000001 e0 => 00030104 MOD: PRM_CAM (48306f00) 58 => 00000001 e0 => 00030104 MOD: PRM_PER (48307000) 58 => 00000001 a0 => 0003efff a4 => 0003efff a8 => 0003efff c8 => 00000007 e0 => 00030104 e4 => 00000007 e8 => 00000007 MOD: PRM_EMU (48307100) 58 => 00000005 e4 => 00000103 MOD: PRM_GLBL (48307200) 20 => 00120012 24 => 00010000 2c => 301e1e30 30 => 2c1e1e2c 34 => 00120000 38 => 00000018 54 => 00001006 58 => 00000001 60 => 0000000e 64 => 00000050 70 => 00000088 90 => 0fff0fff 94 => 000000ff 98 => 000000ff 9c => 00000002 a0 => 000000ff c4 => 00000001 e4 => 00000001 MOD: PRM_NEON (48307300) 58 => 00000005 c8 => 00000002 e0 => 00000004 e4 => 00000003 e8 => 00000003 MOD: PRM_USB (48307400) 58 => 00000001 a0 => 00000001 a4 => 00000001 a8 => 00000001 e0 => 00030104 > Also, post dump of > root@beagleboard:/sys# cat /debug/pm_debug/count usbhost_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1 sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1 per_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1 dss_pwrdm (ON),OFF:2,RET:0,INA:0,ON:3 cam_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1 core_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1 neon_pwrdm (ON),OFF:2,RET:0,INA:14100,ON:14103 mpu_pwrdm (ON),OFF:2,RET:0,INA:14100,ON:14103 iva2_pwrdm (OFF),OFF:1,RET:1,INA:0,ON:1 per_clkdm->per_pwrdm (9) usbhost_clkdm->usbhost_pwrdm (0) cam_clkdm->cam_pwrdm (0) dss_clkdm->dss_pwrdm (2) core_l4_clkdm->core_pwrdm (8) core_l3_clkdm->core_pwrdm (4) d2d_clkdm->core_pwrdm (0) sgx_clkdm->sgx_pwrdm (0) iva2_clkdm->iva2_pwrdm (0) neon_clkdm->neon_pwrdm (0) mpu_clkdm->mpu_pwrdm (0) virt_opp_clkdm->wkup_pwrdm (0) prm_clkdm->wkup_pwrdm (10) cm_clkdm->core_pwrdm (3) > Thanks, > > Kevin > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html