Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * This file is subject to the terms and conditions of the GNU General Public |
| 3 | * License. See the file "COPYING" in the main directory of this archive |
| 4 | * for more details. |
| 5 | * |
Jack Steiner | dcc1dd2 | 2006-02-07 09:24:14 -0800 | [diff] [blame] | 6 | * Copyright (C) 2002-2006 Silicon Graphics, Inc. All Rights Reserved. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | */ |
| 8 | #ifndef _ASM_IA64_SN_RW_MMR_H |
| 9 | #define _ASM_IA64_SN_RW_MMR_H |
| 10 | |
| 11 | |
| 12 | /* |
Jack Steiner | dcc1dd2 | 2006-02-07 09:24:14 -0800 | [diff] [blame] | 13 | * This file that access MMRs via uncached physical addresses. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | * pio_phys_read_mmr - read an MMR |
| 15 | * pio_phys_write_mmr - write an MMR |
| 16 | * pio_atomic_phys_write_mmrs - atomically write 1 or 2 MMRs with psr.ic=0 |
| 17 | * Second MMR will be skipped if address is NULL |
| 18 | * |
| 19 | * Addresses passed to these routines should be uncached physical addresses |
| 20 | * ie., 0x80000.... |
| 21 | */ |
| 22 | |
| 23 | |
Jack Steiner | dcc1dd2 | 2006-02-07 09:24:14 -0800 | [diff] [blame] | 24 | extern long pio_phys_read_mmr(volatile long *mmr); |
| 25 | extern void pio_phys_write_mmr(volatile long *mmr, long val); |
| 26 | extern void pio_atomic_phys_write_mmrs(volatile long *mmr1, long val1, volatile long *mmr2, long val2); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | |
| 28 | #endif /* _ASM_IA64_SN_RW_MMR_H */ |