OSDN Git Service

fsi: master-ast-cf: Mask unused bits in RTAG/RCRC
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 25 Jul 2018 04:57:21 +0000 (14:57 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 25 Jul 2018 06:04:53 +0000 (16:04 +1000)
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

index c4a3557..b59abcf 100644 (file)
@@ -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;