Hello. I have Davinci DM365 board, but I can't find more suitable mail-listing to ask my qustion. I have written Linux kernel module. Main purpose: change ARM core rate. Davinci DM365 has two PLL: PLL1 and PLL2. ARM core can be feed by: * PLLC1SYSCLK1 - fixed all time, equal to 243000 kHz. * PLLC2SYSCLK2 - that one I can change. Lower borde ARM core freq == 121500 kHz (must be > pll1_sysclk4 CFG/DMA bus). Higher borde ARM core freq == 300000 kHz. To change ARM core freq I do next steps: 1. switch ARM core to PLLC2SYSCLK2 2. reset & configure PLL2. 3. switch back to PLLC2SYSCLK2. 4. call adjust_jiffies() ( snatch from cpufreq.c) Now I come to standstill. I got several working configurations, and several not working. I can't undestand why some of them works, and some not. Stable work. Switch between next rates work all times: 272000 (kHz), mul=17, div=2 204000 (kHz), mul=17, div=3 252000 (kHz), mul=21, div=3 201600 (kHz), mul=21, div=4 200000 (kHz), mul=25, div=5 249600 (kHz), mul=26, div=4 259200 (kHz), mul=27, div=4 268800 (kHz), mul=28, div=4 278400 (kHz), mul=29, div=4 232000 (kHz), mul=29, div=5 205714 (kHz), mul=30, div=6 297600 (kHz), mul=31, div=4 248000 (kHz), mul=31, div=5 212571 (kHz), mul=31, div=6 186000 (kHz), mul=31, div=7 Don't work - (completely instantaneously hang system): 144000 (kHz), mul=3, div=0 180000 (kHz), mul=15, div=3 136000 (kHz), mul=17, div=5 126000 (kHz), mul=21, div=7 157714 (kHz), mul=23, div=6 171428 (kHz), mul=25, div=6 133333 (kHz), mul=25, div=8 178285 (kHz), mul=26, div=6 162000 (kHz), mul=27, div=7 174000 (kHz), mul=29, div=7 165333 (kHz), mul=31, div=8 158400 (kHz), mul=33, div=9 296000 (kHz), mul=37, div=5 203076 (kHz), mul=55, div=12 299076 (kHz), mul=81, div=12 Can anybody comment this behaviour? If frequency == 222 000 kHz than system behave quite unstable. And give next messages: Backtrace: Ðâ<c0074c9c>ÐÑ (add_to_page_cache_lru+0x0/0xac) from Ðâ<c0074dbc>ÐÑ (grab_cache_page_write_begin+0x74/0x9c) r5:c46d4268 r4:c03dc480 Ðâ<c0074d48>ÐÑ (grab_cache_page_write_begin+0x0/0x9c) from Ðâ<c00f35b8>ÐÑ (ext3_write_begin+0x80/0x240) Ðâ<c00f3538>ÐÑ (ext3_write_begin+0x0/0x240) from Ðâ<c0073d10>ÐÑ (generic_file_buffered_write+0xf0/0x258) Ðâ<c0073c20>ÐÑ (generic_file_buffered_write+0x0/0x258) from Ðâ<c0075e64>ÐÑ (__generic_file_aio_write+0x4a8/0x4f8) Ðâ<c00759bc>ÐÑ (__generic_file_aio_write+0x0/0x4f8) from Ðâ<c0075f28>ÐÑ (generic_file_aio_write+0x74/0xdc) Ðâ<c0075eb4>ÐÑ (generic_file_aio_write+0x0/0xdc) from Ðâ<c009dc1c>ÐÑ (do_sync_readv_writev+0x98/0xe4) Ðâ<c009db84>ÐÑ (do_sync_readv_writev+0x0/0xe4) from Ðâ<c009e2e4>ÐÑ (do_readv_writev+0xb4/0x190) Ðâ<c009e230>ÐÑ (do_readv_writev+0x0/0x190) from Ðâ<c009e42c>ÐÑ (vfs_writev+0x6c/0x7c) Ðâ<c009e3c0>ÐÑ (vfs_writev+0x0/0x7c) from Ðâ<c009e510>ÐÑ (sys_writev+0x44/0x70) r5:00000000 r4:0030063f Ðâ<c009e4cc>ÐÑ (sys_writev+0x0/0x70) from Ðâ<c0028f60>ÐÑ (ret_fast_syscall+0x0/0x2c) Backtrace: Ðâ<c002c2a4>ÐÑ (dump_backtrace+0x0/0x10c) from Ðâ<c029d478>ÐÑ (dump_stack+0x18/0x1c) r7:00000000 r6:c3446738 r5:00017000 r4:00000000 Ðâ<c029d460>ÐÑ (dump_stack+0x0/0x1c) from Ðâ<c0036c74>ÐÑ (__schedule_bug+0x54/0x60) Ðâ<c0036c20>ÐÑ (__schedule_bug+0x0/0x60) from Ðâ<c029d6ec>ÐÑ (schedule+0x68/0x3c4) r4:c34bed4c Ðâ<c029d684>ÐÑ (schedule+0x0/0x3c4) from Ðâ<c00370b8>ÐÑ (__cond_resched+0x18/0x24) Ðâ<c00370a0>ÐÑ (__cond_resched+0x0/0x24) from Ðâ<c029db58>ÐÑ (_cond_resched+0x30/0x40) Ðâ<c029db28>ÐÑ (_cond_resched+0x0/0x40) from Ðâ<c008b0ec>ÐÑ (unmap_vmas+0x5d8/0x6a0) Ðâ<c008ab14>ÐÑ (unmap_vmas+0x0/0x6a0) from Ðâ<c008dd68>ÐÑ (exit_mmap+0xd4/0x208) Ðâ<c008dc94>ÐÑ (exit_mmap+0x0/0x208) from Ðâ<c003be60>ÐÑ (mmput+0x40/0xf0) r8:00000000 r7:c34bec34 r6:c3442320 r5:00000000 r4:c34bec00 Ðâ<c003be20>ÐÑ (mmput+0x0/0xf0) from Ðâ<c0040144>ÐÑ (exit_mm+0x124/0x130) r5:c34bec00 r4:00000000 Ðâ<c0040020>ÐÑ (exit_mm+0x0/0x130) from Ðâ<c0041bec>ÐÑ (do_exit+0x190/0x65c) r7:c49c3bd8 r6:c3442320 r5:c3442320 r4:0000000b Ðâ<c0041a5c>ÐÑ (do_exit+0x0/0x65c) from Ðâ<c002c7e0>ÐÑ (die+0x1c4/0x1f4) Ðâ<c002c61c>ÐÑ (die+0x0/0x1f4) from Ðâ<c002c858>ÐÑ (bad_mode+0x48/0x70) Ðâ<c002c810>ÐÑ (bad_mode+0x0/0x70) from Ðâ<c00744f8>ÐÑ (find_get_page+0x30/0xb0) r4:c03dc480 BUG: scheduling while atomic: syslogd/1411/0x40000002 Main question is: Why some frequencies are stable, and other does not? -- 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