diff options
author | David S. Miller <davem@davemloft.net> | 2005-05-31 16:57:59 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-31 16:57:59 -0700 |
commit | 7c963ad1d113790a8c723a178988b675868f3abe (patch) | |
tree | 2e1cc54795aeca06a11801636737901ba71a2ed8 /arch/sparc64/kernel/pci_psycho.c | |
parent | 2e3e80c2b75e3815a0160cbd23d4fdb767d66b35 (diff) | |
download | talos-op-linux-7c963ad1d113790a8c723a178988b675868f3abe.tar.gz talos-op-linux-7c963ad1d113790a8c723a178988b675868f3abe.zip |
[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>
Diffstat (limited to 'arch/sparc64/kernel/pci_psycho.c')
-rw-r--r-- | arch/sparc64/kernel/pci_psycho.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index 3567fa879e1f..534320ef0db2 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c @@ -1212,7 +1212,7 @@ static void __init psycho_iommu_init(struct pci_controller_info *p) /* Setup initial software IOMMU state. */ spin_lock_init(&iommu->lock); - iommu->iommu_cur_ctx = 0; + iommu->ctx_lowest_free = 1; /* Register addresses. */ iommu->iommu_control = p->pbm_A.controller_regs + PSYCHO_IOMMU_CONTROL; |