Print this page
4888 Undocument dma_req(9s)
4884 EOF scsi_hba_attach
4886 EOF ddi_dmae_getlim
4887 EOF ddi_iomin
4634 undocument scsi_hba_attach() and ddi_dma_lim(9s)
4630 clean stale references to ddi_iopb_alloc and ddi_iopb_free

@@ -17,13 +17,13 @@
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
  */
 /*
+ * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  * Copyright (c) 2012 Gary Mills
  * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
  */
 
 /*
  *      ISA bus nexus driver
  */

@@ -124,24 +124,10 @@
 static uchar_t asy_intr_override = 0;
 
 /*
  *      Local data
  */
-static ddi_dma_lim_t ISA_dma_limits = {
-        0,              /* address low                          */
-        0x00ffffff,     /* address high                         */
-        0,              /* counter max                          */
-        1,              /* burstsize                            */
-        DMA_UNIT_8,     /* minimum xfer                         */
-        0,              /* dma speed                            */
-        (uint_t)DMALIM_VER0, /* version                         */
-        0x0000ffff,     /* address register                     */
-        0x0000ffff,     /* counter register                     */
-        1,              /* sector size                          */
-        0x00000001,     /* scatter/gather list length           */
-        (uint_t)0xffffffff /* request size                      */
-};
 
 static ddi_dma_attr_t ISA_dma_attr = {
         DMA_ATTR_V0,
         (unsigned long long)0,
         (unsigned long long)0x00ffffff,

@@ -576,11 +562,10 @@
 isa_dma_mctl(dev_info_t *dip, dev_info_t *rdip,
     ddi_dma_handle_t handle, enum ddi_dma_ctlops request,
     off_t *offp, size_t *lenp, caddr_t *objp, uint_t flags)
 {
         int rval;
-        ddi_dma_lim_t defalt;
         int arg = (int)(uintptr_t)objp;
 
         switch (request) {
 
         case DDI_DMA_E_PROG:

@@ -616,14 +601,10 @@
 
         case DDI_DMA_E_SWSTART:
                 i_dmae_swstart(rdip, arg);
                 return (DDI_SUCCESS);
 
-        case DDI_DMA_E_GETLIM:
-                bcopy(&ISA_dma_limits, objp, sizeof (ddi_dma_lim_t));
-                return (DDI_SUCCESS);
-
         case DDI_DMA_E_GETATTR:
                 bcopy(&ISA_dma_attr, objp, sizeof (ddi_dma_attr_t));
                 return (DDI_SUCCESS);
 
         case DDI_DMA_E_1STPTY:

@@ -637,18 +618,17 @@
                                 req1stpty.der_trans = DMAE_TRANS_CSCD;
                         }
                         return (i_dmae_prog(rdip, &req1stpty, NULL, arg));
                 }
 
-        case DDI_DMA_IOPB_ALLOC:        /* get contiguous DMA-able memory */
-        case DDI_DMA_SMEM_ALLOC:
-                if (!offp) {
-                        defalt = ISA_dma_limits;
-                        offp = (off_t *)&defalt;
-                }
-                /*FALLTHROUGH*/
         default:
+                /*
+                 * We pass to rootnex, but it turns out that rootnex will just
+                 * return failure, as we don't use ddi_dma_mctl() except
+                 * for DMA engine (ISA) and DVMA (SPARC).  Arguably we could
+                 * just return an error direclty here, instead.
+                 */
                 rval = ddi_dma_mctl(dip, rdip, handle, request, offp,
                     lenp, objp, flags);
         }
         return (rval);
 }