Re: [Patch V8 2/3] tpm_tis-spi: Add hardware wait polling

From: Jarkko Sakkinen
Date: Sun Mar 19 2023 - 09:42:43 EST


On Wed, Mar 15, 2023 at 03:47:33PM +0000, Krishna Yarlagadda wrote:
>
> > -----Original Message-----
> > From: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
> > Sent: 12 March 2023 03:19
> > To: Krishna Yarlagadda <kyarlagadda@xxxxxxxxxx>; robh+dt@xxxxxxxxxx;
> > broonie@xxxxxxxxxx; peterhuewe@xxxxxx; jgg@xxxxxxxx;
> > krzysztof.kozlowski+dt@xxxxxxxxxx; linux-spi@xxxxxxxxxxxxxxx; linux-
> > tegra@xxxxxxxxxxxxxxx; linux-integrity@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx
> > Cc: thierry.reding@xxxxxxxxx; Jonathan Hunter <jonathanh@xxxxxxxxxx>;
> > Sowjanya Komatineni <skomatineni@xxxxxxxxxx>; Laxman Dewangan
> > <ldewangan@xxxxxxxxxx>
> > Subject: Re: [Patch V8 2/3] tpm_tis-spi: Add hardware wait polling
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Thu, 2023-03-02 at 09:48 +0530, Krishna Yarlagadda wrote:
> > > +int tpm_tis_spi_transfer(struct tpm_tis_data *data, u32 addr, u16
> > > len,
> > > + u8 *in, const u8 *out)
> > > +{
> > > + struct tpm_tis_spi_phy *phy = to_tpm_tis_spi_phy(data);
> > > + struct spi_controller *ctlr = phy->spi_device->controller;
> > > +
> > > + /*
> > > + * TPM flow control over SPI requires full duplex support.
> > > + * Send entire message to a half duplex controller to handle
> > > + * wait polling in controller.
> > > + * Set TPM HW flow control flag..
> > > + */
> > > + if (ctlr->flags & SPI_CONTROLLER_HALF_DUPLEX)
> > > + return tpm_tis_spi_hw_flow_transfer(data, addr, len,
> > > in,
> > > + out);
> > > + else
> > > + return tpm_tis_spi_sw_flow_transfer(data, addr, len,
> > > in,
> > > + out);
> > > +}
> > > +
> >
> > Based on the condition, better names would be
> Though condition is based on half duplex, functions are implementing
> HW or SW flow of the transfer.

Both are hardwaw flows in the sense that you are controlling a piece of hardware.

BR, Jarkko