Scroll to navigation

SATA_LINK_HARDRESET(9) libata Library SATA_LINK_HARDRESET(9)

NAME

sata_link_hardreset - reset link via SATA phy reset

SYNOPSIS

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

ARGUMENTS

struct ata_link * link
link to reset

const unsigned long * timing

timing parameters { interval, duration, timeout } in msec

unsigned long deadline

deadline jiffies for the operation

bool * online

optional out parameter indicating link onlineness

int (*)(struct ata_link *) check_ready

optional callback to check link readiness

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 LLD's responsibility.

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

LOCKING: Kernel thread context (may sleep)

RETURN

0 on success, -errno otherwise.

AUTHOR

Jeff Garzik
Author.

COPYRIGHT

September 2017 Kernel Hackers Manual 4.12