forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/scsi/qla2xxx/qla_nx2.c
....@@ -1,8 +1,7 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * QLogic Fibre Channel HBA Driver
34 * Copyright (c) 2003-2014 QLogic Corporation
4
- *
5
- * See LICENSE.qla2xxx for copyright and licensing details.
65 */
76
87 #include <linux/vmalloc.h>
....@@ -559,12 +558,12 @@
559558 /*
560559 * Address and length are byte address
561560 */
562
-uint8_t *
563
-qla8044_read_optrom_data(struct scsi_qla_host *vha, uint8_t *buf,
561
+void *
562
+qla8044_read_optrom_data(struct scsi_qla_host *vha, void *buf,
564563 uint32_t offset, uint32_t length)
565564 {
566565 scsi_block_requests(vha->host);
567
- if (qla8044_read_flash_data(vha, (uint8_t *)buf, offset, length / 4)
566
+ if (qla8044_read_flash_data(vha, buf, offset, length / 4)
568567 != QLA_SUCCESS) {
569568 ql_log(ql_log_warn, vha, 0xb08d,
570569 "%s: Failed to read from flash\n",
....@@ -660,7 +659,7 @@
660659 qla8044_poll_reg(struct scsi_qla_host *vha, uint32_t addr,
661660 int duration, uint32_t test_mask, uint32_t test_result)
662661 {
663
- uint32_t value;
662
+ uint32_t value = 0;
664663 int timeout_error;
665664 uint8_t retries;
666665 int ret_val = QLA_SUCCESS;
....@@ -1441,7 +1440,7 @@
14411440 if (idc_ctrl & GRACEFUL_RESET_BIT1) {
14421441 qla8044_wr_reg(ha, QLA8044_IDC_DRV_CTRL,
14431442 (idc_ctrl & ~GRACEFUL_RESET_BIT1));
1444
- ha->fw_dumped = 0;
1443
+ ha->fw_dumped = false;
14451444 }
14461445
14471446 dev_ready:
....@@ -2810,7 +2809,7 @@
28102809
28112810 #define ISP8044_PEX_DMA_ENGINE_INDEX 8
28122811 #define ISP8044_PEX_DMA_BASE_ADDRESS 0x77320000
2813
-#define ISP8044_PEX_DMA_NUM_OFFSET 0x10000
2812
+#define ISP8044_PEX_DMA_NUM_OFFSET 0x10000UL
28142813 #define ISP8044_PEX_DMA_CMD_ADDR_LOW 0x0
28152814 #define ISP8044_PEX_DMA_CMD_ADDR_HIGH 0x04
28162815 #define ISP8044_PEX_DMA_CMD_STS_AND_CNTRL 0x08
....@@ -2965,7 +2964,7 @@
29652964
29662965 /* Prepare: Write pex-dma descriptor to MS memory. */
29672966 rval = qla8044_ms_mem_write_128b(vha,
2968
- m_hdr->desc_card_addr, (void *)&dma_desc,
2967
+ m_hdr->desc_card_addr, (uint32_t *)&dma_desc,
29692968 (sizeof(struct qla8044_pex_dma_descriptor)/16));
29702969 if (rval) {
29712970 ql_log(ql_log_warn, vha, 0xb14a,
....@@ -2987,7 +2986,7 @@
29872986 read_size += chunk_size;
29882987 }
29892988
2990
- *d_ptr = (void *)data_ptr;
2989
+ *d_ptr = (uint32_t *)data_ptr;
29912990
29922991 error_exit:
29932992 if (rdmem_buffer)
....@@ -3007,10 +3006,9 @@
30073006 uint16_t count;
30083007 uint32_t poll, mask, modify_mask;
30093008 uint32_t wait_count = 0;
3010
-
30113009 uint32_t *data_ptr = *d_ptr;
3012
-
30133010 struct qla8044_minidump_entry_rddfe *rddfe;
3011
+
30143012 rddfe = (struct qla8044_minidump_entry_rddfe *) entry_hdr;
30153013
30163014 addr1 = rddfe->addr_1;
....@@ -3250,7 +3248,7 @@
32503248 goto md_failed;
32513249 }
32523250
3253
- ha->fw_dumped = 0;
3251
+ ha->fw_dumped = false;
32543252
32553253 if (!ha->md_tmplt_hdr || !ha->md_dump) {
32563254 ql_log(ql_log_warn, vha, 0xb10e,
....@@ -3471,7 +3469,7 @@
34713469 ql_log(ql_log_info, vha, 0xb110,
34723470 "Firmware dump saved to temp buffer (%ld/%p %ld/%p).\n",
34733471 vha->host_no, ha->md_tmplt_hdr, vha->host_no, ha->md_dump);
3474
- ha->fw_dumped = 1;
3472
+ ha->fw_dumped = true;
34753473 qla2x00_post_uevent_work(vha, QLA_UEVENT_CODE_FW_DUMP);
34763474
34773475
....@@ -3488,7 +3486,7 @@
34883486 struct qla_hw_data *ha = vha->hw;
34893487
34903488 if (!qla8044_collect_md_data(vha)) {
3491
- ha->fw_dumped = 1;
3489
+ ha->fw_dumped = true;
34923490 ha->prev_minidump_failed = 0;
34933491 } else {
34943492 ql_log(ql_log_fatal, vha, 0xb0db,
....@@ -3797,7 +3795,7 @@
37973795 }
37983796
37993797 int
3800
-qla8044_write_optrom_data(struct scsi_qla_host *vha, uint8_t *buf,
3798
+qla8044_write_optrom_data(struct scsi_qla_host *vha, void *buf,
38013799 uint32_t offset, uint32_t length)
38023800 {
38033801 int rval = QLA_FUNCTION_FAILED, i, burst_iter_count;
....@@ -3878,7 +3876,7 @@
38783876 #define PF_BITS_MASK (0xF << 16)
38793877 /**
38803878 * qla8044_intr_handler() - Process interrupts for the ISP8044
3881
- * @irq:
3879
+ * @irq: interrupt number
38823880 * @dev_id: SCSI driver HA context
38833881 *
38843882 * Called by system whenever the host adapter generates an interrupt.
....@@ -3896,7 +3894,7 @@
38963894 unsigned long flags;
38973895 unsigned long iter;
38983896 uint32_t stat;
3899
- uint16_t mb[4];
3897
+ uint16_t mb[8];
39003898 uint32_t leg_int_ptr = 0, pf_bit;
39013899
39023900 rsp = (struct rsp_que *) dev_id;
....@@ -3947,8 +3945,8 @@
39473945 spin_lock_irqsave(&ha->hardware_lock, flags);
39483946 for (iter = 1; iter--; ) {
39493947
3950
- if (RD_REG_DWORD(&reg->host_int)) {
3951
- stat = RD_REG_DWORD(&reg->host_status);
3948
+ if (rd_reg_dword(&reg->host_int)) {
3949
+ stat = rd_reg_dword(&reg->host_status);
39523950 if ((stat & HSRX_RISC_INT) == 0)
39533951 break;
39543952
....@@ -3962,9 +3960,9 @@
39623960 break;
39633961 case 0x12:
39643962 mb[0] = MSW(stat);
3965
- mb[1] = RD_REG_WORD(&reg->mailbox_out[1]);
3966
- mb[2] = RD_REG_WORD(&reg->mailbox_out[2]);
3967
- mb[3] = RD_REG_WORD(&reg->mailbox_out[3]);
3963
+ mb[1] = rd_reg_word(&reg->mailbox_out[1]);
3964
+ mb[2] = rd_reg_word(&reg->mailbox_out[2]);
3965
+ mb[3] = rd_reg_word(&reg->mailbox_out[3]);
39683966 qla2x00_async_event(vha, rsp, mb);
39693967 break;
39703968 case 0x13:
....@@ -3977,7 +3975,7 @@
39773975 break;
39783976 }
39793977 }
3980
- WRT_REG_DWORD(&reg->host_int, 0);
3978
+ wrt_reg_dword(&reg->host_int, 0);
39813979 }
39823980
39833981 qla2x00_handle_mbx_completion(ha, status);
....@@ -4071,7 +4069,7 @@
40714069 }
40724070
40734071 void
4074
-qla8044_fw_dump(scsi_qla_host_t *vha, int hardware_locked)
4072
+qla8044_fw_dump(scsi_qla_host_t *vha)
40754073 {
40764074 struct qla_hw_data *ha = vha->hw;
40774075