ata_wait_register — wait until register value changes
u32 ata_wait_register
(void __iomem * reg, u32 mask, u32 val, unsigned long interval_msec, unsigned long timeout_msec);
IO-mapped register
Mask to apply to read register value
Wait condition
polling interval in milliseconds
timeout in milliseconds
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.
Kernel thread context (may sleep)
The final register value.