scsi: mpt3sas: Revert "scsi: mpt3sas: Fix writel() use"
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Fri, 16 Sep 2022 13:01:10 +0000 (22:01 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 25 Sep 2022 17:34:54 +0000 (13:34 -0400)
This reverts commit b4efbec4c2a75b619fae4e8768be379e88c78687 as it is
breaking the mpt3sas driver on big-endian machines.

Link: https://lore.kernel.org/r/20220916130111.168195-2-damien.lemoal@opensource.wdc.com
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.c

index f8a3b0dd3ccc00612c9168841b4dd0e3fcc2f8b1..38e0c0fddbd84cbfae3e56a1abc6aac26e476903 100644 (file)
@@ -4320,7 +4320,7 @@ _base_put_smid_scsi_io_atomic(struct MPT3SAS_ADAPTER *ioc, u16 smid,
        descriptor.MSIxIndex = _base_set_and_get_msix_index(ioc, smid);
        descriptor.SMID = cpu_to_le16(smid);
 
-       writel(*request, &ioc->chip->AtomicRequestDescriptorPost);
+       writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
 }
 
 /**
@@ -4342,7 +4342,7 @@ _base_put_smid_fast_path_atomic(struct MPT3SAS_ADAPTER *ioc, u16 smid,
        descriptor.MSIxIndex = _base_set_and_get_msix_index(ioc, smid);
        descriptor.SMID = cpu_to_le16(smid);
 
-       writel(*request, &ioc->chip->AtomicRequestDescriptorPost);
+       writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
 }
 
 /**
@@ -4365,7 +4365,7 @@ _base_put_smid_hi_priority_atomic(struct MPT3SAS_ADAPTER *ioc, u16 smid,
        descriptor.MSIxIndex = msix_task;
        descriptor.SMID = cpu_to_le16(smid);
 
-       writel(*request, &ioc->chip->AtomicRequestDescriptorPost);
+       writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
 }
 
 /**
@@ -4386,7 +4386,7 @@ _base_put_smid_default_atomic(struct MPT3SAS_ADAPTER *ioc, u16 smid)
        descriptor.MSIxIndex = _base_set_and_get_msix_index(ioc, smid);
        descriptor.SMID = cpu_to_le16(smid);
 
-       writel(*request, &ioc->chip->AtomicRequestDescriptorPost);
+       writel(cpu_to_le32(*request), &ioc->chip->AtomicRequestDescriptorPost);
 }
 
 /**
@@ -7063,7 +7063,7 @@ _base_handshake_req_reply_wait(struct MPT3SAS_ADAPTER *ioc, int request_bytes,
 
        /* send message 32-bits at a time */
        for (i = 0, failed = 0; i < request_bytes/4 && !failed; i++) {
-               writel(request[i], &ioc->chip->Doorbell);
+               writel(cpu_to_le32(request[i]), &ioc->chip->Doorbell);
                if ((_base_wait_for_doorbell_ack(ioc, 5)))
                        failed = 1;
        }