Add references to errata.
authorvisa <visa@openbsd.org>
Sun, 7 Jan 2018 05:19:41 +0000 (05:19 +0000)
committervisa <visa@openbsd.org>
Sun, 7 Jan 2018 05:19:41 +0000 (05:19 +0000)
sys/arch/octeon/dev/if_cnmac.c
sys/arch/octeon/dev/octmmc.c

index 80adf0d..a7f358b 100644 (file)
@@ -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)
index 12d0972..a0a57d4 100644 (file)
@@ -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 &&