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

Nishanth Aravamudan
2006-04-12T17:33:25Z

On 12.04.2006 [12:29:17 -0500], Kylene Jo Hall wrote:
> 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?

Probably, as long as they aren't exposed to userspace in any way. I
don't think userspace should do any calculations in jiffies units.

Thanks,
Nish

--
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center