summaryrefslogtreecommitdiff
path: root/drivers/parisc/iosapic.c
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2023-08-21 18:29:18 +0300
committerHelge Deller <deller@gmx.de>2023-08-22 11:24:47 +0300
commit8f01caf0c5c14b2dc086c766cf5321fbcdc40bd1 (patch)
tree6371d5b0841e6a8d559f9356ddcc175cdae512c8 /drivers/parisc/iosapic.c
parent98a9d5f07edfe60a6e6f9ffac1779dca39f415d5 (diff)
downloadlinux-8f01caf0c5c14b2dc086c766cf5321fbcdc40bd1.tar.xz
parisc: Avoid ioremap() for same addresss in iosapic_register()
The LBA has already called ioremap() to get it's virtual address, which can be used for the IOSAPIC as well. Avoid calling ioremap() again and just reuse the correct iomem address for the IOSAPIC. Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/parisc/iosapic.c')
-rw-r--r--drivers/parisc/iosapic.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index bcc1dae00780..27478e9f4e84 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -890,7 +890,7 @@ iosapic_rd_version(struct iosapic_info *isi)
** o allocate and initialize isi_vector[]
** o allocate irq region
*/
-void *iosapic_register(unsigned long hpa)
+void *iosapic_register(unsigned long hpa, void __iomem *vaddr)
{
struct iosapic_info *isi = NULL;
struct irt_entry *irte = irt_cell;
@@ -919,7 +919,7 @@ void *iosapic_register(unsigned long hpa)
return NULL;
}
- isi->addr = ioremap(hpa, 4096);
+ isi->addr = vaddr;
isi->isi_hpa = hpa;
isi->isi_version = iosapic_rd_version(isi);
isi->isi_num_vectors = IOSAPIC_IRDT_MAX_ENTRY(isi->isi_version) + 1;