Subject: include/asm-mips/pci.h fix

From: Atsushi Nemoto <[email-masked]>
Date: Fri, 05 Aug 2005 22:58:05 +0900 (JST)

Currently pci_unmap_addr(), etc. are always defined as nop.  It should
be defined when pci_unmap_single is not a nop.  Here is a patch.

diff -ur linux-mips/include/asm-mips/pci.h linux/include/asm-mips/pci.h
--- linux-mips/include/asm-mips/pci.h	2005-07-26 22:14:07.000000000 +0900
+++ linux/include/asm-mips/pci.h	2005-08-05 22:33:14.000000000 +0900
@@ -94,7 +94,7 @@
  */
 extern unsigned int PCI_DMA_BUS_IS_PHYS;
 
-#ifdef CONFIG_MAPPED_DMA_IO
+#ifndef CONFIG_DMA_COHERENT
 
 /* pci_unmap_{single,page} is not a nop, thus... */
 #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	dma_addr_t ADDR_NAME;
@@ -104,7 +104,7 @@
 #define pci_unmap_len(PTR, LEN_NAME)		((PTR)->LEN_NAME)
 #define pci_unmap_len_set(PTR, LEN_NAME, VAL)	(((PTR)->LEN_NAME) = (VAL))
 
-#else /* CONFIG_MAPPED_DMA_IO  */
+#else /* CONFIG_DMA_COHERENT  */
 
 /* pci_unmap_{page,single} is a nop so... */
 #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
@@ -114,7 +114,7 @@
 #define pci_unmap_len(PTR, LEN_NAME)		(0)
 #define pci_unmap_len_set(PTR, LEN_NAME, VAL)	do { } while (0)
 
-#endif /* CONFIG_MAPPED_DMA_IO  */
+#endif /* CONFIG_DMA_COHERENT  */
 
 /* This is always fine. */
 #define pci_dac_dma_supported(pci_dev, mask)	(1)

---

From: Ralf Baechle <[email-masked]>
Date: Mon, 15 Aug 2005 15:59:57 +0100

> +++ linux/include/asm-mips/pci.h	2005-08-05 22:33:14.000000000 +0900

Almost correct, this be enabled for any variant of non-coherent DMA, so
I'm going to checkin a different patch.

Thanks,

  Ralf