[PATCH 1/1] libata: pata_pdc2027x PLL input clock fix
Albert Lee
albertcc at tw.ibm.com
Mon Jul 16 19:12:25 EST 2007
Mikael Pettersson wrote:
> On Wed, 11 Jul 2007 10:45:35 +0800, Albert Lee wrote:
>
>>So, it seems both mdelay(37) and do_gettimeofday() are working properly on PowerMac G3.
>>Maybe the calculated wrong PLL input is due to wrong reading of the counter register?
>>Could you please try the attached debug patch for more clue, thanks.
>
>
> This, supposedly debug-only, patch gives me much better PLL calibration:
>
> pata_pdc2027x 0000:00:0e.0: version 0.9
> bccrh [0] bccrl [0]
> bccrhv[0] bccrlv[0]
> bccrh [7FCF] bccrl [15ED]
> bccrhv[7FCF] bccrlv[15D4]
> start[0] end[1072141805]
> usec_elapsed for mdelay(100) [105500]
> start time: [1184152411]s [689475]us
> end time: [1184152411]s [794975]us
> PLL input clock[-1563248254]Hz
> usec_elapsed for mdelay(37) [35432]
> start time: [1184152411]s [818033]us
> end time: [1184152411]s [853465]us
> bccrh [7FC9] bccrl [1A4B]
> bccrhv[7FC9] bccrlv[1A4B]
> bccrh [7F98] bccrl [3038]
> bccrhv[7F98] bccrlv[301F]
> start[1071946315] end[1070346296]
> usec_elapsed for mdelay(100) [103571]
> start time: [1184152411]s [874717]us
> end time: [1184152411]s [978288]us
> PLL input clock[15440000]Hz
> usec_elapsed for mdelay(37) [35431]
> start time: [1184152411]s [997039]us
> end time: [1184152412]s [32470]us
> pata_pdc2027x 0000:00:0e.0: PLL input clock 15440 kHz
>
> and from then on things are fine.
>
> Weird. I'll try with an older gcc later (been using gcc-4.2.0 so far).
>
Is the problem reproducible with more reload loops? Maybe we could try
something like:
#!/bin/sh
while : ; do
rmmod pata_pdc2027x
sleep 1
modprobe pata_pdc2027x
done
and "tail -f /var/log/messages|grep PLL > pll_test.log" to check the
PLL clock.
--
albert
More information about the Linuxppc-dev
mailing list