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