From 375cac70100b58ce8f4737ec530bfbdcb3086964 Mon Sep 17 00:00:00 2001
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Wed, 25 Jul 2018 14:57:21 +1000
Subject: [PATCH] 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>
---
---
 drivers/fsi/fsi-master-ast-cf.c | 4 ++--
 1 file 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;