[SCSI] qla2xxx: Add changes in initialization for ISPFX00 cards with BIOS
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Родитель
1fe19ee488
Коммит
f9a2a54356
|
@ -643,6 +643,7 @@ struct device_reg_fx00 {
|
||||||
uint32_t initval6; /* C8 */
|
uint32_t initval6; /* C8 */
|
||||||
uint32_t initval7; /* CC */
|
uint32_t initval7; /* CC */
|
||||||
uint32_t fwheartbeat; /* D0 */
|
uint32_t fwheartbeat; /* D0 */
|
||||||
|
uint32_t pseudoaen; /* D4 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -941,12 +941,23 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||||
struct qla_hw_data *ha = vha->hw;
|
struct qla_hw_data *ha = vha->hw;
|
||||||
struct device_reg_fx00 __iomem *reg = &ha->iobase->ispfx00;
|
struct device_reg_fx00 __iomem *reg = &ha->iobase->ispfx00;
|
||||||
uint32_t aenmbx, aenmbx7 = 0;
|
uint32_t aenmbx, aenmbx7 = 0;
|
||||||
|
uint32_t pseudo_aen;
|
||||||
uint32_t state[5];
|
uint32_t state[5];
|
||||||
bool done = false;
|
bool done = false;
|
||||||
|
|
||||||
/* 30 seconds wait - Adjust if required */
|
/* 30 seconds wait - Adjust if required */
|
||||||
wait_time = 30;
|
wait_time = 30;
|
||||||
|
|
||||||
|
pseudo_aen = RD_REG_DWORD(®->pseudoaen);
|
||||||
|
if (pseudo_aen == 1) {
|
||||||
|
aenmbx7 = RD_REG_DWORD(®->initval7);
|
||||||
|
ha->mbx_intr_code = MSW(aenmbx7);
|
||||||
|
ha->rqstq_intr_code = LSW(aenmbx7);
|
||||||
|
rval = qlafx00_driver_shutdown(vha, 10);
|
||||||
|
if (rval != QLA_SUCCESS)
|
||||||
|
qlafx00_soft_reset(vha);
|
||||||
|
}
|
||||||
|
|
||||||
/* wait time before firmware ready */
|
/* wait time before firmware ready */
|
||||||
wtime = jiffies + (wait_time * HZ);
|
wtime = jiffies + (wait_time * HZ);
|
||||||
do {
|
do {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче