|
@@ -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,
|
|
@@ -421,17 +421,6 @@ static void __init build_mem_type_table(void)
|
|
|
cp = &cache_policies[cachepolicy];
|
|
|
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.
|
|
|
*/
|
|
@@ -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++);
|