Commit 98f1ad25 authored by Joerg Roedel's avatar Joerg Roedel

iommu/amd: Fix sparse warnings

A few sparse warnings fire in drivers/iommu/amd_iommu_init.c.
Fix most of them with this patch. Also fix the sparse
warnings in drivers/iommu/irq_remapping.c while at it.
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent 84a1caf1
...@@ -2073,7 +2073,7 @@ static int pdev_iommuv2_enable(struct pci_dev *pdev) ...@@ -2073,7 +2073,7 @@ static int pdev_iommuv2_enable(struct pci_dev *pdev)
/* FIXME: Move this to PCI code */ /* FIXME: Move this to PCI code */
#define PCI_PRI_TLP_OFF (1 << 15) #define PCI_PRI_TLP_OFF (1 << 15)
bool pci_pri_tlp_required(struct pci_dev *pdev) static bool pci_pri_tlp_required(struct pci_dev *pdev)
{ {
u16 status; u16 status;
int pos; int pos;
......
...@@ -190,12 +190,6 @@ static u32 dev_table_size; /* size of the device table */ ...@@ -190,12 +190,6 @@ static u32 dev_table_size; /* size of the device table */
static u32 alias_table_size; /* size of the alias table */ static u32 alias_table_size; /* size of the alias table */
static u32 rlookup_table_size; /* size if the rlookup table */ static u32 rlookup_table_size; /* size if the rlookup table */
/*
* This function flushes all internal caches of
* the IOMMU used by this driver.
*/
extern void iommu_flush_all_caches(struct amd_iommu *iommu);
static int amd_iommu_enable_interrupts(void); static int amd_iommu_enable_interrupts(void);
static inline void update_last_devid(u16 devid) static inline void update_last_devid(u16 devid)
...@@ -358,7 +352,7 @@ static void iommu_disable(struct amd_iommu *iommu) ...@@ -358,7 +352,7 @@ static void iommu_disable(struct amd_iommu *iommu)
* mapping and unmapping functions for the IOMMU MMIO space. Each AMD IOMMU in * mapping and unmapping functions for the IOMMU MMIO space. Each AMD IOMMU in
* the system has one. * the system has one.
*/ */
static u8 * __init iommu_map_mmio_space(u64 address) static u8 __iomem * __init iommu_map_mmio_space(u64 address)
{ {
if (!request_mem_region(address, MMIO_REGION_LENGTH, "amd_iommu")) { if (!request_mem_region(address, MMIO_REGION_LENGTH, "amd_iommu")) {
pr_err("AMD-Vi: Can not reserve memory region %llx for mmio\n", pr_err("AMD-Vi: Can not reserve memory region %llx for mmio\n",
...@@ -367,7 +361,7 @@ static u8 * __init iommu_map_mmio_space(u64 address) ...@@ -367,7 +361,7 @@ static u8 * __init iommu_map_mmio_space(u64 address)
return NULL; return NULL;
} }
return ioremap_nocache(address, MMIO_REGION_LENGTH); return (u8 __iomem *)ioremap_nocache(address, MMIO_REGION_LENGTH);
} }
static void __init iommu_unmap_mmio_space(struct amd_iommu *iommu) static void __init iommu_unmap_mmio_space(struct amd_iommu *iommu)
...@@ -1217,7 +1211,7 @@ static int __init init_exclusion_range(struct ivmd_header *m) ...@@ -1217,7 +1211,7 @@ static int __init init_exclusion_range(struct ivmd_header *m)
/* called for unity map ACPI definition */ /* called for unity map ACPI definition */
static int __init init_unity_map_range(struct ivmd_header *m) static int __init init_unity_map_range(struct ivmd_header *m)
{ {
struct unity_map_entry *e = 0; struct unity_map_entry *e = NULL;
char *s; char *s;
e = kzalloc(sizeof(*e), GFP_KERNEL); e = kzalloc(sizeof(*e), GFP_KERNEL);
...@@ -1727,8 +1721,8 @@ __setup("amd_iommu=", parse_amd_iommu_options); ...@@ -1727,8 +1721,8 @@ __setup("amd_iommu=", parse_amd_iommu_options);
IOMMU_INIT_FINISH(amd_iommu_detect, IOMMU_INIT_FINISH(amd_iommu_detect,
gart_iommu_hole_init, gart_iommu_hole_init,
0, NULL,
0); NULL);
bool amd_iommu_v2_supported(void) bool amd_iommu_v2_supported(void)
{ {
......
...@@ -487,7 +487,7 @@ struct amd_iommu { ...@@ -487,7 +487,7 @@ struct amd_iommu {
/* physical address of MMIO space */ /* physical address of MMIO space */
u64 mmio_phys; u64 mmio_phys;
/* virtual address of MMIO space */ /* virtual address of MMIO space */
u8 *mmio_base; u8 __iomem *mmio_base;
/* capabilities of that IOMMU read from ACPI */ /* capabilities of that IOMMU read from ACPI */
u32 cap; u32 cap;
...@@ -664,6 +664,12 @@ extern bool amd_iommu_force_isolation; ...@@ -664,6 +664,12 @@ extern bool amd_iommu_force_isolation;
/* Max levels of glxval supported */ /* Max levels of glxval supported */
extern int amd_iommu_max_glx_val; extern int amd_iommu_max_glx_val;
/*
* This function flushes all internal caches of
* the IOMMU used by this driver.
*/
extern void iommu_flush_all_caches(struct amd_iommu *iommu);
/* takes bus and device/function and returns the device id /* takes bus and device/function and returns the device id
* FIXME: should that be in generic PCI code? */ * FIXME: should that be in generic PCI code? */
static inline u16 calc_devid(u8 bus, u8 devfn) static inline u16 calc_devid(u8 bus, u8 devfn)
......
...@@ -81,7 +81,7 @@ struct fault { ...@@ -81,7 +81,7 @@ struct fault {
u16 flags; u16 flags;
}; };
struct device_state **state_table; static struct device_state **state_table;
static spinlock_t state_lock; static spinlock_t state_lock;
/* List and lock for all pasid_states */ /* List and lock for all pasid_states */
......
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/cpumask.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/msi.h>
#include <asm/hw_irq.h>
#include <asm/irq_remapping.h>
#include "irq_remapping.h" #include "irq_remapping.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment