ATA_WAIT_REGISTER(9) | libata Library | ATA_WAIT_REGISTER(9) |
NAME¶
ata_wait_register - wait until register value changes
SYNOPSIS¶
u32 ata_wait_register(struct ata_port * ap, void __iomem * reg, u32 mask, u32 val, unsigned long interval, unsigned long timeout);
ARGUMENTS¶
struct ata_port * ap
void __iomem * reg
u32 mask
u32 val
unsigned long interval
unsigned long timeout
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.
LOCKING: Kernel thread context (may sleep)
RETURN¶
The final register value.
AUTHOR¶
Jeff Garzik
COPYRIGHT¶
June 2017 | Kernel Hackers Manual 4.11 |