lkml.org 
[lkml]   [2008]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.24-rc8 hangs at mfgpt-timer
Hi Lars,

Lars Heete schrieb:
> Hello,
>
> On Tuesday 22 January 2008 10:03:08 am Arnd Hannemann wrote:
>> Jordan Crouse wrote:
>>> Okay - I've been exploring a little bit more. I talked to the TinyBIOS
>>> developer, and he verified that TinyBIOS shouldn't use any MFGPT timers.
>>> He also told me that the mysterious "MFGPT workaround" was in fact the
>>> magic MFGPT erasing MSR that was in the old kernel driver.
>>>
>>> So with the "MFGPT workaround" turned off, TinyBIOS should be acting like
>>> the OLPC firmware with regards to timers, yet it is not. So that is
>>> curious. I think I might have identified a race condition in the code,
>>> but I'm not 100% sure thats the same problem that the ALIX platform is
>>> seeing.
>>>
>>> Anrd and others - will you please try the attached patch on your platform
>>> with the "MFGPT workaround" turned off and mfgpts enabled, and send out
>>> the dmesg?
>> Of course, tinyBios version v0.99, "MFGPT workaround" turned off,
>> CONFIG_GEODE_MFGPT_TIMER=n:
>>
>> [ 67.369697] NET: Registered protocol family 16
>> [ 67.383059] geode-mfgpt: IRQ MSR=0:0
>> [ 67.394058] geode-mfgpt: NMI MSR=0:0
>> [ 67.405049] geode-mfgpt: Unrestricted sources=0
>> [ 67.418909] geode: 8 MFGPT timers available.
>> [ 67.433211] PCI: PCI BIOS revision 2.10 entry at 0xfcd03, last bus=0
>>
>> same with CONFIG_GEODE_MFGPT_TIMER=y (sorry, without move printk patch):
>>
>> [ 22.289349] NET: Registered protocol family 16
>> [ 22.302716] geode-mfgpt: IRQ MSR=0:0
>> [ 22.313716] geode-mfgpt: NMI MSR=0:0
>> [ 22.324704] geode-mfgpt: Unrestricted sources=0
>> [ 22.338566] geode-mfgpt: Registered timer 0
>> [ 22.351393] mfgpt-timer: registering the MFGT timer as a clock event.
>> ^^^^ Hangs here
> I had the same problem with MFGPT Timers and alix (BIOS v0.99). I found that
> if you use a different interrupt than the default 7 for MFGPT (just append
> mfgpt_irq=8 to the kernel commandline), the timer seems to work.

Indeed.
Strange, it works at least with mfgpt_irq=8 (rtc) and mfgpt_irq=5 (audio):

[ 21.805129] geode-mfgpt: IRQ MSR=0:0
[ 21.816129] geode-mfgpt: NMI MSR=0:0
[ 21.827116] geode-mfgpt: Unrestricted sources=0
[ 21.840979] geode-mfgpt: Registered timer 0
[ 21.853806] mfgpt-timer: registering the MFGT timer as a clock event.
[ 21.873576] geode: 8 MFGPT timers available.
[ 21.887962] PCI: PCI BIOS revision 2.10 entry at 0xfcd03, last bus=0


/proc/interrupts with mfgpt_irq=5:
CPU0
0: 48 XT-PIC-XT timer
2: 0 XT-PIC-XT cascade
4: 674 XT-PIC-XT serial
5: 13706 XT-PIC-XT mfgpt-timer
8: 3 XT-PIC-XT rtc
10: 57137 XT-PIC-XT eth0
15: 1 XT-PIC-XT ehci_hcd:usb1, ohci_hcd:usb2
NMI: 0 Non-maskable interrupts
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0

/proc/interrupts with mfgpt_irq=8:
CPU0
0: 48 XT-PIC-XT timer
2: 0 XT-PIC-XT cascade
4: 2511 XT-PIC-XT serial
8: 29061 XT-PIC-XT mfgpt-timer
10: 60701 XT-PIC-XT eth0
15: 1 XT-PIC-XT ehci_hcd:usb1, ohci_hcd:usb2
NMI: 0 Non-maskable interrupts
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0

I noted that "rtc" disappeared, do I have any drawback of this?
I assume that the mfgpt-timer cannot be shared?

>
> CPU0
> 0: 33 XT-PIC-XT timer
> 2: 0 XT-PIC-XT cascade
> 4: 1662 XT-PIC-XT serial
> 8: 766 XT-PIC-XT mfgpt-timer
> 14: 473 XT-PIC-XT libata
> NMI: 0
> ERR: 0
>
>
>>> This will give us some debug information that I can use to ensure that
>>> the interrupts are set up correctly. You can leave the timer tick
>>> disabled if you want.
>>>
>>>
>>> Thanks,
>>> Jordan
>> Arnd
>
> Lars
>

Thanks for the hint!
Arnd


\
 
 \ /
  Last update: 2008-01-22 12:21    [W:0.202 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site