Re: [PATCH 7/7] tpm: Driver for next generation TPM chips

Kylene Jo Hall
2006-04-12T17:28:28Z

On Tue, 2006-04-11 at 16:05 -0700, Nishanth Aravamudan wrote:
> return l;
> > +
> > + } else {
> > + /* wait for burstcount */
> > + stop = jiffies + (HZ * chip->vendor.timeout_a / 1000);
> > + do {
> > + if (check_locality(chip, l) >= 0)
> > + return l;
> > + msleep(TPM_TIMEOUT);
> > + }
> > + while (time_before(jiffies, stop));
> > + }
>
> This looks like it could take the msecs_to_jiffies() conversion as well.
> Might as well cache it before the if/else, as both clauses use it?
> Really, it is just wait_event*() without the wait-queue. Well, this is
> at least one more consumer potentially of the poll_event*() API I had
> written a while back, I'll dust it off again if I have the time.
>
> <snip>
>
> > +static int get_burstcount(struct tpm_chip *chip)
> > +{
> > + unsigned long stop;
> > + int burstcnt;
> > +
> > + /* wait for burstcount */
> > + /* which timeout value, spec has 2 answers (c & d) */
> > + stop = jiffies + (HZ * chip->vendor.timeout_d / 1000);
>
> msecs_to_jiffies().

>

Since the timeout and duration values are always used in jiffies I think
I'll just convert them to those values when I store them in the chip
struct to cut way down on the number of conversions all together. Sound
reasonable?

Thanks,
Kylie