[SCSI] sym53c8xx: Remove data_mapping and data_mapped
Before all commands used sg, data_mapping and data_mapped were used to distinguish whether the command had used map_single or map_sg. Now all commands are sg, so we can delete data_mapping, data_mapped and the wrapper functions __unmap_scsi_data, __map_scsi_sg_data, unmap_scsi_data and map_scsi_sg_data. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
f363abff55
commit
39c05d1e3c
1 changed files with 3 additions and 30 deletions
|
@ -134,8 +134,6 @@ static struct scsi_transport_template *sym2_transport_template = NULL;
|
||||||
* Driver private area in the SCSI command structure.
|
* Driver private area in the SCSI command structure.
|
||||||
*/
|
*/
|
||||||
struct sym_ucmd { /* Override the SCSI pointer structure */
|
struct sym_ucmd { /* Override the SCSI pointer structure */
|
||||||
dma_addr_t data_mapping;
|
|
||||||
unsigned char data_mapped;
|
|
||||||
unsigned char to_do; /* For error handling */
|
unsigned char to_do; /* For error handling */
|
||||||
void (*old_done)(struct scsi_cmnd *); /* For error handling */
|
void (*old_done)(struct scsi_cmnd *); /* For error handling */
|
||||||
struct completion *eh_done; /* For error handling */
|
struct completion *eh_done; /* For error handling */
|
||||||
|
@ -144,37 +142,12 @@ struct sym_ucmd { /* Override the SCSI pointer structure */
|
||||||
#define SYM_UCMD_PTR(cmd) ((struct sym_ucmd *)(&(cmd)->SCp))
|
#define SYM_UCMD_PTR(cmd) ((struct sym_ucmd *)(&(cmd)->SCp))
|
||||||
#define SYM_SOFTC_PTR(cmd) sym_get_hcb(cmd->device->host)
|
#define SYM_SOFTC_PTR(cmd) sym_get_hcb(cmd->device->host)
|
||||||
|
|
||||||
static void __unmap_scsi_data(struct pci_dev *pdev, struct scsi_cmnd *cmd)
|
|
||||||
{
|
|
||||||
if (SYM_UCMD_PTR(cmd)->data_mapped)
|
|
||||||
scsi_dma_unmap(cmd);
|
|
||||||
|
|
||||||
SYM_UCMD_PTR(cmd)->data_mapped = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __map_scsi_sg_data(struct pci_dev *pdev, struct scsi_cmnd *cmd)
|
|
||||||
{
|
|
||||||
int use_sg;
|
|
||||||
|
|
||||||
use_sg = scsi_dma_map(cmd);
|
|
||||||
if (use_sg > 0) {
|
|
||||||
SYM_UCMD_PTR(cmd)->data_mapped = 2;
|
|
||||||
SYM_UCMD_PTR(cmd)->data_mapping = use_sg;
|
|
||||||
}
|
|
||||||
|
|
||||||
return use_sg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define unmap_scsi_data(np, cmd) \
|
|
||||||
__unmap_scsi_data(np->s.device, cmd)
|
|
||||||
#define map_scsi_sg_data(np, cmd) \
|
|
||||||
__map_scsi_sg_data(np->s.device, cmd)
|
|
||||||
/*
|
/*
|
||||||
* Complete a pending CAM CCB.
|
* Complete a pending CAM CCB.
|
||||||
*/
|
*/
|
||||||
void sym_xpt_done(struct sym_hcb *np, struct scsi_cmnd *cmd)
|
void sym_xpt_done(struct sym_hcb *np, struct scsi_cmnd *cmd)
|
||||||
{
|
{
|
||||||
unmap_scsi_data(np, cmd);
|
scsi_dma_unmap(cmd);
|
||||||
cmd->scsi_done(cmd);
|
cmd->scsi_done(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,14 +280,14 @@ static int sym_scatter(struct sym_hcb *np, struct sym_ccb *cp, struct scsi_cmnd
|
||||||
|
|
||||||
cp->data_len = 0;
|
cp->data_len = 0;
|
||||||
|
|
||||||
use_sg = map_scsi_sg_data(np, cmd);
|
use_sg = scsi_dma_map(cmd);
|
||||||
if (use_sg > 0) {
|
if (use_sg > 0) {
|
||||||
struct scatterlist *sg;
|
struct scatterlist *sg;
|
||||||
struct sym_tcb *tp = &np->target[cp->target];
|
struct sym_tcb *tp = &np->target[cp->target];
|
||||||
struct sym_tblmove *data;
|
struct sym_tblmove *data;
|
||||||
|
|
||||||
if (use_sg > SYM_CONF_MAX_SG) {
|
if (use_sg > SYM_CONF_MAX_SG) {
|
||||||
unmap_scsi_data(np, cmd);
|
scsi_dma_unmap(cmd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue