Re: [PATCH v1 1/1] xhci: replace custom implementation of readq / writeq

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

 



On Thu, 2015-08-27 at 12:39 +0300, Andy Shevchenko wrote:
> The readq() and writeq() helpers are available in the
> asm-generic/io-64-nonatomic-hi-lo.h and asm-generic/io-64-nonatomic
> -lo-hi.h
> headers. Replace custom implementation by the generic helpers.
> 

Mathias, any comments on this one?

> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
>  drivers/usb/host/xhci.h | 14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
> index dbda41e..151d1e4 100644
> --- a/drivers/usb/host/xhci.h
> +++ b/drivers/usb/host/xhci.h
> @@ -29,6 +29,8 @@
>  #include <linux/kernel.h>
>  #include <linux/usb/hcd.h>
>  
> +#include <asm-generic/io-64-nonatomic-lo-hi.h>
> +
>  /* Code sharing between pci-quirks and xhci hcd */
>  #include	"xhci-ext-caps.h"
>  #include "pci-quirks.h"
> @@ -1651,20 +1653,12 @@ static inline struct usb_hcd 
> *xhci_to_hcd(struct xhci_hcd *xhci)
>  static inline u64 xhci_read_64(const struct xhci_hcd *xhci,
>  		__le64 __iomem *regs)
>  {
> -	__u32 __iomem *ptr = (__u32 __iomem *) regs;
> -	u64 val_lo = readl(ptr);
> -	u64 val_hi = readl(ptr + 1);
> -	return val_lo + (val_hi << 32);
> +	return lo_hi_readq(regs);
>  }
>  static inline void xhci_write_64(struct xhci_hcd *xhci,
>  				 const u64 val, __le64 __iomem 
> *regs)
>  {
> -	__u32 __iomem *ptr = (__u32 __iomem *) regs;
> -	u32 val_lo = lower_32_bits(val);
> -	u32 val_hi = upper_32_bits(val);
> -
> -	writel(val_lo, ptr);
> -	writel(val_hi, ptr + 1);
> +	lo_hi_writeq(val, regs);
>  }
>  
>  static inline int xhci_link_trb_quirk(struct xhci_hcd *xhci)

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux