1. NAME

sata_link_hardreset - reset link via SATA phy reset

2. SYNOPSIS

int sata_link_hardreset(struct ata_link *  link , const unsigned long *  timing , unsigned long  deadline , bool *  online , int (* check_ready ) (struct ata_link *));

3. ARGUMENTS

link
    link to reset

timing
    timing parameters { interval, duratinon, timeout } in msec

deadline
    deadline jiffies for the operation

online
    optional out parameter indicating link onlineness

check_ready
    optional callback to check link readiness

4. DESCRIPTION

SATA phy-reset link using DET bits of SControl register. After hardreset, link readiness is waited upon using ata_wait_ready if check_ready is specified. LLDs are allowed to not specify check_ready and wait itself after this function returns. Device classification is LLDAqs responsibility.

*online is set to one iff reset succeeded and link is online after reset.

5. LOCKING

Kernel thread context (may sleep)

6. RETURNS

0 on success, -errno otherwise.

7. AUTHOR

Jeff Garzik
    Author.

8. COPYRIGHT