[SCSI] mvsas: Remove unused macros, variables and functions
Remove unused macros: VSR_PHY_VS0, VSR_PHY_VS1, MVS_SLOTS, MVS_CAN_QUEUE, MVS_MSI, SG_MX, _MV_DUMP, MV_DISABLE_NCQ Remove unused variables for mvs_info: irq, exp_req, cmd_size Remove unused functions: mvs_get_sas_addr, mvs_hexdump, mvs_hba_sb_dump, mvs_hab_memory_dump, mvs_hba_cq_dump Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
此提交包含在:
@@ -38,7 +38,7 @@ static int mvs_find_tag(struct mvs_info *mvi, struct sas_task *task, u32 *tag)
|
||||
|
||||
void mvs_tag_clear(struct mvs_info *mvi, u32 tag)
|
||||
{
|
||||
void *bitmap = &mvi->tags;
|
||||
void *bitmap = mvi->tags;
|
||||
clear_bit(tag, bitmap);
|
||||
}
|
||||
|
||||
@@ -49,14 +49,14 @@ void mvs_tag_free(struct mvs_info *mvi, u32 tag)
|
||||
|
||||
void mvs_tag_set(struct mvs_info *mvi, unsigned int tag)
|
||||
{
|
||||
void *bitmap = &mvi->tags;
|
||||
void *bitmap = mvi->tags;
|
||||
set_bit(tag, bitmap);
|
||||
}
|
||||
|
||||
inline int mvs_tag_alloc(struct mvs_info *mvi, u32 *tag_out)
|
||||
{
|
||||
unsigned int index, tag;
|
||||
void *bitmap = &mvi->tags;
|
||||
void *bitmap = mvi->tags;
|
||||
|
||||
index = find_first_zero_bit(bitmap, mvi->tags_num);
|
||||
tag = index;
|
||||
@@ -74,126 +74,6 @@ void mvs_tag_init(struct mvs_info *mvi)
|
||||
mvs_tag_clear(mvi, i);
|
||||
}
|
||||
|
||||
void mvs_hexdump(u32 size, u8 *data, u32 baseaddr)
|
||||
{
|
||||
u32 i;
|
||||
u32 run;
|
||||
u32 offset;
|
||||
|
||||
offset = 0;
|
||||
while (size) {
|
||||
printk(KERN_DEBUG"%08X : ", baseaddr + offset);
|
||||
if (size >= 16)
|
||||
run = 16;
|
||||
else
|
||||
run = size;
|
||||
size -= run;
|
||||
for (i = 0; i < 16; i++) {
|
||||
if (i < run)
|
||||
printk(KERN_DEBUG"%02X ", (u32)data[i]);
|
||||
else
|
||||
printk(KERN_DEBUG" ");
|
||||
}
|
||||
printk(KERN_DEBUG": ");
|
||||
for (i = 0; i < run; i++)
|
||||
printk(KERN_DEBUG"%c",
|
||||
isalnum(data[i]) ? data[i] : '.');
|
||||
printk(KERN_DEBUG"\n");
|
||||
data = &data[16];
|
||||
offset += run;
|
||||
}
|
||||
printk(KERN_DEBUG"\n");
|
||||
}
|
||||
|
||||
#if (_MV_DUMP > 1)
|
||||
static void mvs_hba_sb_dump(struct mvs_info *mvi, u32 tag,
|
||||
enum sas_protocol proto)
|
||||
{
|
||||
u32 offset;
|
||||
struct mvs_slot_info *slot = &mvi->slot_info[tag];
|
||||
|
||||
offset = slot->cmd_size + MVS_OAF_SZ +
|
||||
MVS_CHIP_DISP->prd_size() * slot->n_elem;
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "+---->Status buffer[%d] :\n",
|
||||
tag);
|
||||
mvs_hexdump(32, (u8 *) slot->response,
|
||||
(u32) slot->buf_dma + offset);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void mvs_hba_memory_dump(struct mvs_info *mvi, u32 tag,
|
||||
enum sas_protocol proto)
|
||||
{
|
||||
#if (_MV_DUMP > 1)
|
||||
u32 sz, w_ptr;
|
||||
u64 addr;
|
||||
struct mvs_slot_info *slot = &mvi->slot_info[tag];
|
||||
|
||||
/*Delivery Queue */
|
||||
sz = MVS_CHIP_SLOT_SZ;
|
||||
w_ptr = slot->tx;
|
||||
addr = mvi->tx_dma;
|
||||
dev_printk(KERN_DEBUG, mvi->dev,
|
||||
"Delivery Queue Size=%04d , WRT_PTR=%04X\n", sz, w_ptr);
|
||||
dev_printk(KERN_DEBUG, mvi->dev,
|
||||
"Delivery Queue Base Address=0x%llX (PA)"
|
||||
"(tx_dma=0x%llX), Entry=%04d\n",
|
||||
addr, (unsigned long long)mvi->tx_dma, w_ptr);
|
||||
mvs_hexdump(sizeof(u32), (u8 *)(&mvi->tx[mvi->tx_prod]),
|
||||
(u32) mvi->tx_dma + sizeof(u32) * w_ptr);
|
||||
/*Command List */
|
||||
addr = mvi->slot_dma;
|
||||
dev_printk(KERN_DEBUG, mvi->dev,
|
||||
"Command List Base Address=0x%llX (PA)"
|
||||
"(slot_dma=0x%llX), Header=%03d\n",
|
||||
addr, (unsigned long long)slot->buf_dma, tag);
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "Command Header[%03d]:\n", tag);
|
||||
/*mvs_cmd_hdr */
|
||||
mvs_hexdump(sizeof(struct mvs_cmd_hdr), (u8 *)(&mvi->slot[tag]),
|
||||
(u32) mvi->slot_dma + tag * sizeof(struct mvs_cmd_hdr));
|
||||
/*1.command table area */
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "+---->Command Table :\n");
|
||||
mvs_hexdump(slot->cmd_size, (u8 *) slot->buf, (u32) slot->buf_dma);
|
||||
/*2.open address frame area */
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "+---->Open Address Frame :\n");
|
||||
mvs_hexdump(MVS_OAF_SZ, (u8 *) slot->buf + slot->cmd_size,
|
||||
(u32) slot->buf_dma + slot->cmd_size);
|
||||
/*3.status buffer */
|
||||
mvs_hba_sb_dump(mvi, tag, proto);
|
||||
/*4.PRD table */
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "+---->PRD table :\n");
|
||||
mvs_hexdump(MVS_CHIP_DISP->prd_size() * slot->n_elem,
|
||||
(u8 *) slot->buf + slot->cmd_size + MVS_OAF_SZ,
|
||||
(u32) slot->buf_dma + slot->cmd_size + MVS_OAF_SZ);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void mvs_hba_cq_dump(struct mvs_info *mvi)
|
||||
{
|
||||
#if (_MV_DUMP > 2)
|
||||
u64 addr;
|
||||
void __iomem *regs = mvi->regs;
|
||||
u32 entry = mvi->rx_cons + 1;
|
||||
u32 rx_desc = le32_to_cpu(mvi->rx[entry]);
|
||||
|
||||
/*Completion Queue */
|
||||
addr = mr32(RX_HI) << 16 << 16 | mr32(RX_LO);
|
||||
dev_printk(KERN_DEBUG, mvi->dev, "Completion Task = 0x%p\n",
|
||||
mvi->slot_info[rx_desc & RXQ_SLOT_MASK].task);
|
||||
dev_printk(KERN_DEBUG, mvi->dev,
|
||||
"Completion List Base Address=0x%llX (PA), "
|
||||
"CQ_Entry=%04d, CQ_WP=0x%08X\n",
|
||||
addr, entry - 1, mvi->rx[0]);
|
||||
mvs_hexdump(sizeof(u32), (u8 *)(&rx_desc),
|
||||
mvi->rx_dma + sizeof(u32) * entry);
|
||||
#endif
|
||||
}
|
||||
|
||||
void mvs_get_sas_addr(void *buf, u32 buflen)
|
||||
{
|
||||
/*memcpy(buf, "\x50\x05\x04\x30\x11\xab\x64\x40", 8);*/
|
||||
}
|
||||
|
||||
struct mvs_info *mvs_find_dev_mvi(struct domain_device *dev)
|
||||
{
|
||||
unsigned long i = 0, j = 0, hi = 0;
|
||||
@@ -421,13 +301,6 @@ int mvs_slave_configure(struct scsi_device *sdev)
|
||||
if (ret)
|
||||
return ret;
|
||||
if (dev_is_sata(dev)) {
|
||||
/* may set PIO mode */
|
||||
#if MV_DISABLE_NCQ
|
||||
struct ata_port *ap = dev->sata_dev.ap;
|
||||
struct ata_device *adev = ap->link.device;
|
||||
adev->flags |= ATA_DFLAG_NCQ_OFF;
|
||||
scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, 1);
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -475,10 +348,7 @@ static int mvs_task_prep_smp(struct mvs_info *mvi,
|
||||
void *buf_prd;
|
||||
struct mvs_slot_info *slot = &mvi->slot_info[tag];
|
||||
u32 flags = (tei->n_elem << MCH_PRD_LEN_SHIFT);
|
||||
#if _MV_DUMP
|
||||
u8 *buf_cmd;
|
||||
void *from;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* DMA-map SMP request, response buffers
|
||||
*/
|
||||
@@ -510,15 +380,7 @@ static int mvs_task_prep_smp(struct mvs_info *mvi,
|
||||
buf_tmp = slot->buf;
|
||||
buf_tmp_dma = slot->buf_dma;
|
||||
|
||||
#if _MV_DUMP
|
||||
buf_cmd = buf_tmp;
|
||||
hdr->cmd_tbl = cpu_to_le64(buf_tmp_dma);
|
||||
buf_tmp += req_len;
|
||||
buf_tmp_dma += req_len;
|
||||
slot->cmd_size = req_len;
|
||||
#else
|
||||
hdr->cmd_tbl = cpu_to_le64(sg_dma_address(sg_req));
|
||||
#endif
|
||||
|
||||
/* region 2: open address frame area (MVS_OAF_SZ bytes) ********* */
|
||||
buf_oaf = buf_tmp;
|
||||
@@ -567,12 +429,6 @@ static int mvs_task_prep_smp(struct mvs_info *mvi,
|
||||
/* fill in PRD (scatter/gather) table, if any */
|
||||
MVS_CHIP_DISP->make_prd(task->scatter, tei->n_elem, buf_prd);
|
||||
|
||||
#if _MV_DUMP
|
||||
/* copy cmd table */
|
||||
from = kmap_atomic(sg_page(sg_req), KM_IRQ0);
|
||||
memcpy(buf_cmd, from + sg_req->offset, req_len);
|
||||
kunmap_atomic(from, KM_IRQ0);
|
||||
#endif
|
||||
return 0;
|
||||
|
||||
err_out_2:
|
||||
@@ -668,9 +524,6 @@ static int mvs_task_prep_ata(struct mvs_info *mvi,
|
||||
|
||||
buf_tmp += MVS_ATA_CMD_SZ;
|
||||
buf_tmp_dma += MVS_ATA_CMD_SZ;
|
||||
#if _MV_DUMP
|
||||
slot->cmd_size = MVS_ATA_CMD_SZ;
|
||||
#endif
|
||||
|
||||
/* region 2: open address frame area (MVS_OAF_SZ bytes) ********* */
|
||||
/* used for STP. unused for SATA? */
|
||||
@@ -788,9 +641,6 @@ static int mvs_task_prep_ssp(struct mvs_info *mvi,
|
||||
|
||||
buf_tmp += MVS_SSP_CMD_SZ;
|
||||
buf_tmp_dma += MVS_SSP_CMD_SZ;
|
||||
#if _MV_DUMP
|
||||
slot->cmd_size = MVS_SSP_CMD_SZ;
|
||||
#endif
|
||||
|
||||
/* region 2: open address frame area (MVS_OAF_SZ bytes) ********* */
|
||||
buf_oaf = buf_tmp;
|
||||
@@ -997,7 +847,6 @@ static int mvs_task_prep(struct sas_task *task, struct mvs_info *mvi, int is_tmf
|
||||
task->task_state_flags |= SAS_TASK_AT_INITIATOR;
|
||||
spin_unlock(&task->task_state_lock);
|
||||
|
||||
mvs_hba_memory_dump(mvi, tag, task->task_proto);
|
||||
mvi_dev->running_req++;
|
||||
++(*pass);
|
||||
mvi->tx_prod = (mvi->tx_prod + 1) & (MVS_CHIP_SLOT_SZ - 1);
|
||||
@@ -1963,8 +1812,6 @@ int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
|
||||
void *to;
|
||||
enum exec_status sts;
|
||||
|
||||
if (mvi->exp_req)
|
||||
mvi->exp_req--;
|
||||
if (unlikely(!task || !task->lldd_task || !task->dev))
|
||||
return -1;
|
||||
|
||||
@@ -1972,8 +1819,6 @@ int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
|
||||
dev = task->dev;
|
||||
mvi_dev = dev->lldd_dev;
|
||||
|
||||
mvs_hba_cq_dump(mvi);
|
||||
|
||||
spin_lock(&task->task_state_lock);
|
||||
task->task_state_flags &=
|
||||
~(SAS_TASK_STATE_PENDING | SAS_TASK_AT_INITIATOR);
|
||||
|
新增問題並參考
封鎖使用者