Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Dec 2012 09:14:19 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r244023 - in projects/physbio/sys: arm/arm cam/scsi dev/ahb dev/amr dev/ata dev/firewire kern mips/mips powerpc/powerpc sys
Message-ID:  <201212080914.qB89EJho008549@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Sat Dec  8 09:14:19 2012
New Revision: 244023
URL: http://svnweb.freebsd.org/changeset/base/244023

Log:
   - Correct minor compile errors from cam and busdma work revealed by
     make universe.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  projects/physbio/sys/arm/arm/busdma_machdep.c
  projects/physbio/sys/cam/scsi/scsi_target.c
  projects/physbio/sys/dev/ahb/ahb.c
  projects/physbio/sys/dev/amr/amr_cam.c
  projects/physbio/sys/dev/ata/ata-dma.c
  projects/physbio/sys/dev/ata/atapi-cam.c
  projects/physbio/sys/dev/firewire/sbp.c
  projects/physbio/sys/kern/subr_busdma.c
  projects/physbio/sys/mips/mips/busdma_machdep.c
  projects/physbio/sys/powerpc/powerpc/busdma_machdep.c
  projects/physbio/sys/sys/bus_dma.h

Modified: projects/physbio/sys/arm/arm/busdma_machdep.c
==============================================================================
--- projects/physbio/sys/arm/arm/busdma_machdep.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/arm/arm/busdma_machdep.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -974,51 +974,50 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b
 }
 
 static void
-bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op)
+bus_dmamap_sync_buf(vm_offset_t buf, int len, bus_dmasync_op_t op)
 {
 	char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align];
 	register_t s;
 	int partial;
 
 	if ((op & BUS_DMASYNC_PREWRITE) && !(op & BUS_DMASYNC_PREREAD)) {
-		cpu_dcache_wb_range((vm_offset_t)buf, len);
-		cpu_l2cache_wb_range((vm_offset_t)buf, len);
+		cpu_dcache_wb_range(buf, len);
+		cpu_l2cache_wb_range(buf, len);
 	}
-	partial = (((vm_offset_t)buf) | len) & arm_dcache_align_mask;
+	partial = (buf | len) & arm_dcache_align_mask;
 	if (op & BUS_DMASYNC_PREREAD) {
 		if (!(op & BUS_DMASYNC_PREWRITE) && !partial) {
-			cpu_dcache_inv_range((vm_offset_t)buf, len);
-			cpu_l2cache_inv_range((vm_offset_t)buf, len);
+			cpu_dcache_inv_range(buf, len);
+			cpu_l2cache_inv_range(buf, len);
 		} else {
-		    	cpu_dcache_wbinv_range((vm_offset_t)buf, len);
-	    		cpu_l2cache_wbinv_range((vm_offset_t)buf, len);
+		    	cpu_dcache_wbinv_range(buf, len);
+	    		cpu_l2cache_wbinv_range(buf, len);
 		}
 	}
 	if (op & BUS_DMASYNC_POSTREAD) {
 		if (partial) {
 			s = intr_disable();
-			if ((vm_offset_t)buf & arm_dcache_align_mask)
-				memcpy(_tmp_cl, (void *)((vm_offset_t)buf &
+			if (buf & arm_dcache_align_mask)
+				memcpy(_tmp_cl, (void *)(buf &
 				    ~arm_dcache_align_mask),
-				    (vm_offset_t)buf & arm_dcache_align_mask);
-			if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
+				    buf & arm_dcache_align_mask);
+			if ((buf + len) & arm_dcache_align_mask)
 				memcpy(_tmp_clend,
-				    (void *)((vm_offset_t)buf + len),
-				    arm_dcache_align - (((vm_offset_t)(buf) +
-				    len) & arm_dcache_align_mask));
+				    (void *)(buf + len),
+				    arm_dcache_align -
+				    ((buf + len) & arm_dcache_align_mask));
 		}
-		cpu_dcache_inv_range((vm_offset_t)buf, len);
-		cpu_l2cache_inv_range((vm_offset_t)buf, len);
+		cpu_dcache_inv_range(buf, len);
+		cpu_l2cache_inv_range(buf, len);
 		if (partial) {
-			if ((vm_offset_t)buf & arm_dcache_align_mask)
-				memcpy((void *)((vm_offset_t)buf &
+			if (buf & arm_dcache_align_mask)
+				memcpy((void *)(buf &
 				    ~arm_dcache_align_mask), _tmp_cl,
-				    (vm_offset_t)buf & arm_dcache_align_mask);
-			if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-				memcpy((void *)((vm_offset_t)buf + len),
+				    buf & arm_dcache_align_mask);
+			if ((buf + len) & arm_dcache_align_mask)
+				memcpy((void *)(buf + len),
 				    _tmp_clend, arm_dcache_align -
-				    (((vm_offset_t)(buf) + len) &
-				    arm_dcache_align_mask));
+				    ((buf + len) & arm_dcache_align_mask));
 			intr_restore(s);
 		}
 	}

Modified: projects/physbio/sys/cam/scsi/scsi_target.c
==============================================================================
--- projects/physbio/sys/cam/scsi/scsi_target.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/cam/scsi/scsi_target.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -737,7 +737,7 @@ targsendccb(struct targ_softc *softc, un
 	 * without data are a reasonably common occurance (e.g. test unit
 	 * ready), it will save a few cycles if we check for it here.
 	 */
-	if (((ccb_h->flags & CAM_DATA_PHYS) == 0)
+	if (((ccb_h->flags & CAM_DATA_ISPHYS) == 0)
 	 && (((ccb_h->func_code == XPT_CONT_TARGET_IO)
 	    && ((ccb_h->flags & CAM_DIR_MASK) != CAM_DIR_NONE))
 	  || (ccb_h->func_code == XPT_DEV_MATCH))) {

Modified: projects/physbio/sys/dev/ahb/ahb.c
==============================================================================
--- projects/physbio/sys/dev/ahb/ahb.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/dev/ahb/ahb.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -1006,6 +1006,7 @@ ahbaction(struct cam_sim *sim, union ccb
 	{
 		struct ecb *ecb;
 		struct hardware_ecb *hecb;
+		int error;
 
 		/*
 		 * get an ecb to use.

Modified: projects/physbio/sys/dev/amr/amr_cam.c
==============================================================================
--- projects/physbio/sys/dev/amr/amr_cam.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/dev/amr/amr_cam.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -274,12 +274,9 @@ amr_cam_action(struct cam_sim *sim, unio
 		 * address
 		 */
 		if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) {
-			if (ccbh->flags & CAM_DATA_PHYS)
+			if ((ccbh->flags & CAM_DATA_MASK) != CAM_DATA_VADDR)
 				/* we can't map it */
 				ccbh->status = CAM_REQ_INVALID;
-			if (ccbh->flags & CAM_SCATTER_VALID)
-				/* we want to do the s/g setup */
-				ccbh->status = CAM_REQ_INVALID;
 		}
 	
 		/*

Modified: projects/physbio/sys/dev/ata/ata-dma.c
==============================================================================
--- projects/physbio/sys/dev/ata/ata-dma.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/dev/ata/ata-dma.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -304,11 +304,13 @@ ata_dmaload(struct ata_request *request,
     else
 	dspa.dmatab = request->dma->sg;
 
+#ifdef ATA_CAM
     if (request->ccb)
         error = bus_dmamap_load_ccb(request->dma->data_tag,
 				request->dma->data_map, request->ccb,
 				ch->dma.setprd, &dspa, BUS_DMA_NOWAIT);
     else
+#endif
         error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map,
 				request->data, request->bytecount,
 				ch->dma.setprd, &dspa, BUS_DMA_NOWAIT);

Modified: projects/physbio/sys/dev/ata/atapi-cam.c
==============================================================================
--- projects/physbio/sys/dev/ata/atapi-cam.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/dev/ata/atapi-cam.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -514,12 +514,6 @@ atapi_action(struct cam_sim *sim, union 
 		("CAM CCB too long for ATAPI"));
 	    goto action_invalid;
 	}
-	if ((ccb_h->flags & CAM_SCATTER_VALID)) {
-	    /* scatter-gather not supported */
-	    xpt_print_path(ccb_h->path);
-	    printf("ATAPI/CAM does not support scatter-gather yet!\n");
-	    goto action_invalid;
-	}
 
 	switch (ccb_h->flags & CAM_DIR_MASK) {
 	case CAM_DIR_IN:

Modified: projects/physbio/sys/dev/firewire/sbp.c
==============================================================================
--- projects/physbio/sys/dev/firewire/sbp.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/dev/firewire/sbp.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -2478,11 +2478,6 @@ END_DEBUG
 			ocb->orb[4] |= htonl(ORB_CMD_IN);
 		}
 
-		if (csio->ccb_h.flags & CAM_SCATTER_VALID)
-			printf("sbp: CAM_SCATTER_VALID\n");
-		if (csio->ccb_h.flags & CAM_DATA_PHYS)
-			printf("sbp: CAM_DATA_PHYS\n");
-
 		if (csio->ccb_h.flags & CAM_CDB_POINTER)
 			cdb = (void *)csio->cdb_io.cdb_ptr;
 		else

Modified: projects/physbio/sys/kern/subr_busdma.c
==============================================================================
--- projects/physbio/sys/kern/subr_busdma.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/kern/subr_busdma.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -257,7 +257,7 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, 
 		segs = (struct bus_dma_segment *)data_ptr;
 		nsegs = -1;
 		error = 0;
-		for (i = 0; i < csio->sglist_cnt && error == 0; i++) {
+		for (i = 0; i < sglist_cnt && error == 0; i++) {
 			error = _bus_dmamap_load_buffer(dmat, map,
 			    (void *)segs[i].ds_addr, segs[i].ds_len,
 			    kernel_pmap, flags, NULL, &nsegs);

Modified: projects/physbio/sys/mips/mips/busdma_machdep.c
==============================================================================
--- projects/physbio/sys/mips/mips/busdma_machdep.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/mips/mips/busdma_machdep.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -606,7 +606,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi
 	dmat->map_count++;
 	*mapp = newmap;
 	newmap->dmat = dmat;
-	nwemap->sync_count = 0;
+	newmap->sync_count = 0;
 
 	/*
 	 * If all the memory is coherent with DMA then we don't need to
@@ -916,7 +916,7 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b
 }
 
 static void
-bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op)
+bus_dmamap_sync_buf(vm_offset_t buf, int len, bus_dmasync_op_t op)
 {
 	char tmp_cl[mips_pdcache_linesize], tmp_clend[mips_pdcache_linesize];
 	vm_offset_t buf_cl, buf_clend;
@@ -930,9 +930,9 @@ bus_dmamap_sync_buf(void *buf, int len, 
 	 * prevent a data loss we save these chunks in temporary buffer
 	 * before invalidation and restore them afer it
 	 */
-	buf_cl = (vm_offset_t)buf  & ~cache_linesize_mask;
-	size_cl = (vm_offset_t)buf  & cache_linesize_mask;
-	buf_clend = (vm_offset_t)buf + len;
+	buf_cl = buf & ~cache_linesize_mask;
+	size_cl = buf & cache_linesize_mask;
+	buf_clend = buf + len;
 	size_clend = (mips_pdcache_linesize - 
 	    (buf_clend & cache_linesize_mask)) & cache_linesize_mask;
 
@@ -947,7 +947,7 @@ bus_dmamap_sync_buf(void *buf, int len, 
 			memcpy (tmp_cl, (void*)buf_cl, size_cl);
 		if (size_clend)
 			memcpy (tmp_clend, (void*)buf_clend, size_clend);
-		mips_dcache_inv_range((vm_offset_t)buf, len);
+		mips_dcache_inv_range(buf, len);
 		/* 
 		 * Restore them
 		 */
@@ -962,15 +962,14 @@ bus_dmamap_sync_buf(void *buf, int len, 
 		 * necessary.
 		 */
 		if (size_cl)
-			mips_dcache_wbinv_range((vm_offset_t)buf_cl, size_cl);
+			mips_dcache_wbinv_range(buf_cl, size_cl);
 		if (size_clend && (size_cl == 0 ||
                     buf_clend - buf_cl > mips_pdcache_linesize))
-			mips_dcache_wbinv_range((vm_offset_t)buf_clend,
-			   size_clend);
+			mips_dcache_wbinv_range(buf_clend, size_clend);
 		break;
 
 	case BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE:
-		mips_dcache_wbinv_range((vm_offset_t)buf_cl, len);
+		mips_dcache_wbinv_range(buf_cl, len);
 		break;
 
 	case BUS_DMASYNC_PREREAD:
@@ -981,7 +980,7 @@ bus_dmamap_sync_buf(void *buf, int len, 
 			memcpy (tmp_cl, (void *)buf_cl, size_cl);
 		if (size_clend)
 			memcpy (tmp_clend, (void *)buf_clend, size_clend);
-		mips_dcache_inv_range((vm_offset_t)buf, len);
+		mips_dcache_inv_range(buf, len);
 		/*
 		 * Restore them
 		 */
@@ -996,15 +995,14 @@ bus_dmamap_sync_buf(void *buf, int len, 
 		 * necessary.
 		 */
 		if (size_cl)
-			mips_dcache_wbinv_range((vm_offset_t)buf_cl, size_cl);
+			mips_dcache_wbinv_range(buf_cl, size_cl);
 		if (size_clend && (size_cl == 0 ||
                     buf_clend - buf_cl > mips_pdcache_linesize))
-			mips_dcache_wbinv_range((vm_offset_t)buf_clend,
-			   size_clend);
+			mips_dcache_wbinv_range(buf_clend, size_clend);
 		break;
 
 	case BUS_DMASYNC_PREWRITE:
-		mips_dcache_wb_range((vm_offset_t)buf, len);
+		mips_dcache_wb_range(buf, len);
 		break;
 	}
 }

Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c
==============================================================================
--- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c	Sat Dec  8 09:14:19 2012	(r244023)
@@ -735,9 +735,9 @@ _bus_dmamap_complete(bus_dma_tag_t dmat,
 		    dmat->boundary, dmat->iommu_cookie);
 
 	if (error)
-		(*callback)(callback_arg, dmat->segments, 0, error);
+		(*callback)(callback_arg, map->segments, 0, error);
 	else
-		(*callback)(callback_arg, dmat->segments, nsegs, 0);
+		(*callback)(callback_arg, map->segments, nsegs, 0);
 }
 
 void
@@ -753,9 +753,9 @@ _bus_dmamap_complete2(bus_dma_tag_t dmat
 		    dmat->boundary, dmat->iommu_cookie);
 
 	if (error)
-		(*callback)(callback_arg, dmat->segments, 0, 0, error);
+		(*callback)(callback_arg, map->segments, 0, 0, error);
 	else
-		(*callback)(callback_arg, dmat->segments, nsegs, len, error);
+		(*callback)(callback_arg, map->segments, nsegs, len, error);
 }
 
 void

Modified: projects/physbio/sys/sys/bus_dma.h
==============================================================================
--- projects/physbio/sys/sys/bus_dma.h	Sat Dec  8 08:35:49 2012	(r244022)
+++ projects/physbio/sys/sys/bus_dma.h	Sat Dec  8 09:14:19 2012	(r244023)
@@ -110,6 +110,7 @@
 #define	BUS_DMA_KEEP_PG_OFFSET	0x400
 
 /* Forwards needed by prototypes below. */
+struct pmap;
 struct mbuf;
 struct uio;
 union ccb;
@@ -296,7 +297,6 @@ void __bus_dmamap_mayblock(bus_dma_tag_t
 			    callback_arg, flags);			\
 	} while (0);
 
-struct pmap;
 int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map,
 			    void *buf, bus_size_t buflen, struct pmap *pmap,
 			    int flags, bus_dma_segment_t *segs, int *segp);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212080914.qB89EJho008549>