summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorVisa Hankala <visa@cvs.openbsd.org>2018-01-07 05:19:42 +0000
committerVisa Hankala <visa@cvs.openbsd.org>2018-01-07 05:19:42 +0000
commit3bd2d67a8db5b095708dbc1de44ca0c977d5d41e (patch)
tree3d80d2f86219f08838d429755c004b2f0e3426aa /sys
parentf8cdee28d49d0ea1407da4123e60fa88029a8b4e (diff)
Add references to errata.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/octeon/dev/if_cnmac.c11
-rw-r--r--sys/arch/octeon/dev/octmmc.c13
2 files changed, 13 insertions, 11 deletions
diff --git a/sys/arch/octeon/dev/if_cnmac.c b/sys/arch/octeon/dev/if_cnmac.c
index 80adf0dfafb..a7f358b95fd 100644
--- a/sys/arch/octeon/dev/if_cnmac.c
+++ b/sys/arch/octeon/dev/if_cnmac.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_cnmac.c,v 1.73 2017/11/26 15:44:20 visa Exp $ */
+/* $OpenBSD: if_cnmac.c,v 1.74 2018/01/07 05:19:41 visa Exp $ */
/*
* Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -1162,10 +1162,11 @@ cnmac_recv_mbuf(struct cnmac_softc *sc, uint64_t *work,
/*
* Because of a hardware bug in some Octeon models the size
- * field of word3 can be wrong. However, the hardware uses
- * all space in a buffer before moving to the next one so
- * it is possible to derive the size of this data segment
- * from the size of packet data buffers.
+ * field of word3 can be wrong (erratum PKI-100).
+ * However, the hardware uses all space in a buffer before
+ * moving to the next one so it is possible to derive
+ * the size of this data segment from the size
+ * of packet data buffers.
*/
size = OCTEON_POOL_SIZE_PKT - (addr - pktbuf);
if (size > left)
diff --git a/sys/arch/octeon/dev/octmmc.c b/sys/arch/octeon/dev/octmmc.c
index 12d0972b7e2..a0a57d42823 100644
--- a/sys/arch/octeon/dev/octmmc.c
+++ b/sys/arch/octeon/dev/octmmc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: octmmc.c,v 1.10 2017/11/09 02:35:34 visa Exp $ */
+/* $OpenBSD: octmmc.c,v 1.11 2018/01/07 05:19:41 visa Exp $ */
/*
* Copyright (c) 2016, 2017 Visa Hankala
@@ -821,11 +821,12 @@ octmmc_dma_load_6130(struct octmmc_softc *sc, struct sdmmc_command *cmd)
paddr_t locked_block = 0;
/*
- * According to Linux, the DMA hardware has a silicon bug that can
- * corrupt data. As a workaround, Linux locks the second last block
- * of a transfer into the L2 cache if the opcode is multi-block write
- * and there are more than two data blocks to write. In Linux, it is
- * not described under what circumstances the corruption can happen.
+ * The DMA hardware has a silicon bug that can corrupt data
+ * (erratum EMMC-17978). As a workaround, Linux locks the second last
+ * block of a transfer into the L2 cache if the opcode is multi-block
+ * write and there are more than two data blocks to write.
+ * In Linux, it is not described under what circumstances
+ * the corruption can happen.
* Lacking better information, use the same workaround here.
*/
if (cmd->c_opcode == MMC_WRITE_BLOCK_MULTIPLE &&