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

From: Krishna Yarlagadda
Date: Wed Mar 15 2023 - 11:47:40 EST



> -----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.
KY
>
> 1. tpm_tis_spi_transfer_half()
> 2. tpm_tis_spi_transfer_full()
>
> BR, Jarkko