summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2025-03-13 18:28:51 +0300
committerJassi Brar <jassisinghbrar@gmail.com>2025-03-27 04:58:26 +0300
commitd181acea5b864e91f38f5771b8961215ce5017ae (patch)
tree5cecb2521b549d2b8a9800206ce7bf9da352cac5
parent4119a44c71840e6ab9a8d340ca09e7b3210ade76 (diff)
downloadlinux-d181acea5b864e91f38f5771b8961215ce5017ae.tar.xz
mailbox: pcc: Use acpi_os_ioremap() instead of ioremap()
The Platform Communication Channel (PCC) mailbox driver currently uses ioremap() to map channel shared memory regions. However it is preferred to use acpi_os_ioremap(), which is mapping function specific to EFI/ACPI defined memory regions. It ensures that the correct memory attributes are applied when mapping ACPI-provided regions. While at it, also add checks for handling any errors with the mapping. Acked-by: Huisong Li <lihuisong@huawei.com> Tested-by: Huisong Li <lihuisong@huawei.com> Tested-by: Adam Young <admiyo@os.amperecomputing.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
-rw-r--r--drivers/mailbox/pcc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/mailbox/pcc.c b/drivers/mailbox/pcc.c
index 7105dd6bc2fc..fcbf19d7472d 100644
--- a/drivers/mailbox/pcc.c
+++ b/drivers/mailbox/pcc.c
@@ -419,8 +419,12 @@ int pcc_mbox_ioremap(struct mbox_chan *chan)
return -1;
pchan_info = chan->con_priv;
pcc_mbox_chan = &pchan_info->chan;
- pcc_mbox_chan->shmem = ioremap(pcc_mbox_chan->shmem_base_addr,
- pcc_mbox_chan->shmem_size);
+
+ pcc_mbox_chan->shmem = acpi_os_ioremap(pcc_mbox_chan->shmem_base_addr,
+ pcc_mbox_chan->shmem_size);
+ if (!pcc_mbox_chan->shmem)
+ return -ENXIO;
+
return 0;
}
EXPORT_SYMBOL_GPL(pcc_mbox_ioremap);