On Thu, 2012-09-20 at 18:53 -0400, David Miller wrote: > From: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Date: Fri, 21 Sep 2012 08:22:44 +1000 > > > Hrm, that's ancient gunk, I'll have to dig. We potentially can support > > ISA devices DMA'ing from an ISA bridge... but via the iommu, which means > > isa_virt_to_bus is a non-starter. > > > > But then, do we really care ? IE. Is there single device that actually > > requires ISA_DMA_API and that is expected to work on any currently > > supported powerpc hw ? :-) > > > > We don't even support PReP anymore, so that leaves us with what ? > > ISA_DMA_API implies a fixed window of addresses which are <= 32-bits > on the bus, which is a hardware requirement of these devices. > > isa_virt_to_bus() goes to that physical address, and the expection is > that you use GFP_DMA and thus the physical addresses fit inside of > an unsigned int. Right, but on ppc, GFP_DMA is a nop (no separate ZONE_DMA, or rather all of memory is ZONE_DMA). It's always been like that afaik. We could support ISA device limited addressability using the iommu but that would involve a map/unmap type API (which I remember we did support in the old days by passing NULL to pci_map_*, but we dropped that along the way). > isa_virt_to_bus() basically amounts to a virt-->phys plus a cast. > > > Anybody has an objection to turning ISA_DMA_API off ? > > Then you can remove all of the DMA api stuff in powerpc's asm/dma.h > but some of it looks like it might be in use. I will dig a bit. I think there might be some users of the ISA DMA engine for legacy floppies and parport on some early pSeries and CHRP machines (including Pegasos). Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html