from netbsd: fix loading of 0 to intended value of 256, plus style police
authorniklas <niklas@openbsd.org>
Wed, 31 Jan 1996 22:54:50 +0000 (22:54 +0000)
committerniklas <niklas@openbsd.org>
Wed, 31 Jan 1996 22:54:50 +0000 (22:54 +0000)
sys/arch/amiga/dev/sfas.c

index 2c89c1e..5e9eeda 100644 (file)
@@ -1404,54 +1404,57 @@ sfas_postaction(dev, rp, nexus)
                 * from the DMA block. */
                dev->sc_setup_dma(dev, 0, 0, SFAS_DMA_CLEAR);
                if (dev->sc_cur_link < dev->sc_max_link) {
-                 if (!dev->sc_dma_blk_len) {
-                   dev->sc_dma_blk_ptr = dev->sc_chain[dev->sc_cur_link].ptr;
-                   dev->sc_dma_blk_len = dev->sc_chain[dev->sc_cur_link].len;
-                   dev->sc_dma_blk_flg = dev->sc_chain[dev->sc_cur_link].flg;
-                 }
-
-                 /* We should use polled IO here. */
-                 if (dev->sc_dma_blk_flg == SFAS_CHAIN_PRG) {
-                       sfas_ixfer(dev);
-                       dev->sc_cur_link++;
-                       dev->sc_dma_len = 0;
-                       break;
-                 }
-                 else if (dev->sc_dma_blk_flg == SFAS_CHAIN_BUMP)
-                       len = dev->sc_dma_blk_len;
-                 else
-                       len = dev->sc_need_bump(dev, dev->sc_dma_blk_ptr,
-                                               dev->sc_dma_blk_len);
-
-                 /*
-                  * If len != 0 we must bump the data, else we just DMA it
-                  * straight into memory.
-                  */
-                 if (len) {
-                       dev->sc_dma_buf = dev->sc_bump_pa;
-                       dev->sc_dma_len = len;
-
-                       if (nexus->state == SFAS_NS_DATA_OUT)
-                         bcopy(dev->sc_buf, dev->sc_bump_va, dev->sc_dma_len);
-                 } else {
-                       dev->sc_dma_buf = dev->sc_dma_blk_ptr;
-                       dev->sc_dma_len = dev->sc_dma_blk_len;
-                 }
-
-                 /* Load DMA with adress and length of transfer. */
-                 dev->sc_setup_dma(dev, dev->sc_dma_buf, dev->sc_dma_len,
-                                   ((nexus->state == SFAS_NS_DATA_OUT) ?
-                                    SFAS_DMA_WRITE : SFAS_DMA_READ));
-
-                 cmd = SFAS_CMD_TRANSFER_INFO | SFAS_CMD_DMA;
+                       if (!dev->sc_dma_blk_len) {
+                               dev->sc_dma_blk_ptr =
+                                   dev->sc_chain[dev->sc_cur_link].ptr;
+                               dev->sc_dma_blk_len =
+                                   dev->sc_chain[dev->sc_cur_link].len;
+                               dev->sc_dma_blk_flg =
+                                   dev->sc_chain[dev->sc_cur_link].flg;
+                       }
+
+                       /* We should use polled IO here. */
+                       if (dev->sc_dma_blk_flg == SFAS_CHAIN_PRG) {
+                               sfas_ixfer(dev);
+                               dev->sc_cur_link++;
+                               dev->sc_dma_len = 0;
+                               break;
+                       } else if (dev->sc_dma_blk_flg == SFAS_CHAIN_BUMP)
+                               len = dev->sc_dma_blk_len;
+                       else
+                               len = dev->sc_need_bump(dev,
+                                   dev->sc_dma_blk_ptr, dev->sc_dma_blk_len);
+
+                       /*
+                        * If len != 0 we must bump the data, else we just
+                        * DMA it straight into memory.
+                        */
+                       if (len) {
+                               dev->sc_dma_buf = dev->sc_bump_pa;
+                               dev->sc_dma_len = len;
+
+                               if (nexus->state == SFAS_NS_DATA_OUT)
+                                       bcopy(dev->sc_buf, dev->sc_bump_va,
+                                           dev->sc_dma_len);
+                       } else {
+                               dev->sc_dma_buf = dev->sc_dma_blk_ptr;
+                               dev->sc_dma_len = dev->sc_dma_blk_len;
+                       }
+
+                       /* Load DMA with adress and length of transfer. */
+                       dev->sc_setup_dma(dev, dev->sc_dma_buf, dev->sc_dma_len,
+                           ((nexus->state == SFAS_NS_DATA_OUT)
+                           ?  SFAS_DMA_WRITE : SFAS_DMA_READ));
+
+                       cmd = SFAS_CMD_TRANSFER_INFO | SFAS_CMD_DMA;
                } else {
                        /*
                         * Hmmm, the unit wants more info than we have or has
                         * more than we want. Let the chip handle that.
                         */
 
-                       *rp->sfas_tc_low = 256;
-                       *rp->sfas_tc_mid = 0;
+                       *rp->sfas_tc_low = 0;
+                       *rp->sfas_tc_mid = 1;
                        *rp->sfas_tc_high = 0;
                        cmd = SFAS_CMD_TRANSFER_PAD;
                }