[SPARC64]: Fix streaming buffer flushing on PCI and SBUS.
authorDavid S. Miller <davem@davemloft.net>
Tue, 31 May 2005 23:57:59 +0000 (16:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 May 2005 23:57:59 +0000 (16:57 -0700)
commit7c963ad1d113790a8c723a178988b675868f3abe
tree2e1cc54795aeca06a11801636737901ba71a2ed8
parent2e3e80c2b75e3815a0160cbd23d4fdb767d66b35
[SPARC64]: Fix streaming buffer flushing on PCI and SBUS.

Firstly, if the direction is TODEVICE, then dirty data in the
streaming cache is impossible so we can elide the flush-flag
synchronization in that case.

Next, the context allocator is broken.  It is highly likely
that contexts get used multiple times for different dma
mappings, which confuses the strbuf flushing code and makes
it run inefficiently.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/pci_iommu.c
arch/sparc64/kernel/pci_psycho.c
arch/sparc64/kernel/pci_sabre.c
arch/sparc64/kernel/pci_schizo.c
arch/sparc64/kernel/sbus.c
include/asm-sparc64/iommu.h
include/asm-sparc64/pbm.h