1. NAME

ata_wait_register - wait until register value changes

2. SYNOPSIS

u32 ata_wait_register(struct ata_port *  ap , void __iomem *  reg , u32  mask , u32  val , unsigned long  interval , unsigned long  timeout );

3. ARGUMENTS

ap
    ATA port to wait register for, can be NULL

reg
    IO-mapped register

mask
    Mask to apply to read register value

val
    Wait condition

interval
    polling interval in milliseconds

timeout
    timeout in milliseconds

4. DESCRIPTION

Waiting for some bits of register to change is a common operation for ATA controllers. This function reads 32bit LE IO-mapped register reg and tests for the following condition.

(*reg & mask) != val

If the condition is met, it returns; otherwise, the process is repeated after interval_msec until timeout.

5. LOCKING

Kernel thread context (may sleep)

6. RETURNS

The final register value.

7. AUTHOR

Jeff Garzik
    Author.

8. COPYRIGHT