Date: Tue, 14 Sep 2010 20:31:09 +0000 (UTC) From: Marius Strobl <marius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r212620 - in head/sys: sparc64/sparc64 sun4v/sun4v Message-ID: <201009142031.o8EKV9mP091797@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marius Date: Tue Sep 14 20:31:09 2010 New Revision: 212620 URL: http://svn.freebsd.org/changeset/base/212620 Log: Remove a KASSERT which will also trigger for perfectly valid combinations of small maxsize and "large" (including BUS_SPACE_UNRESTRICTED) nsegments parameters. Generally using a presz of 0 (which indeed might indicate the use of bogus parameters for DMA tag creation) is not fatal, it just means that no additional DVMA space will be preallocated. Modified: head/sys/sparc64/sparc64/iommu.c head/sys/sun4v/sun4v/hviommu.c Modified: head/sys/sparc64/sparc64/iommu.c ============================================================================== --- head/sys/sparc64/sparc64/iommu.c Tue Sep 14 19:35:43 2010 (r212619) +++ head/sys/sparc64/sparc64/iommu.c Tue Sep 14 20:31:09 2010 (r212620) @@ -874,9 +874,6 @@ iommu_dvmamap_create(bus_dma_tag_t dt, i */ maxpre = imin(dt->dt_nsegments, IOMMU_MAX_PRE_SEG); presz = dt->dt_maxsize / maxpre; - KASSERT(presz != 0, ("%s: bogus preallocation size , nsegments = %d, " - "maxpre = %d, maxsize = %lu", __func__, dt->dt_nsegments, maxpre, - dt->dt_maxsize)); for (i = 1; i < maxpre && totsz < IOMMU_MAX_PRE; i++) { currsz = round_io_page(ulmin(presz, IOMMU_MAX_PRE - totsz)); error = iommu_dvma_valloc(dt, is, *mapp, currsz); Modified: head/sys/sun4v/sun4v/hviommu.c ============================================================================== --- head/sys/sun4v/sun4v/hviommu.c Tue Sep 14 19:35:43 2010 (r212619) +++ head/sys/sun4v/sun4v/hviommu.c Tue Sep 14 20:31:09 2010 (r212620) @@ -513,9 +513,6 @@ hviommu_dvmamap_create(bus_dma_tag_t dt, */ maxpre = imin(dt->dt_nsegments, IOMMU_MAX_PRE_SEG); presz = dt->dt_maxsize / maxpre; - KASSERT(presz != 0, ("hviommu_dvmamap_create: bogus preallocation size " - ", nsegments = %d, maxpre = %d, maxsize = %lu", dt->dt_nsegments, - maxpre, dt->dt_maxsize)); for (i = 1; i < maxpre && totsz < IOMMU_MAX_PRE; i++) { currsz = round_io_page(ulmin(presz, IOMMU_MAX_PRE - totsz)); error = hviommu_dvma_valloc(dt, him, *mapp, currsz);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009142031.o8EKV9mP091797>