Skip to content

Commit

Permalink
[SCSI] qla2xxx: Increase SG table size to support large IO size per s…
Browse files Browse the repository at this point in the history
…csi command.

The sg table size is increased from 128 to 1024 to support multiple sg lists
and number of sg elements per scsi command.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Giridhar Malavali authored and James Bottomley committed Sep 5, 2010
1 parent 3fadb80 commit 58548cb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
2 changes: 2 additions & 0 deletions drivers/scsi/qla2xxx/qla_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -2989,6 +2989,8 @@ typedef struct scsi_qla_host {

#define CMD_SP(Cmnd) ((Cmnd)->SCp.ptr)

#define QLA_SG_ALL 1024

enum nexus_wait_type {
WAIT_HOST = 0,
WAIT_TARGET,
Expand Down
12 changes: 10 additions & 2 deletions drivers/scsi/qla2xxx/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -2136,8 +2136,16 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
else
base_vha->mgmt_svr_loop_id = MANAGEMENT_SERVER +
base_vha->vp_idx;
if (IS_QLA2100(ha))
host->sg_tablesize = 32;

/* Set the SG table size based on ISP type */
if (!IS_FWI2_CAPABLE(ha)) {
if (IS_QLA2100(ha))
host->sg_tablesize = 32;
} else {
if (!IS_QLA82XX(ha))
host->sg_tablesize = QLA_SG_ALL;
}

host->max_id = max_id;
host->this_id = 255;
host->cmd_per_lun = 3;
Expand Down

0 comments on commit 58548cb

Please sign in to comment.