On Fri, Aug 19, 2011 at 5:48 PM, Matt Turner <mattst88@xxxxxxxxx> wrote: > On Fri, Aug 19, 2011 at 5:21 PM, john stultz <johnstul@xxxxxxxxxx> wrote: >> On Fri, 2011-08-19 at 16:56 -0400, Matt Turner wrote: >>> With 2.6.37 the original rtctest program gives >>> >>> RTC Driver Test Example. >>> >>> RTC_UIE_ON ioctl: Invalid argument >>> >>> and the modified version hangs in the same way. :( >> >> Ok, so the AIE/alarm irq isn't working (but returns as if it should), >> and in the older case, the UIE mode properly returned an error. >> >> So I'm guessing since we now use AIE mode interrupts to emulate UIE, the >> UIE code thinks alarms will work and so doesn't return an error, >> confusing the hwclock code. >> >>> With 2.6.37, hwclock did work: >>> >>> bcm91250a-be ~ # date >>> Fri Aug 19 16:52:21 EDT 2011 >>> bcm91250a-be ~ # hwclock --systohc >>> bcm91250a-be ~ # date 082016522011 >>> Sat Aug 20 16:52:00 EDT 2011 >>> bcm91250a-be ~ # hwclock --hctosys >>> bcm91250a-be ~ # date >>> Fri Aug 19 16:53:02 EDT 2011 >> >> Running strace on the hwclock --hctosys might prove the theory above. >> >> >>> With 3.1.0-rc2+, it does not >>> bcm91250a-be ~ # date >>> Fri Aug 19 16:54:32 EDT 2011 >>> bcm91250a-be ~ # hwclock --systohc >>> select() to /dev/rtc0 to wait for clock tick timed out >>> bcm91250a-be ~ # date 082016542011 >>> Sat Aug 20 16:54:00 EDT 2011 >>> bcm91250a-be ~ # hwclock --hctosys >>> select() to /dev/rtc0 to wait for clock tick timed out >>> bcm91250a-be ~ # date >>> Sat Aug 20 16:54:11 EDT 2011 >>> >>> So, even if the alarm never worked, there is some sort of regression here. >> >> Yea, since we depend on the alarm irq for more functionality now, it not >> working in this case is causing more trouble. >> >> I suspect either fixing the driver alarm code so it either works or >> provides a proper error code will resolve it. >> >> thanks >> -john > > Indeed, looks like that's the case. > > 2.6.37: ioctl(3, PRESTO_GETMOUNT or RTC_UIE_ON, 0) = -1 EINVAL > 3.1.0: ioctl(3, PRESTO_GETMOUNT or RTC_UIE_ON, 0) = 0 > > (Attaching full gz'd logs for posterity.) > > Thanks, > Matt I looked through the datasheet and tried to find a place where we're doing something wrong in the driver, but I didn't see anything. http://www.datasheetcatalog.com/datasheets_pdf/M/4/1/T/M41T80.shtml Any ideas? Matt