summaryrefslogtreecommitdiff
path: root/drivers/fsi
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-07-25 07:57:21 +0300
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-07-25 09:04:53 +0300
commit375cac70100b58ce8f4737ec530bfbdcb3086964 (patch)
tree559c8ceebf73cb7a91a2ec84a7d67c6d242c6ca2 /drivers/fsi
parentd0cff240b83babe72f5ba28044268b86aaa91d53 (diff)
downloadlinux-375cac70100b58ce8f4737ec530bfbdcb3086964.tar.xz
fsi: master-ast-cf: Mask unused bits in RTAG/RCRC
Then reading the RTAG/RCRC "registers" from the coprocessor after a command is complete, mask out the top bits, only keep the relevant bits. Microcode v5 will leave garbage in those top bits as a result of a performance optimization. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> ---
Diffstat (limited to 'drivers/fsi')
-rw-r--r--drivers/fsi/fsi-master-ast-cf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/fsi/fsi-master-ast-cf.c b/drivers/fsi/fsi-master-ast-cf.c
index c4a35579bfdc..b59abcf3ee32 100644
--- a/drivers/fsi/fsi-master-ast-cf.c
+++ b/drivers/fsi/fsi-master-ast-cf.c
@@ -377,8 +377,8 @@ static int send_request(struct fsi_master_acf *master, struct fsi_msg *cmd,
static int read_copro_response(struct fsi_master_acf *master, uint8_t size,
uint32_t *response, u8 *tag)
{
- uint8_t rtag = ioread8(master->sram + STAT_RTAG);
- uint8_t rcrc = ioread8(master->sram + STAT_RCRC);
+ uint8_t rtag = ioread8(master->sram + STAT_RTAG) & 0xf;
+ uint8_t rcrc = ioread8(master->sram + STAT_RCRC) & 0xf;
uint32_t rdata = 0;
uint32_t crc;
uint8_t ack;