projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull dock into test branch
[powerpc.git]
/
drivers
/
scsi
/
aic94xx
/
aic94xx_hwi.h
diff --git
a/drivers/scsi/aic94xx/aic94xx_hwi.h
b/drivers/scsi/aic94xx/aic94xx_hwi.h
index
c7d5053
..
c6c3d18
100644
(file)
--- a/
drivers/scsi/aic94xx/aic94xx_hwi.h
+++ b/
drivers/scsi/aic94xx/aic94xx_hwi.h
@@
-46,6
+46,7
@@
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR10 0x410
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR12 0x412
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR1E 0x41E
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR10 0x410
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR12 0x412
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR1E 0x41E
+#define PCI_DEVICE_ID_ADAPTEC2_RAZOR1F 0x41F
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR30 0x430
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR32 0x432
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR3E 0x43E
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR30 0x430
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR32 0x432
#define PCI_DEVICE_ID_ADAPTEC2_RAZOR3E 0x43E
@@
-192,6
+193,16
@@
struct asd_seq_data {
struct asd_ascb **escb_arr; /* array of pointers to escbs */
};
struct asd_ascb **escb_arr; /* array of pointers to escbs */
};
+/* This is an internal port structure. These are used to get accurate
+ * phy_mask for updating DDB 0.
+ */
+struct asd_port {
+ u8 sas_addr[SAS_ADDR_SIZE];
+ u8 attached_sas_addr[SAS_ADDR_SIZE];
+ u32 phy_mask;
+ int num_phys;
+};
+
/* This is the Host Adapter structure. It describes the hardware
* SAS adapter.
*/
/* This is the Host Adapter structure. It describes the hardware
* SAS adapter.
*/
@@
-210,6
+221,8
@@
struct asd_ha_struct {
struct hw_profile hw_prof;
struct asd_phy phys[ASD_MAX_PHYS];
struct hw_profile hw_prof;
struct asd_phy phys[ASD_MAX_PHYS];
+ spinlock_t asd_ports_lock;
+ struct asd_port asd_ports[ASD_MAX_PHYS];
struct asd_sas_port ports[ASD_MAX_PHYS];
struct dma_pool *scb_pool;
struct asd_sas_port ports[ASD_MAX_PHYS];
struct dma_pool *scb_pool;
@@
-242,7
+255,7
@@
struct asd_ha_struct {
/* ---------- DMA allocs ---------- */
/* ---------- DMA allocs ---------- */
-static inline struct asd_dma_tok *asd_dmatok_alloc(
unsigned in
t flags)
+static inline struct asd_dma_tok *asd_dmatok_alloc(
gfp_
t flags)
{
return kmem_cache_alloc(asd_dma_token_cache, flags);
}
{
return kmem_cache_alloc(asd_dma_token_cache, flags);
}
@@
-254,7
+267,7
@@
static inline void asd_dmatok_free(struct asd_dma_tok *token)
static inline struct asd_dma_tok *asd_alloc_coherent(struct asd_ha_struct *
asd_ha, size_t size,
static inline struct asd_dma_tok *asd_alloc_coherent(struct asd_ha_struct *
asd_ha, size_t size,
-
unsigned in
t flags)
+
gfp_
t flags)
{
struct asd_dma_tok *token = asd_dmatok_alloc(flags);
if (token) {
{
struct asd_dma_tok *token = asd_dmatok_alloc(flags);
if (token) {
@@
-371,12
+384,12
@@
static inline void asd_ascb_free_list(struct asd_ascb *ascb_list)
/* ---------- Function declarations ---------- */
int asd_init_hw(struct asd_ha_struct *asd_ha);
/* ---------- Function declarations ---------- */
int asd_init_hw(struct asd_ha_struct *asd_ha);
-irqreturn_t asd_hw_isr(int irq, void *dev_id
, struct pt_regs *regs
);
+irqreturn_t asd_hw_isr(int irq, void *dev_id);
struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct
*asd_ha, int *num,
struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct
*asd_ha, int *num,
-
unsigned in
t gfp_mask);
+
gfp_
t gfp_mask);
int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb,
int num);
int asd_post_ascb_list(struct asd_ha_struct *asd_ha, struct asd_ascb *ascb,
int num);