class Port
Defined at line 37 of file ../../src/devices/block/drivers/ahci/port.h
Public Members
static duration kTransactionTimeout
Public Methods
void Port ()
Defined at line 36 of file ../../src/devices/block/drivers/ahci/port.cc
void ~Port ()
Defined at line 38 of file ../../src/devices/block/drivers/ahci/port.cc
void Port (const Port & )
Defined at line 44 of file ../../src/devices/block/drivers/ahci/port.h
void Port (Port && )
Defined at line 44 of file ../../src/devices/block/drivers/ahci/port.h
Port & operator= (const Port & )
Defined at line 44 of file ../../src/devices/block/drivers/ahci/port.h
Port & operator= (Port && )
Defined at line 44 of file ../../src/devices/block/drivers/ahci/port.h
zx_status_t Configure (uint32_t num, Bus * bus, size_t reg_base, uint32_t max_command_tag)
Configure a port for use.
Defined at line 54 of file ../../src/devices/block/drivers/ahci/port.cc
uint32_t RegRead (size_t offset)
Defined at line 40 of file ../../src/devices/block/drivers/ahci/port.cc
void RegWrite (size_t offset, uint32_t val)
Defined at line 46 of file ../../src/devices/block/drivers/ahci/port.cc
uint32_t num ()
Defined at line 71 of file ../../src/devices/block/drivers/ahci/port.h
bool port_implemented ()
These flag-access functions should require holding the port lock.
In their current use, they frequently access them unlocked. This
will be fixed and thread annotations will be added in future CLs.
Defined at line 77 of file ../../src/devices/block/drivers/ahci/port.h
bool device_present ()
Defined at line 79 of file ../../src/devices/block/drivers/ahci/port.h
void set_device_present (bool device_present)
Defined at line 80 of file ../../src/devices/block/drivers/ahci/port.h
bool is_valid ()
Defined at line 82 of file ../../src/devices/block/drivers/ahci/port.h
bool paused_cmd_issuing ()
Defined at line 84 of file ../../src/devices/block/drivers/ahci/port.h
const SataTransaction * TestGetRunning (uint32_t slot)
Peek at running transactions.
Defined at line 93 of file ../../src/devices/block/drivers/ahci/port.h
zx_status_t Enable ()
Defined at line 125 of file ../../src/devices/block/drivers/ahci/port.cc
void Disable ()
Defined at line 144 of file ../../src/devices/block/drivers/ahci/port.cc
void Reset ()
Defined at line 157 of file ../../src/devices/block/drivers/ahci/port.cc
void SetDevInfo (const SataDeviceInfo * devinfo)
Defined at line 193 of file ../../src/devices/block/drivers/ahci/port.cc
zx_status_t Queue (SataTransaction * txn)
Defined at line 198 of file ../../src/devices/block/drivers/ahci/port.cc
bool Complete ()
Complete in-progress transactions.
Returns true if there remain transactions in progress.
Defined at line 213 of file ../../src/devices/block/drivers/ahci/port.cc
bool ProcessQueued ()
Process incoming transaction queue and run them.
Returns true if transactions were added (are now in progress)
Defined at line 271 of file ../../src/devices/block/drivers/ahci/port.cc
bool HandleIrq ()
HandleIrq does not lock the port or check whether it is valid.
It is assumed that an invalid port can not have scheduled operations that trigger an interrupt.
The port may have been disabled or unplugged, but is still valid.
Defined at line 476 of file ../../src/devices/block/drivers/ahci/port.cc
void TestSetRunning (SataTransaction * txn, uint32_t slot)
Mark transaction as running without going through the Queue path.
Does not modify bus registers.
Defined at line 497 of file ../../src/devices/block/drivers/ahci/port.cc