mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-17 20:54:10 +00:00
tpm: Fix some name collisions with drivers/char/tpm.h
* Rename TPM_BUFSIZE defined in drivers/char/tpm/st33zp24/st33zp24.h to ST33ZP24_BUFSIZE. * Rename TPM_BUFSIZE defined in drivers/char/tpm/tpm_i2c_infineon.c to TPM_I2C_INFINEON_BUFSIZE. * Rename TPM_RETRY in tpm_i2c_nuvoton to TPM_I2C_RETRIES. * Remove TPM_HEADER_SIZE from tpm_i2c_nuvoton. Cc: stable@vger.kernel.org Fixes:bf38b87108
("tpm/tpm_i2c_stm_st33: Split tpm_i2c_tpm_st33 in 2 layers (core + phy)") Fixes:aad628c1d9
("char/tpm: Add new driver for Infineon I2C TIS TPM") Fixes:32d33b29ba
("TPM: Retry SaveState command in suspend path") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
This commit is contained in:
parent
3d7a850fdc
commit
8ab547a2dc
5 changed files with 19 additions and 20 deletions
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
struct st33zp24_i2c_phy {
|
struct st33zp24_i2c_phy {
|
||||||
struct i2c_client *client;
|
struct i2c_client *client;
|
||||||
u8 buf[TPM_BUFSIZE + 1];
|
u8 buf[ST33ZP24_BUFSIZE + 1];
|
||||||
int io_lpcpd;
|
int io_lpcpd;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
* some latency byte before the answer is available (max 15).
|
* some latency byte before the answer is available (max 15).
|
||||||
* We have 2048 + 1024 + 15.
|
* We have 2048 + 1024 + 15.
|
||||||
*/
|
*/
|
||||||
#define ST33ZP24_SPI_BUFFER_SIZE (TPM_BUFSIZE + (TPM_BUFSIZE / 2) +\
|
#define ST33ZP24_SPI_BUFFER_SIZE (ST33ZP24_BUFSIZE + (ST33ZP24_BUFSIZE / 2) +\
|
||||||
MAX_SPI_LATENCY)
|
MAX_SPI_LATENCY)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
#ifndef __LOCAL_ST33ZP24_H__
|
#ifndef __LOCAL_ST33ZP24_H__
|
||||||
#define __LOCAL_ST33ZP24_H__
|
#define __LOCAL_ST33ZP24_H__
|
||||||
|
|
||||||
#define TPM_WRITE_DIRECTION 0x80
|
#define TPM_WRITE_DIRECTION 0x80
|
||||||
#define TPM_BUFSIZE 2048
|
#define ST33ZP24_BUFSIZE 2048
|
||||||
|
|
||||||
struct st33zp24_dev {
|
struct st33zp24_dev {
|
||||||
struct tpm_chip *chip;
|
struct tpm_chip *chip;
|
||||||
|
|
|
@ -26,8 +26,7 @@
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
#include "tpm.h"
|
#include "tpm.h"
|
||||||
|
|
||||||
/* max. buffer size supported by our TPM */
|
#define TPM_I2C_INFINEON_BUFSIZE 1260
|
||||||
#define TPM_BUFSIZE 1260
|
|
||||||
|
|
||||||
/* max. number of iterations after I2C NAK */
|
/* max. number of iterations after I2C NAK */
|
||||||
#define MAX_COUNT 3
|
#define MAX_COUNT 3
|
||||||
|
@ -63,11 +62,13 @@ enum i2c_chip_type {
|
||||||
UNKNOWN,
|
UNKNOWN,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Structure to store I2C TPM specific stuff */
|
|
||||||
struct tpm_inf_dev {
|
struct tpm_inf_dev {
|
||||||
struct i2c_client *client;
|
struct i2c_client *client;
|
||||||
int locality;
|
int locality;
|
||||||
u8 buf[TPM_BUFSIZE + sizeof(u8)]; /* max. buffer size + addr */
|
/* In addition to the data itself, the buffer must fit the 7-bit I2C
|
||||||
|
* address and the direction bit.
|
||||||
|
*/
|
||||||
|
u8 buf[TPM_I2C_INFINEON_BUFSIZE + 1];
|
||||||
struct tpm_chip *chip;
|
struct tpm_chip *chip;
|
||||||
enum i2c_chip_type chip_type;
|
enum i2c_chip_type chip_type;
|
||||||
unsigned int adapterlimit;
|
unsigned int adapterlimit;
|
||||||
|
@ -219,7 +220,7 @@ static int iic_tpm_write_generic(u8 addr, u8 *buffer, size_t len,
|
||||||
.buf = tpm_dev.buf
|
.buf = tpm_dev.buf
|
||||||
};
|
};
|
||||||
|
|
||||||
if (len > TPM_BUFSIZE)
|
if (len > TPM_I2C_INFINEON_BUFSIZE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!tpm_dev.client->adapter->algo->master_xfer)
|
if (!tpm_dev.client->adapter->algo->master_xfer)
|
||||||
|
@ -527,8 +528,8 @@ static int tpm_tis_i2c_send(struct tpm_chip *chip, u8 *buf, size_t len)
|
||||||
u8 retries = 0;
|
u8 retries = 0;
|
||||||
u8 sts = TPM_STS_GO;
|
u8 sts = TPM_STS_GO;
|
||||||
|
|
||||||
if (len > TPM_BUFSIZE)
|
if (len > TPM_I2C_INFINEON_BUFSIZE)
|
||||||
return -E2BIG; /* command is too long for our tpm, sorry */
|
return -E2BIG;
|
||||||
|
|
||||||
if (request_locality(chip, 0) < 0)
|
if (request_locality(chip, 0) < 0)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
|
@ -35,14 +35,12 @@
|
||||||
#include "tpm.h"
|
#include "tpm.h"
|
||||||
|
|
||||||
/* I2C interface offsets */
|
/* I2C interface offsets */
|
||||||
#define TPM_STS 0x00
|
#define TPM_STS 0x00
|
||||||
#define TPM_BURST_COUNT 0x01
|
#define TPM_BURST_COUNT 0x01
|
||||||
#define TPM_DATA_FIFO_W 0x20
|
#define TPM_DATA_FIFO_W 0x20
|
||||||
#define TPM_DATA_FIFO_R 0x40
|
#define TPM_DATA_FIFO_R 0x40
|
||||||
#define TPM_VID_DID_RID 0x60
|
#define TPM_VID_DID_RID 0x60
|
||||||
/* TPM command header size */
|
#define TPM_I2C_RETRIES 5
|
||||||
#define TPM_HEADER_SIZE 10
|
|
||||||
#define TPM_RETRY 5
|
|
||||||
/*
|
/*
|
||||||
* I2C bus device maximum buffer size w/o counting I2C address or command
|
* I2C bus device maximum buffer size w/o counting I2C address or command
|
||||||
* i.e. max size required for I2C write is 34 = addr, command, 32 bytes data
|
* i.e. max size required for I2C write is 34 = addr, command, 32 bytes data
|
||||||
|
@ -292,7 +290,7 @@ static int i2c_nuvoton_recv(struct tpm_chip *chip, u8 *buf, size_t count)
|
||||||
dev_err(dev, "%s() count < header size\n", __func__);
|
dev_err(dev, "%s() count < header size\n", __func__);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
for (retries = 0; retries < TPM_RETRY; retries++) {
|
for (retries = 0; retries < TPM_I2C_RETRIES; retries++) {
|
||||||
if (retries > 0) {
|
if (retries > 0) {
|
||||||
/* if this is not the first trial, set responseRetry */
|
/* if this is not the first trial, set responseRetry */
|
||||||
i2c_nuvoton_write_status(client,
|
i2c_nuvoton_write_status(client,
|
||||||
|
|
Loading…
Add table
Reference in a new issue