Loading arch/sh/mm/pmb.c +17 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ static DEFINE_RWLOCK(pmb_rwlock); static struct pmb_entry pmb_entry_list[NR_PMB_ENTRIES]; static DECLARE_BITMAP(pmb_map, NR_PMB_ENTRIES); static unsigned int pmb_iomapping_enabled; static __always_inline unsigned long mk_pmb_entry(unsigned int entry) { return (entry & PMB_E_MASK) << PMB_E_SHIFT; Loading Loading @@ -284,6 +286,9 @@ void __iomem *pmb_remap_caller(phys_addr_t phys, unsigned long size, unsigned long aligned; struct vm_struct *area; if (!pmb_iomapping_enabled) return NULL; /* * Small mappings need to go through the TLB. */ Loading Loading @@ -684,6 +689,18 @@ static void __init pmb_resize(void) } #endif static int __init early_pmb(char *p) { if (!p) return 0; if (strstr(p, "iomap")) pmb_iomapping_enabled = 1; return 0; } early_param("pmb", early_pmb); void __init pmb_init(void) { /* Synchronize software state */ Loading Loading
arch/sh/mm/pmb.c +17 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ static DEFINE_RWLOCK(pmb_rwlock); static struct pmb_entry pmb_entry_list[NR_PMB_ENTRIES]; static DECLARE_BITMAP(pmb_map, NR_PMB_ENTRIES); static unsigned int pmb_iomapping_enabled; static __always_inline unsigned long mk_pmb_entry(unsigned int entry) { return (entry & PMB_E_MASK) << PMB_E_SHIFT; Loading Loading @@ -284,6 +286,9 @@ void __iomem *pmb_remap_caller(phys_addr_t phys, unsigned long size, unsigned long aligned; struct vm_struct *area; if (!pmb_iomapping_enabled) return NULL; /* * Small mappings need to go through the TLB. */ Loading Loading @@ -684,6 +689,18 @@ static void __init pmb_resize(void) } #endif static int __init early_pmb(char *p) { if (!p) return 0; if (strstr(p, "iomap")) pmb_iomapping_enabled = 1; return 0; } early_param("pmb", early_pmb); void __init pmb_init(void) { /* Synchronize software state */ Loading