Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
io.h File Reference
#include <linux/compiler.h>
#include <asm/intrinsics.h>

Go to the source code of this file.

Macros

#define __sn_mf_a()   ia64_mfa()
 
#define __sn_inb   ___sn_inb
 
#define __sn_inw   ___sn_inw
 
#define __sn_inl   ___sn_inl
 
#define __sn_outb   ___sn_outb
 
#define __sn_outw   ___sn_outw
 
#define __sn_outl   ___sn_outl
 
#define __sn_readb   ___sn_readb
 
#define __sn_readw   ___sn_readw
 
#define __sn_readl   ___sn_readl
 
#define __sn_readq   ___sn_readq
 
#define __sn_readb_relaxed   ___sn_readb_relaxed
 
#define __sn_readw_relaxed   ___sn_readw_relaxed
 
#define __sn_readl_relaxed   ___sn_readl_relaxed
 
#define __sn_readq_relaxed   ___sn_readq_relaxed
 
#define __sn_setq_relaxed(addr, val)   writeq((__sn_readq_relaxed(addr) | (val)), (addr))
 
#define __sn_clrq_relaxed(addr, val)   writeq((__sn_readq_relaxed(addr) & ~(val)), (addr))
 

Functions

voidsn_io_addr (unsigned long port) __attribute_const__
 
void __sn_mmiowb (void)
 
void sn_dma_flush (unsigned long)
 

Variables

int num_cnodes
 

Macro Definition Documentation

#define __sn_clrq_relaxed (   addr,
  val 
)    writeq((__sn_readq_relaxed(addr) & ~(val)), (addr))

Definition at line 44 of file io.h.

#define __sn_inb   ___sn_inb

Definition at line 23 of file io.h.

#define __sn_inl   ___sn_inl

Definition at line 25 of file io.h.

#define __sn_inw   ___sn_inw

Definition at line 24 of file io.h.

#define __sn_mf_a ( )    ia64_mfa()

Definition at line 19 of file io.h.

#define __sn_outb   ___sn_outb

Definition at line 26 of file io.h.

#define __sn_outl   ___sn_outl

Definition at line 28 of file io.h.

#define __sn_outw   ___sn_outw

Definition at line 27 of file io.h.

#define __sn_readb   ___sn_readb

Definition at line 29 of file io.h.

#define __sn_readb_relaxed   ___sn_readb_relaxed

Definition at line 33 of file io.h.

#define __sn_readl   ___sn_readl

Definition at line 31 of file io.h.

#define __sn_readl_relaxed   ___sn_readl_relaxed

Definition at line 35 of file io.h.

#define __sn_readq   ___sn_readq

Definition at line 32 of file io.h.

#define __sn_readq_relaxed   ___sn_readq_relaxed

Definition at line 36 of file io.h.

#define __sn_readw   ___sn_readw

Definition at line 30 of file io.h.

#define __sn_readw_relaxed   ___sn_readw_relaxed

Definition at line 34 of file io.h.

#define __sn_setq_relaxed (   addr,
  val 
)    writeq((__sn_readq_relaxed(addr) | (val)), (addr))

Definition at line 42 of file io.h.

Function Documentation

void __sn_mmiowb ( void  )

__sn_mmiowb - I/O space memory barrier

See arch/ia64/include/asm/io.h and Documentation/DocBook/deviceiobook.tmpl for details.

On SN2, we wait for the PIO_WRITE_STATUS SHub register to clear. See PV 871084 for details about the WAR about zero value.

Definition at line 73 of file iomv.c.

void sn_dma_flush ( unsigned  long)
void* sn_io_addr ( unsigned long  port)

sn_io_addr - convert an in/out port to an i/o address : port to convert

Legacy in/out instructions are converted to ld/st instructions on IA64. This routine will convert a port number into a valid SN i/o address. Used by sn_in*() and sn_out*().

Definition at line 33 of file iomv.c.

Variable Documentation

int num_cnodes

Definition at line 101 of file setup.c.