diff options
Diffstat (limited to 'drivers/usb/host/ehci.h')
| -rw-r--r-- | drivers/usb/host/ehci.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index e763a8399a75..4df498231752 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h | |||
| @@ -47,6 +47,12 @@ struct ehci_stats { | |||
| 47 | #define EHCI_MAX_ROOT_PORTS 15 /* see HCS_N_PORTS */ | 47 | #define EHCI_MAX_ROOT_PORTS 15 /* see HCS_N_PORTS */ |
| 48 | 48 | ||
| 49 | struct ehci_hcd { /* one per controller */ | 49 | struct ehci_hcd { /* one per controller */ |
| 50 | /* glue to PCI and HCD framework */ | ||
| 51 | struct ehci_caps __iomem *caps; | ||
| 52 | struct ehci_regs __iomem *regs; | ||
| 53 | struct ehci_dbg_port __iomem *debug; | ||
| 54 | |||
| 55 | __u32 hcs_params; /* cached register copy */ | ||
| 50 | spinlock_t lock; | 56 | spinlock_t lock; |
| 51 | 57 | ||
| 52 | /* async schedule support */ | 58 | /* async schedule support */ |
| @@ -84,11 +90,6 @@ struct ehci_hcd { /* one per controller */ | |||
| 84 | 90 | ||
| 85 | unsigned is_tdi_rh_tt:1; /* TDI roothub with TT */ | 91 | unsigned is_tdi_rh_tt:1; /* TDI roothub with TT */ |
| 86 | 92 | ||
| 87 | /* glue to PCI and HCD framework */ | ||
| 88 | struct ehci_caps __iomem *caps; | ||
| 89 | struct ehci_regs __iomem *regs; | ||
| 90 | __u32 hcs_params; /* cached register copy */ | ||
| 91 | |||
| 92 | /* irq statistics */ | 93 | /* irq statistics */ |
| 93 | #ifdef EHCI_STATS | 94 | #ifdef EHCI_STATS |
| 94 | struct ehci_stats stats; | 95 | struct ehci_stats stats; |
| @@ -165,7 +166,7 @@ struct ehci_caps { | |||
| 165 | /* these fields are specified as 8 and 16 bit registers, | 166 | /* these fields are specified as 8 and 16 bit registers, |
| 166 | * but some hosts can't perform 8 or 16 bit PCI accesses. | 167 | * but some hosts can't perform 8 or 16 bit PCI accesses. |
| 167 | */ | 168 | */ |
| 168 | u32 hc_capbase; | 169 | u32 hc_capbase; |
| 169 | #define HC_LENGTH(p) (((p)>>00)&0x00ff) /* bits 7:0 */ | 170 | #define HC_LENGTH(p) (((p)>>00)&0x00ff) /* bits 7:0 */ |
| 170 | #define HC_VERSION(p) (((p)>>16)&0xffff) /* bits 31:16 */ | 171 | #define HC_VERSION(p) (((p)>>16)&0xffff) /* bits 31:16 */ |
| 171 | u32 hcs_params; /* HCSPARAMS - offset 0x4 */ | 172 | u32 hcs_params; /* HCSPARAMS - offset 0x4 */ |
| @@ -273,7 +274,7 @@ struct ehci_dbg_port { | |||
| 273 | #define DBGP_ENABLED (1<<28) | 274 | #define DBGP_ENABLED (1<<28) |
| 274 | #define DBGP_DONE (1<<16) | 275 | #define DBGP_DONE (1<<16) |
| 275 | #define DBGP_INUSE (1<<10) | 276 | #define DBGP_INUSE (1<<10) |
| 276 | #define DBGP_ERRCODE(x) (((x)>>7)&0x0f) | 277 | #define DBGP_ERRCODE(x) (((x)>>7)&0x07) |
| 277 | # define DBGP_ERR_BAD 1 | 278 | # define DBGP_ERR_BAD 1 |
| 278 | # define DBGP_ERR_SIGNAL 2 | 279 | # define DBGP_ERR_SIGNAL 2 |
| 279 | #define DBGP_ERROR (1<<6) | 280 | #define DBGP_ERROR (1<<6) |
| @@ -282,11 +283,11 @@ struct ehci_dbg_port { | |||
| 282 | #define DBGP_LEN(x) (((x)>>0)&0x0f) | 283 | #define DBGP_LEN(x) (((x)>>0)&0x0f) |
| 283 | u32 pids; | 284 | u32 pids; |
| 284 | #define DBGP_PID_GET(x) (((x)>>16)&0xff) | 285 | #define DBGP_PID_GET(x) (((x)>>16)&0xff) |
| 285 | #define DBGP_PID_SET(data,tok) (((data)<<8)|(tok)); | 286 | #define DBGP_PID_SET(data,tok) (((data)<<8)|(tok)) |
| 286 | u32 data03; | 287 | u32 data03; |
| 287 | u32 data47; | 288 | u32 data47; |
| 288 | u32 address; | 289 | u32 address; |
| 289 | #define DBGP_EPADDR(dev,ep) (((dev)<<8)|(ep)); | 290 | #define DBGP_EPADDR(dev,ep) (((dev)<<8)|(ep)) |
| 290 | } __attribute__ ((packed)); | 291 | } __attribute__ ((packed)); |
| 291 | 292 | ||
| 292 | /*-------------------------------------------------------------------------*/ | 293 | /*-------------------------------------------------------------------------*/ |
