lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 28 Apr 2009 09:48:58 +0800
From:	"Liu Dave-R63238" <DaveLiu@...escale.com>
To:	"David Hawkins" <dwh@...o.caltech.edu>,
	"Tabi Timur-B04825" <timur@...escale.com>
Cc:	"Ira Snyder" <iws@...o.caltech.edu>,
	<linux-kernel@...r.kernel.org>, <linuxppc-dev@...abs.org>,
	"Dan Williams" <dan.j.williams@...el.com>,
	"Zhang Wei" <wei.zhang@...escale.com>
Subject: RE: [PATCH] fsldma: use PCI Read Multiple command

> Here's a few results from DMA tests between two
> MPC8349EA boards housed in a CPCI chassis.
> 
> 1. DMA mode register (DMAMRn)
>     PCI read command (PRC, bits 11:10)
> 
>     a) DMAMRn[PRC] = 00 = PCI Read
> 
>        The PCI read command is 6h on the PCI bus.
>        For DMA lengths of less than 1 cache line (32-bytes)
>        the DMA controller will generate a PCI 6h command.
>        However, for lengths of 32-bytes and higher, the
>        DMA controller actually generates a PCI Read Line (Eh)
>        command.
> 
>        Freescale indicated that this 'change of PCI command code'
>        functionality is an undocumented 'feature', there to
>        improve performance for longer read lengths.
> 
>     b) DMAMRn[PRC] = 01 = PCI Read Line
> 
>        Generated the PCI command code for PCI read line (Eh),
>        regardless of DMA length.
> 
>     c) DMAMRn[PRC] = 10 = PCI Read Multiple
> 
>        Generated the PCI command code for PCI Read Multiple (Ch),
>        regardless of DMA length.

Good summary!

For the DMA PCI read/line/multi-line is outbound transaction.
So according to your experiment, the 8349 PCI controller(as master)
attemp to streaming/combining the outbound transaction(treated as
prefetchable
space). 
IIRC, the early 8349EUM has the bit[2]-SE in the POCMRn
register, and is removed now. Not sure if it does function.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ