Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Oct 2008 14:55:46 -0600
From:      Scott Long <scottl@samsco.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r184135 - head/sys/dev/ata
Message-ID:  <48FE41D2.90602@samsco.org>
In-Reply-To: <200810211851.m9LIptwg006141@svn.freebsd.org>
References:  <200810211851.m9LIptwg006141@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> Author: jhb
> Date: Tue Oct 21 18:51:55 2008
> New Revision: 184135
> URL: http://svn.freebsd.org/changeset/base/184135
> 
> Log:
>   Restore the default maximum segment size for the bus dma tag to 64k as it
>   is in 6.x and 7.x.  The typo caused 64k transactions to be unnecessarily
>   split up into two PRD entries.
> 
> Modified:
>   head/sys/dev/ata/ata-dma.c
> 
> Modified: head/sys/dev/ata/ata-dma.c
> ==============================================================================
> --- head/sys/dev/ata/ata-dma.c	Tue Oct 21 18:50:52 2008	(r184134)
> +++ head/sys/dev/ata/ata-dma.c	Tue Oct 21 18:51:55 2008	(r184135)
> @@ -78,7 +78,7 @@ ata_dmainit(device_t dev)
>      ch->dma.unload = ata_dmaunload;
>      ch->dma.alignment = 2;
>      ch->dma.boundary = 65536;
> -    ch->dma.segsize = 63536;
> +    ch->dma.segsize = 65536;
>      ch->dma.max_iosize = 128 * DEV_BSIZE;
>      ch->dma.max_address = BUS_SPACE_MAXADDR_32BIT;
>      ch->dma.dma_slots = 6;

Not having a multiple-of-512 transfer size is likely more responsible
for data corruption than having a transfer size near 64k.

Scott




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