Author: mjacob
Date: Tue Aug 21 16:18:11 2012
New Revision: 239502
URL: http://svn.freebsd.org/changeset/base/239502

Log:
  Remove dependence on MAXPHYS.
  
  MFC after:    1 month

Modified:
  head/sys/dev/isp/isp_freebsd.h
  head/sys/dev/isp/isp_pci.c
  head/sys/dev/isp/isp_sbus.c

Modified: head/sys/dev/isp/isp_freebsd.h
==============================================================================
--- head/sys/dev/isp/isp_freebsd.h      Tue Aug 21 14:58:51 2012        
(r239501)
+++ head/sys/dev/isp/isp_freebsd.h      Tue Aug 21 16:18:11 2012        
(r239502)
@@ -726,9 +726,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8
 #define        isp_sim_alloc(a, b, c, d, e, f, g, h)   \
        cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h)
 
-/* Should be BUS_SPACE_MAXSIZE, but MAXPHYS is larger than BUS_SPACE_MAXSIZE */
-#define ISP_NSEGS ((MAXPHYS / PAGE_SIZE) + 1)  
-
 #define        ISP_PATH_PRT(i, l, p, ...)                                      
\
        if ((l) == ISP_LOGALL || ((l)& (i)->isp_dblev) != 0) {          \
                 xpt_print(p, __VA_ARGS__);                             \

Modified: head/sys/dev/isp/isp_pci.c
==============================================================================
--- head/sys/dev/isp/isp_pci.c  Tue Aug 21 14:58:51 2012        (r239501)
+++ head/sys/dev/isp/isp_pci.c  Tue Aug 21 16:18:11 2012        (r239502)
@@ -1525,7 +1525,7 @@ static int
 isp_pci_mbxdma(ispsoftc_t *isp)
 {
        caddr_t base;
-       uint32_t len;
+       uint32_t len, nsegs;
        int i, error, ns, cmap = 0;
        bus_size_t slim;        /* segment size */
        bus_addr_t llim;        /* low limit of unavailable dma */
@@ -1567,6 +1567,11 @@ isp_pci_mbxdma(ispsoftc_t *isp)
                return (1);
        }
 
+       if (isp->isp_osinfo.sixtyfourbit) {
+               nsegs = ISP_NSEG64_MAX;
+       } else {
+               nsegs = ISP_NSEG_MAX;
+       }
 #ifdef ISP_TARGET_MODE
        /*
         * XXX: We don't really support 64 bit target mode for parallel scsi yet
@@ -1579,7 +1584,7 @@ isp_pci_mbxdma(ispsoftc_t *isp)
        }
 #endif
 
-       if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1, slim, llim, 
hlim, NULL, NULL, BUS_SPACE_MAXSIZE, ISP_NSEGS, slim, 0, 
&isp->isp_osinfo.dmat)) {
+       if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1, slim, llim, 
hlim, NULL, NULL, BUS_SPACE_MAXSIZE, nsegs, slim, 0, &isp->isp_osinfo.dmat)) {
                free(isp->isp_osinfo.pcmd_pool, M_DEVBUF);
                ISP_LOCK(isp);
                isp_prt(isp, ISP_LOGERR, "could not create master dma tag");

Modified: head/sys/dev/isp/isp_sbus.c
==============================================================================
--- head/sys/dev/isp/isp_sbus.c Tue Aug 21 14:58:51 2012        (r239501)
+++ head/sys/dev/isp/isp_sbus.c Tue Aug 21 16:18:11 2012        (r239502)
@@ -497,7 +497,7 @@ isp_sbus_mbxdma(ispsoftc_t *isp)
        if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_SBD(isp)), 1,
            BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT,
            BUS_SPACE_MAXADDR_32BIT, NULL, NULL, BUS_SPACE_MAXSIZE_32BIT,
-           ISP_NSEGS, BUS_SPACE_MAXADDR_24BIT, 0, &isp->isp_osinfo.dmat)) {
+           ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, &isp->isp_osinfo.dmat)) {
                isp_prt(isp, ISP_LOGERR, "could not create master dma tag");
                free(isp->isp_osinfo.pcmd_pool, M_DEVBUF);
                free(isp->isp_xflist, M_DEVBUF);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to