Scroll to navigation

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

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

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
Author.

COPYRIGHT

January 2017 Kernel Hackers Manual 4.8.