pio_orw_rmw(D3X)

pio_orw_rmw - I/O-bus read-modify-write cycle routines

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     pio_orw_rmw - I/O-bus read-modify-write cycle routines

SYNOPSIS
     pio_orw_rmw (piomap_t *piomap, iopaddr_t pioaddr, unsigned long mask);

DESCRIPTION
     This function perform I/O-bus atomic read-modify-write operations.
     pio_orb_rmw(D3X), pio_orh_rmw(D3X), or pio_orw_rmw(D3X) read a byte,
     half-word, or word (respectively) from the address pointed to by pioaddr.
     The routine then ORs the byte, half-word, or word with the mask in mask
     and writes the result to the address, pioaddr (overwriting the original
     value). piomap is the PIO map returned from pio_mapalloc(D3X).

     The address, pioaddr, must be correctly aligned for the given transfer.

   Return Values
     None

   Note
     To prevent any other I/O-bus cycles during this operation, these routines
     lock the I/O bus.