Re: [PATCH] EHCI: Make ehci_qh structure items all 32bit aligned

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

 



Alan,

Could you also give comments to this patch? I think it won't hurt other HCDs.
The QH is per EP, so it only wastes a little bytes.

Thanks,
Alek

On Wed, 10 Jun 2009 12:23:58 +0800
Alek Du <alek.du@xxxxxxxxx> wrote:

> From 9bab93441d0969fe5f16ad8c8d61737e9eff02ff Mon Sep 17 00:00:00 2001
> From: Alek Du <alek.du@xxxxxxxxx>
> Date: Wed, 10 Jun 2009 11:53:59 +0800
> Subject: [PATCH] EHCI: Make ehci_qh structure items all 32bit aligned
> 
> Intel Moorestown platform EHCI controller has internal SRAM using for
> caching of QH/QTD pools, but this SRAM has the 32bit alignment access
> limit, all SRAM access must be 32bit aligned. This patch will change
> only a few not u32 items to u32.
> 
> Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxx>
> Signed-off-by: Alek Du <alek.du@xxxxxxxxx>
> ---
>  drivers/usb/host/ehci.h |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
> index 6cff195..048ded1 100644
> --- a/drivers/usb/host/ehci.h
> +++ b/drivers/usb/host/ehci.h
> @@ -335,23 +335,23 @@ struct ehci_qh {
>  	u32			refcount;
>  	unsigned		stamp;
>  
> -	u8			qh_state;
> +	u32			qh_state;
>  #define	QH_STATE_LINKED		1		/* HC sees this */
>  #define	QH_STATE_UNLINK		2		/* HC may still see this */
>  #define	QH_STATE_IDLE		3		/* HC doesn't see this */
>  #define	QH_STATE_UNLINK_WAIT	4		/* LINKED and on reclaim q */
>  #define	QH_STATE_COMPLETING	5		/* don't touch token.HALT */
>  
> -	u8			xacterrs;	/* XactErr retry counter */
> +	u32			xacterrs;	/* XactErr retry counter */
>  #define	QH_XACTERR_MAX		32		/* XactErr retry limit */
>  
>  	/* periodic schedule info */
> -	u8			usecs;		/* intr bandwidth */
> -	u8			gap_uf;		/* uframes split/csplit gap */
> -	u8			c_usecs;	/* ... split completion bw */
> -	u16			tt_usecs;	/* tt downstream bandwidth */
> -	unsigned short		period;		/* polling interval */
> -	unsigned short		start;		/* where polling starts */
> +	u32			usecs;		/* intr bandwidth */
> +	u32			gap_uf;		/* uframes split/csplit gap */
> +	u32			c_usecs;	/* ... split completion bw */
> +	u32			tt_usecs;	/* tt downstream bandwidth */
> +	u32			period;		/* polling interval */
> +	u32			start;		/* where polling starts */
>  #define NO_FRAME ((unsigned short)~0)			/* pick new start */
>  	struct usb_device	*dev;		/* access to TT */
>  } __attribute__ ((aligned (32)));
--
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