drivers/i2c/tpm/cr50: Reduce max buffer size
Reduce the static buffer size from the generic default 1260
down to 64 to match the max FIFO size for the cr50 hardware
and reduce the footprint of the driver.
BUG=chrome-os-partner:53336
Change-Id: Ia88facca607f3fd5072d0d986323fde075f15855
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
diff --git a/src/drivers/i2c/tpm/cr50.c b/src/drivers/i2c/tpm/cr50.c
index 419ac1e..1190262 100644
--- a/src/drivers/i2c/tpm/cr50.c
+++ b/src/drivers/i2c/tpm/cr50.c
@@ -41,19 +41,19 @@
#include <timer.h>
#include "tpm.h"
-#define CR50_MAX_BURSTCOUNT 63
#define SLEEP_DURATION 60 /* in usec */
#define SLEEP_DURATION_LONG 210 /* in usec */
#define SLEEP_DURATION_SAFE 750 /* in usec */
#define SLEEP_DURATION_PROBE_MS 1000 /* in msec */
+#define CR50_MAX_BUFSIZE 63
#define CR50_DID_VID 0x00281ae0L
struct tpm_inf_dev {
int bus;
unsigned int addr;
- uint8_t buf[TPM_BUFSIZE + sizeof(uint8_t)];
+ uint8_t buf[CR50_MAX_BUFSIZE + sizeof(uint8_t)];
};
static struct tpm_inf_dev g_tpm_dev CAR_GLOBAL;
@@ -115,7 +115,7 @@
if (tpm_dev->addr == 0)
return -1;
- if (len > TPM_BUFSIZE)
+ if (len > CR50_MAX_BUFSIZE)
return -1;
/* Prepend the 'register address' to the buffer */
@@ -226,7 +226,7 @@
/* Check if mask matches and burst is valid */
if ((*status & mask) == mask &&
- *burst > 0 && *burst <= CR50_MAX_BURSTCOUNT)
+ *burst > 0 && *burst <= CR50_MAX_BUFSIZE)
return 0;
udelay(SLEEP_DURATION_SAFE);
@@ -310,9 +310,6 @@
uint8_t tpm_go[4] = { TPM_STS_GO };
struct stopwatch sw;
- if (len > TPM_BUFSIZE)
- return -1;
-
stopwatch_init_msecs_expire(&sw, 2000);
/* Wait until TPM is ready for a command */