On Mon, Oct 01, 2012 at 10:15:36AM -0600, Jason Gunthorpe wrote:
> On Mon, Oct 01, 2012 at 09:17:28AM +0000, peter.hu...@infineon.com wrote:
> > Hi Jason,
> > 
> > > The TPM will respond to TPM_GET_CAP with TPM_ERR_INVALID_POSTINIT if
> > > TPM_STARTUP has not been issued. This will result in the TPM driver
> > > failing to load and no way to recover. Detect this and automatically
> > > issue TPM_STARTUP.
> > 
> > > This is for embedded applications where the kernel is the first thing
> > > to touch the TPM.
> > 
> > Thanks for working on this.
> > I also thought about this scenario quite often.
> > 
> > Shouldn't we then also add a TpmStartup(ST_STATE) in case of a resume?
> >  rc=GetCapability()
> >  if(rc==INVALID_POSTINIT)
> >     tpm_transmit ("TPM_STARTUP(ST_STATE)")...
> 
> I'm not familiar enough with how the power management flow works with
> the TPM to do this. I don't think that can be the general case
> because:
> 
> 3. If stType = TPM_ST_STATE
>   a. If the TPM has no state to restore, the TPM MUST set the internal
>      state such that it returns TPM_FAILEDSELFTEST to all subsequent
>      commands.
> 
> So you need to know a save state exists in the TPM before attempting
> the command?

 Presumably we'd have called TPM_SaveState on suspend. It might be
possible to set a flag based on whether we needed to call startup at
init time that tells the driver to call save/restore state during
suspend/resume.

Kent

> Would you agree that CLEAR is appropriate for an initial driver
> attach on probe?
> 
> Jason
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to