]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
i3c: mipi-i3c-hci: Switch to lower_32_bits()/upper_32_bits() helpers
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Fri, 28 Jun 2024 13:15:56 +0000 (16:15 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 26 Jul 2024 12:21:29 +0000 (14:21 +0200)
Rather than having own lo32()/hi32() helpers for dealing with 32-bit and
64-bit build targets switch to generic lower_32_bits()/upper_32_bits()
helpers.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Link: https://lore.kernel.org/r/20240628131559.502822-1-jarkko.nikula@linux.intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/mipi-i3c-hci/dma.c

index 4e01a95cc4d0ad2485caf13fa6776374ce6d0e91..6c5964e727b3269085b66f3197bc622bd428ab59 100644 (file)
@@ -147,21 +147,6 @@ struct hci_dma_dev_ibi_data {
        unsigned int max_len;
 };
 
-static inline u32 lo32(dma_addr_t physaddr)
-{
-       return physaddr;
-}
-
-static inline u32 hi32(dma_addr_t physaddr)
-{
-       /* trickery to avoid compiler warnings on 32-bit build targets */
-       if (sizeof(dma_addr_t) > 4) {
-               u64 hi = physaddr;
-               return hi >> 32;
-       }
-       return 0;
-}
-
 static void hci_dma_cleanup(struct i3c_hci *hci)
 {
        struct hci_rings_data *rings = hci->io_data;
@@ -265,10 +250,10 @@ static int hci_dma_init(struct i3c_hci *hci)
                if (!rh->xfer || !rh->resp || !rh->src_xfers)
                        goto err_out;
 
-               rh_reg_write(CMD_RING_BASE_LO, lo32(rh->xfer_dma));
-               rh_reg_write(CMD_RING_BASE_HI, hi32(rh->xfer_dma));
-               rh_reg_write(RESP_RING_BASE_LO, lo32(rh->resp_dma));
-               rh_reg_write(RESP_RING_BASE_HI, hi32(rh->resp_dma));
+               rh_reg_write(CMD_RING_BASE_LO, lower_32_bits(rh->xfer_dma));
+               rh_reg_write(CMD_RING_BASE_HI, upper_32_bits(rh->xfer_dma));
+               rh_reg_write(RESP_RING_BASE_LO, lower_32_bits(rh->resp_dma));
+               rh_reg_write(RESP_RING_BASE_HI, upper_32_bits(rh->resp_dma));
 
                regval = FIELD_PREP(CR_RING_SIZE, rh->xfer_entries);
                rh_reg_write(CR_SETUP, regval);
@@ -404,8 +389,8 @@ static int hci_dma_queue_xfer(struct i3c_hci *hci,
                                hci_dma_unmap_xfer(hci, xfer_list, i);
                                return -ENOMEM;
                        }
-                       *ring_data++ = lo32(xfer->data_dma);
-                       *ring_data++ = hi32(xfer->data_dma);
+                       *ring_data++ = lower_32_bits(xfer->data_dma);
+                       *ring_data++ = upper_32_bits(xfer->data_dma);
                } else {
                        *ring_data++ = 0;
                        *ring_data++ = 0;