Search Linux Wireless

Re: [PATCH] ssb, b43, b43legacy, b44: Rewrite SSB DMA API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 20 June 2008 11:50:29 Michael Buesch wrote:
> This is a rewrite of the DMA API for SSB devices.
> This is needed, because the old (non-existing) "API" made too many bad
> assumptions on the API of the host-bus (PCI).
> This introduces an almost complete SSB-DMA-API that maps to the lowlevel
> bus-API based on the bustype.
> 
> Signed-off-by: Michael Buesch <mb@xxxxxxxxx>
> 
> ---
> 
> John, please merge for 2.6.27
> This is one huge patch, because it's not really possible to split this
> without breaking bisect.

Note that this patch will slightly clash with another DMA update
that's going into linux-next.
This is trivial to resolve, however. wiggle will probably be able to
resolve most, if not all, of them.

>  static bool b43_dma_mapping_error(struct b43_dmaring *ring,
>  				  dma_addr_t addr,
>  				  size_t buffersize, bool dma_to_device)
>  {
> -	if (unlikely(dma_mapping_error(addr)))
> +	if (unlikely(ssb_dma_mapping_error(ring->dev->dev, addr)))
>  		return 1;


These calls will clash. The patch in linux-next introduced an additional
dev parameter to dma_mapping_error.
The fix is obvious. Remove the clashing line and add the ssb_dma_mapping_error
call exactly as shown above.

> +static inline int ssb_dma_mapping_error(struct ssb_device *dev, dma_addr_t addr)
> +{
> +	switch (dev->bus->bustype) {
> +	case SSB_BUSTYPE_PCI:
> +		return pci_dma_mapping_error(addr);
> +	case SSB_BUSTYPE_SSB:
> +		return dma_mapping_error(addr);
> +	default:
> +		__ssb_dma_not_implemented(dev);
> +	}
> +	return -ENOSYS;
> +}


The patch in linux-next will require a dev parameter to the lowlevel
functions. Simply do it this way:

pci_dma_mapping_error(dev->bus->host_pci, addr);

and

dma_mapping_error(dev->dev, addr);

-- 
Greetings Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux