diff options
Diffstat (limited to 'arch/arm/mm/mmu.c')
| -rw-r--r-- | arch/arm/mm/mmu.c | 17 | 
1 files changed, 3 insertions, 14 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index c2fa21d0103..8fd039929ae 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -216,7 +216,7 @@ static struct mem_type mem_types[] = {  		.prot_l1	= PMD_TYPE_TABLE,  		.prot_sect	= PROT_SECT_DEVICE | PMD_SECT_WB,  		.domain		= DOMAIN_IO, -	},	 +	},  	[MT_DEVICE_WC] = {	/* ioremap_wc */  		.prot_pte	= PROT_PTE_DEVICE | L_PTE_MT_DEV_WC,  		.prot_l1	= PMD_TYPE_TABLE, @@ -422,17 +422,6 @@ static void __init build_mem_type_table(void)  	vecs_pgprot = kern_pgprot = user_pgprot = cp->pte;  	/* -	 * Enable CPU-specific coherency if supported. -	 * (Only available on XSC3 at the moment.) -	 */ -	if (arch_is_coherent() && cpu_is_xsc3()) { -		mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; -		mem_types[MT_MEMORY].prot_pte |= L_PTE_SHARED; -		mem_types[MT_MEMORY_DMA_READY].prot_pte |= L_PTE_SHARED; -		mem_types[MT_MEMORY_NONCACHED].prot_sect |= PMD_SECT_S; -		mem_types[MT_MEMORY_NONCACHED].prot_pte |= L_PTE_SHARED; -	} -	/*  	 * ARMv6 and above have extended page tables.  	 */  	if (cpu_arch >= CPU_ARCH_ARMv6 && (cr & CR_XP)) { @@ -777,8 +766,8 @@ void __init iotable_init(struct map_desc *io_desc, int nr)  		create_mapping(md);  		vm->addr = (void *)(md->virtual & PAGE_MASK);  		vm->size = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK)); -		vm->phys_addr = __pfn_to_phys(md->pfn);  -		vm->flags = VM_IOREMAP | VM_ARM_STATIC_MAPPING;  +		vm->phys_addr = __pfn_to_phys(md->pfn); +		vm->flags = VM_IOREMAP | VM_ARM_STATIC_MAPPING;  		vm->flags |= VM_ARM_MTYPE(md->type);  		vm->caller = iotable_init;  		vm_area_add_early(vm++);  |