Skip to content

Commit

Permalink
[SCSI] be2iscsi: Adding msix and mcc_rings V3
Browse files Browse the repository at this point in the history
This patch enables msix for be2iscsi. It also enables use
of mcc_rings for fw commands. Since the mcc eq creation is
dependent on msix I am sending as one patch

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Jayamohan Kallickal authored and James Bottomley committed Dec 4, 2009
1 parent b4a9c7e commit bfead3b
Show file tree
Hide file tree
Showing 8 changed files with 1,030 additions and 331 deletions.
24 changes: 9 additions & 15 deletions drivers/scsi/be2iscsi/be.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@

#include <linux/pci.h>
#include <linux/if_vlan.h>

#define FW_VER_LEN 32
#include <linux/blk-iopoll.h>
#define FW_VER_LEN 32
#define MCC_Q_LEN 128
#define MCC_CQ_LEN 256

struct be_dma_mem {
void *va;
Expand Down Expand Up @@ -74,18 +76,14 @@ static inline void queue_tail_inc(struct be_queue_info *q)

struct be_eq_obj {
struct be_queue_info q;
char desc[32];

/* Adaptive interrupt coalescing (AIC) info */
bool enable_aic;
u16 min_eqd; /* in usecs */
u16 max_eqd; /* in usecs */
u16 cur_eqd; /* in usecs */
struct beiscsi_hba *phba;
struct be_queue_info *cq;
struct blk_iopoll iopoll;
};

struct be_mcc_obj {
struct be_queue_info *q;
struct be_queue_info *cq;
struct be_queue_info q;
struct be_queue_info cq;
};

struct be_ctrl_info {
Expand Down Expand Up @@ -176,8 +174,4 @@ static inline void swap_dws(void *wrb, int len)
} while (len);
#endif /* __BIG_ENDIAN */
}

extern void beiscsi_cq_notify(struct be_ctrl_info *ctrl, u16 qid, bool arm,
u16 num_popped);

#endif /* BEISCSI_H */
Loading

0 comments on commit bfead3b

Please sign in to comment.