svn commit: r184135 - head/sys/dev/ata

Scott Long scottl at samsco.org
Tue Oct 21 20:55:51 UTC 2008


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



More information about the svn-src-all mailing list