[SPARC64]: Refine PCI strbuf ctx-based flush.

The initial peek read PIO of the match register is just a waste.
Just do the flush writes first, as that is more efficient.

Signed-off-by: David S. Miller <davem@davemloft.net>

+3 -5
+3 -5
arch/sparc64/kernel/pci_iommu.c
··· 422 flushreg = strbuf->strbuf_ctxflush; 423 matchreg = PCI_STC_CTXMATCH_ADDR(strbuf, ctx); 424 425 - if (pci_iommu_read(matchreg) == 0) 426 - goto do_flush_sync; 427 - 428 pci_iommu_write(flushreg, ctx); 429 - if ((val = pci_iommu_read(matchreg)) == 0) 430 goto do_flush_sync; 431 432 - val &= 0xffff; 433 while (val) { 434 if (val & 0x1) 435 pci_iommu_write(flushreg, ctx);
··· 422 flushreg = strbuf->strbuf_ctxflush; 423 matchreg = PCI_STC_CTXMATCH_ADDR(strbuf, ctx); 424 425 pci_iommu_write(flushreg, ctx); 426 + val = pci_iommu_read(matchreg); 427 + val &= 0xffff; 428 + if (!val) 429 goto do_flush_sync; 430 431 while (val) { 432 if (val & 0x1) 433 pci_iommu_write(flushreg, ctx);