Browse Source

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>
---
Benjamin Herrenschmidt 7 years ago
parent
commit
375cac7010
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/fsi/fsi-master-ast-cf.c

+ 2 - 2
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;