mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 01:56:50 +07:00
8fb54284ba
On certain architectures, there might be a need to mark certain addresses with strongly ordered memory attributes to avoid ordering issues at the interconnect level. On OMAP4, the asynchronous bridge buffers can only be drained with strongly ordered accesses and hence the need to mark the memory strongly ordered. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Woodruff Richard <r-woodruff2@ti.com> Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
/*
|
|
* arch/arm/include/asm/map.h
|
|
*
|
|
* Copyright (C) 1999-2000 Russell King
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Page table mapping constructs and function prototypes
|
|
*/
|
|
#include <asm/io.h>
|
|
|
|
struct map_desc {
|
|
unsigned long virtual;
|
|
unsigned long pfn;
|
|
unsigned long length;
|
|
unsigned int type;
|
|
};
|
|
|
|
/* types 0-3 are defined in asm/io.h */
|
|
#define MT_UNCACHED 4
|
|
#define MT_CACHECLEAN 5
|
|
#define MT_MINICLEAN 6
|
|
#define MT_LOW_VECTORS 7
|
|
#define MT_HIGH_VECTORS 8
|
|
#define MT_MEMORY 9
|
|
#define MT_ROM 10
|
|
#define MT_MEMORY_NONCACHED 11
|
|
#define MT_MEMORY_DTCM 12
|
|
#define MT_MEMORY_ITCM 13
|
|
#define MT_MEMORY_SO 14
|
|
|
|
#ifdef CONFIG_MMU
|
|
extern void iotable_init(struct map_desc *, int);
|
|
|
|
struct mem_type;
|
|
extern const struct mem_type *get_mem_type(unsigned int type);
|
|
/*
|
|
* external interface to remap single page with appropriate type
|
|
*/
|
|
extern int ioremap_page(unsigned long virt, unsigned long phys,
|
|
const struct mem_type *mtype);
|
|
#else
|
|
#define iotable_init(map,num) do { } while (0)
|
|
#endif
|