From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: albertl@mail.com, Mikael Pettersson <mikpe@it.uu.se>,
alan@lxorguk.ukuu.org.uk, jeff@garzik.org,
linux-ide@vger.kernel.org
Subject: Re: [PATCH 2.6.23-rc3] pata_pdc2027x: PLL detection fixes
Date: Fri, 24 Aug 2007 22:44:17 +0400 [thread overview]
Message-ID: <46CF2701.4090904@ru.mvista.com> (raw)
In-Reply-To: <200708242031.08399.bzolnier@gmail.com>
Hello.
Bartlomiej Zolnierkiewicz wrote:
>>>>>b) puts more work [the enter test mode stuff] in between the start
>>>>> and and sampling points, reducing the precision of the PLL
>>>>> detection; I actually observed quite noticeable differences
>>>>> in detected PLL frequency based on whether the start was sampled
>>>>> before or after the test mode enter code
>>>> I'd think this differnce is negligible with 100 ms delay. But why not
>>>>-- shouldn't harm indeed (except it's better to read a stable counter
>>>>before than unstable one after entering test mode)?
>>>>>>> The fix is to move the read of the start value to after
>>>>>>> test mode is started, but before the mdelay() in test mode.
>>>>>> This is not an issue, so no fix is needed.
>>>>>>> This also improves the precision of the PLL detection.
>>>>>> BTW, looks like we don't even need to bother reading the darn
>>>>>>counter beforehand: bit 1 of the indexed register 1 (the same used to
>>>>>>enter/exit test mode by twiddling its bit 6) when being cleared
>>>>>>should reset the counter to 0
>>>> Or maybe to 0x7fff? I can't remember already -- never seen those
>>>>infamous Promise papers, and I was testing this code looong ago
>>>>already... :-)
>>>I've tested reloading the pata_pdc2027x module before.
>>>The counter seems not cleared when leaving the test mode.
>> I never saud that. Counter should be cleared by resetting "test mode" bit.
I meant to say "shouldn't".
>>But I'm seeing the cause of misinteprettion: one may think that bit 1 is used
>>to clear counters but I meant to say that clearing bit 1 of that ssme register
>>should clear the counters...
>>>>>>>2. The code to compute the number of PLL decrements during the
>>>>>>> mdelay() in test mode fails to consider that the PLL counter
>>>>>>> only is 30 bits wide. If there is a wraparound, it will compute
>>>>>>> an incorrect and much too large value. On the PowerMac, the
>>>>>>> start count is zero, the end count is a large 30-bit value, so
>>>>>>> wraparound occurs and an out of bounds PLL clock is detected.
>>>>>>> The fix is to mask the (start - end) computation to 30 bits.
>>>>>> Yeah, that's what I've done for the old IDE driver...
>>>>>Except that due to what may be a typo pdc202xx_new masks to
>>>>>26 bits, not 30.
>>>> Indeed! :-<
>>>> Thanks for noticing -- this is a typo, of course... And it's a pity
>>>>that Albert failed to notice it when he last touched that driver...
>>>I was too blind to notice the wrong 26-bit mask. :(
>>>Fortunately with the 10ms delay used by the IDE pdc202xx_new driver,
>>>(start_count - end_count) is smaller than the 26-bit mask. So it
>>>doesn't actually damage anything.
>> Yeah, I thought so.
> I'm a bit lost in this discussion.
> Do we need some of these pata_pdc2027x fixes in pdc202xx_new or not?
Mikael alredy has a patch fixing the clipped mask for end_time and
start_time difference -- 0x3fffffff ISO of 0x3ffffff.
> Thanks,
> Bart
MBR, Sergei
next prev parent reply other threads:[~2007-08-24 18:41 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-19 17:17 [PATCH 2.6.23-rc3] pata_pdc2027x: PLL detection fixes Mikael Pettersson
2007-08-19 17:51 ` Sergei Shtylyov
2007-08-19 19:47 ` Jeff Garzik
2007-08-24 16:29 ` Sergei Shtylyov
2007-08-21 10:30 ` Albert Lee
2007-08-24 16:24 ` Sergei Shtylyov
2007-08-24 18:31 ` Bartlomiej Zolnierkiewicz
2007-08-24 18:44 ` Sergei Shtylyov [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-08-18 20:58 Mikael Pettersson
2007-08-18 21:25 ` Jeff Garzik
2007-08-19 0:14 ` Albert Lee
2007-08-19 0:53 ` Jeff Garzik
2007-08-19 1:03 ` Albert Lee
2007-08-19 0:01 ` Albert Lee
2007-08-19 16:13 ` Sergei Shtylyov
2007-08-23 9:32 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46CF2701.4090904@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=albertl@mail.com \
--cc=bzolnier@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=mikpe@it.uu.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).