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>