Author: mjacob
Date: Thu Sep 20 00:51:09 2012
New Revision: 240717
URL: http://svn.freebsd.org/changeset/base/240717

Log:
  MFC of 239502: Remove dependence on MAXPHYS.

Modified:
  stable/9/sys/dev/isp/isp_freebsd.h
  stable/9/sys/dev/isp/isp_pci.c
  stable/9/sys/dev/isp/isp_sbus.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/dev/   (props changed)
  stable/9/sys/dev/isp/   (props changed)

Modified: stable/9/sys/dev/isp/isp_freebsd.h
==============================================================================
--- stable/9/sys/dev/isp/isp_freebsd.h  Wed Sep 19 23:25:24 2012        
(r240716)
+++ stable/9/sys/dev/isp/isp_freebsd.h  Thu Sep 20 00:51:09 2012        
(r240717)
@@ -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: stable/9/sys/dev/isp/isp_pci.c
==============================================================================
--- stable/9/sys/dev/isp/isp_pci.c      Wed Sep 19 23:25:24 2012        
(r240716)
+++ stable/9/sys/dev/isp/isp_pci.c      Thu Sep 20 00:51:09 2012        
(r240717)
@@ -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: stable/9/sys/dev/isp/isp_sbus.c
==============================================================================
--- stable/9/sys/dev/isp/isp_sbus.c     Wed Sep 19 23:25:24 2012        
(r240716)
+++ stable/9/sys/dev/isp/isp_sbus.c     Thu Sep 20 00:51:09 2012        
(r240717)
@@ -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-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to