scsi: qla1280: use lower_32_bits and upper_32_bits instead of reinventing them
authorChristoph Hellwig <hch@lst.de>
Thu, 18 Oct 2018 13:03:35 +0000 (15:03 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 7 Nov 2018 02:31:28 +0000 (21:31 -0500)
This also moves the optimization for builds with 32-bit dma_addr_t to
the compiler (where it belongs) instead of opencoding it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla1280.c

index 15a50cc7e4b36820a077d04af895543a4e2dc681..f19e8d192d36b86326ef10569647cbab75cba41f 100644 (file)
 #define QLA_64BIT_PTR  1
 #endif
 
-#ifdef QLA_64BIT_PTR
-#define pci_dma_hi32(a)                        ((a >> 16) >> 16)
-#else
-#define pci_dma_hi32(a)                        0
-#endif
-#define pci_dma_lo32(a)                        (a & 0xffffffff)
-
 #define NVRAM_DELAY()                  udelay(500)     /* 2 microseconds */
 
 #if defined(__ia64__) && !defined(ia64_platform_is)
@@ -1790,8 +1783,8 @@ qla1280_load_firmware_dma(struct scsi_qla_host *ha)
                mb[4] = cnt;
                mb[3] = ha->request_dma & 0xffff;
                mb[2] = (ha->request_dma >> 16) & 0xffff;
-               mb[7] = pci_dma_hi32(ha->request_dma) & 0xffff;
-               mb[6] = pci_dma_hi32(ha->request_dma) >> 16;
+               mb[7] = upper_32_bits(ha->request_dma) & 0xffff;
+               mb[6] = upper_32_bits(ha->request_dma) >> 16;
                dprintk(2, "%s: op=%d  0x%p = 0x%4x,0x%4x,0x%4x,0x%4x\n",
                                __func__, mb[0],
                                (void *)(long)ha->request_dma,
@@ -1810,8 +1803,8 @@ qla1280_load_firmware_dma(struct scsi_qla_host *ha)
                mb[4] = cnt;
                mb[3] = p_tbuf & 0xffff;
                mb[2] = (p_tbuf >> 16) & 0xffff;
-               mb[7] = pci_dma_hi32(p_tbuf) & 0xffff;
-               mb[6] = pci_dma_hi32(p_tbuf) >> 16;
+               mb[7] = upper_32_bits(p_tbuf) & 0xffff;
+               mb[6] = upper_32_bits(p_tbuf) >> 16;
 
                err = qla1280_mailbox_command(ha, BIT_4 | BIT_3 | BIT_2 |
                                BIT_1 | BIT_0, mb);
@@ -1933,8 +1926,8 @@ qla1280_init_rings(struct scsi_qla_host *ha)
        mb[3] = ha->request_dma & 0xffff;
        mb[2] = (ha->request_dma >> 16) & 0xffff;
        mb[4] = 0;
-       mb[7] = pci_dma_hi32(ha->request_dma) & 0xffff;
-       mb[6] = pci_dma_hi32(ha->request_dma) >> 16;
+       mb[7] = upper_32_bits(ha->request_dma) & 0xffff;
+       mb[6] = upper_32_bits(ha->request_dma) >> 16;
        if (!(status = qla1280_mailbox_command(ha, BIT_7 | BIT_6 | BIT_4 |
                                               BIT_3 | BIT_2 | BIT_1 | BIT_0,
                                               &mb[0]))) {
@@ -1947,8 +1940,8 @@ qla1280_init_rings(struct scsi_qla_host *ha)
                mb[3] = ha->response_dma & 0xffff;
                mb[2] = (ha->response_dma >> 16) & 0xffff;
                mb[5] = 0;
-               mb[7] = pci_dma_hi32(ha->response_dma) & 0xffff;
-               mb[6] = pci_dma_hi32(ha->response_dma) >> 16;
+               mb[7] = upper_32_bits(ha->response_dma) & 0xffff;
+               mb[6] = upper_32_bits(ha->response_dma) >> 16;
                status = qla1280_mailbox_command(ha, BIT_7 | BIT_6 | BIT_5 |
                                                 BIT_3 | BIT_2 | BIT_1 | BIT_0,
                                                 &mb[0]);
@@ -2914,13 +2907,13 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
                                                 SCSI_BUS_32(cmd));
 #endif
                        *dword_ptr++ =
-                               cpu_to_le32(pci_dma_lo32(dma_handle));
+                               cpu_to_le32(lower_32_bits(dma_handle));
                        *dword_ptr++ =
-                               cpu_to_le32(pci_dma_hi32(dma_handle));
+                               cpu_to_le32(upper_32_bits(dma_handle));
                        *dword_ptr++ = cpu_to_le32(sg_dma_len(s));
                        dprintk(3, "S/G Segment phys_addr=%x %x, len=0x%x\n",
-                               cpu_to_le32(pci_dma_hi32(dma_handle)),
-                               cpu_to_le32(pci_dma_lo32(dma_handle)),
+                               cpu_to_le32(upper_32_bits(dma_handle)),
+                               cpu_to_le32(lower_32_bits(dma_handle)),
                                cpu_to_le32(sg_dma_len(sg_next(s))));
                        remseg--;
                }
@@ -2976,14 +2969,14 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
                                                         SCSI_BUS_32(cmd));
 #endif
                                *dword_ptr++ =
-                                       cpu_to_le32(pci_dma_lo32(dma_handle));
+                                       cpu_to_le32(lower_32_bits(dma_handle));
                                *dword_ptr++ =
-                                       cpu_to_le32(pci_dma_hi32(dma_handle));
+                                       cpu_to_le32(upper_32_bits(dma_handle));
                                *dword_ptr++ =
                                        cpu_to_le32(sg_dma_len(s));
                                dprintk(3, "S/G Segment Cont. phys_addr=%x %x, len=0x%x\n",
-                                       cpu_to_le32(pci_dma_hi32(dma_handle)),
-                                       cpu_to_le32(pci_dma_lo32(dma_handle)),
+                                       cpu_to_le32(upper_32_bits(dma_handle)),
+                                       cpu_to_le32(lower_32_bits(dma_handle)),
                                        cpu_to_le32(sg_dma_len(s)));
                        }
                        remseg -= cnt;
@@ -3178,10 +3171,10 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
                        if (cnt == 4)
                                break;
                        *dword_ptr++ =
-                               cpu_to_le32(pci_dma_lo32(sg_dma_address(s)));
+                               cpu_to_le32(lower_32_bits(sg_dma_address(s)));
                        *dword_ptr++ = cpu_to_le32(sg_dma_len(s));
                        dprintk(3, "S/G Segment phys_addr=0x%lx, len=0x%x\n",
-                               (pci_dma_lo32(sg_dma_address(s))),
+                               (lower_32_bits(sg_dma_address(s))),
                                (sg_dma_len(s)));
                        remseg--;
                }
@@ -3224,13 +3217,13 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
                                if (cnt == 7)
                                        break;
                                *dword_ptr++ =
-                                       cpu_to_le32(pci_dma_lo32(sg_dma_address(s)));
+                                       cpu_to_le32(lower_32_bits(sg_dma_address(s)));
                                *dword_ptr++ =
                                        cpu_to_le32(sg_dma_len(s));
                                dprintk(1,
                                        "S/G Segment Cont. phys_addr=0x%x, "
                                        "len=0x%x\n",
-                                       cpu_to_le32(pci_dma_lo32(sg_dma_address(s))),
+                                       cpu_to_le32(lower_32_bits(sg_dma_address(s))),
                                        cpu_to_le32(sg_dma_len(s)));
                        }
                        remseg -= cnt;