[Linux-ia64] Re: 64 Bits DMA Addresses for Alloc Consistent Interfaces.

From: Colin Ngam <cngam_at_sgi.com>
Date: 2003-05-16 10:32:15
James Bottomley wrote:

> On Thu, 2003-05-15 at 19:17, David S. Miller wrote:
> > Having to support DAC cycles does not mean that it must support full
> > 64-bit DMA addresses in it's descriptors.
> >
> > A cost sensitive PCI-X device may wish to use 32-bit addressing in
> > it's descriptors in order to keep pin counts down etc.
>
> This is certainly a property of the aic79xx driver (only using 32 bit
> descriptor tables).  It has this nice code in the driver for doing it:
>
> aic79xx.c:
>
>         /*
>          * Although we can dma data above 4GB, our
>          * "consistent" memory is below 4GB for
>          * space efficiency reasons (only need a 4byte
>          * address).  For this reason, we have to reset
>          * our dma mask when doing allocations.
>          */
>         if (ahd->dev_softc != NULL)
>                 ahd_pci_set_dma_mask(ahd->dev_softc, 0xFFFFFFFF);
>         *vaddr = pci_alloc_consistent(ahd->dev_softc,
>                                       dmat->maxsize, &map->bus_addr);
>         if (ahd->dev_softc != NULL)
>                 ahd_pci_set_dma_mask(ahd->dev_softc,
>                                      ahd->platform_data->hw_dma_mask);
>
> And it comes in PCI-X flavours.

Yes agreed.  And I think this is fine.  But let's not have the interface
prevents 64bits drivers that wants to do DAC.  that's all I am
asking ..

Thanks.

colin

>
>
> James
Received on Thu May 15 17:49:47 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:14 EST