<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Chapter 5. libata Core Internals</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="libATA Developer's Guide" /><link rel="up" href="index.html" title="libATA Developer's Guide" /><link rel="prev" href="re59.html" title="ata_wait_register" /><link rel="next" href="re60.html" title="ata_dev_phys_link" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. libata Core Internals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re59.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="re60.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 5. libata Core Internals"><div class="titlepage"><div><div><h2 class="title"><a id="libataInt"></a>Chapter 5. libata Core Internals</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="refentrytitle"><a href="re60.html"><span>ata_dev_phys_link</span></a></span><span class="refpurpose"> — find physical link for a device </span></dt><dt><span class="refentrytitle"><a href="re61.html"><span>ata_force_cbl</span></a></span><span class="refpurpose"> — force cable type according to libata.force </span></dt><dt><span class="refentrytitle"><a href="re62.html"><span>ata_force_link_limits</span></a></span><span class="refpurpose"> — force link limits according to libata.force </span></dt><dt><span class="refentrytitle"><a href="re63.html"><span>ata_force_xfermask</span></a></span><span class="refpurpose"> — force xfermask according to libata.force </span></dt><dt><span class="refentrytitle"><a href="re64.html"><span>ata_force_horkage</span></a></span><span class="refpurpose"> — force horkage according to libata.force </span></dt><dt><span class="refentrytitle"><a href="re65.html"><span>ata_rwcmd_protocol</span></a></span><span class="refpurpose"> — set taskfile r/w commands and protocol </span></dt><dt><span class="refentrytitle"><a href="re66.html"><span>ata_tf_read_block</span></a></span><span class="refpurpose"> — Read block address from ATA taskfile </span></dt><dt><span class="refentrytitle"><a href="re67.html"><span>ata_build_rw_tf</span></a></span><span class="refpurpose"> — Build ATA taskfile for given read/write request </span></dt><dt><span class="refentrytitle"><a href="re68.html"><span>ata_dev_enable_pm</span></a></span><span class="refpurpose"> — enable SATA interface power management </span></dt><dt><span class="refentrytitle"><a href="re69.html"><span>ata_dev_disable_pm</span></a></span><span class="refpurpose"> — disable SATA interface power management </span></dt><dt><span class="refentrytitle"><a href="re70.html"><span>ata_read_native_max_address</span></a></span><span class="refpurpose"> — Read native max address </span></dt><dt><span class="refentrytitle"><a href="re71.html"><span>ata_set_max_sectors</span></a></span><span class="refpurpose"> — Set max sectors </span></dt><dt><span class="refentrytitle"><a href="re72.html"><span>ata_hpa_resize</span></a></span><span class="refpurpose"> — Resize a device with an HPA set </span></dt><dt><span class="refentrytitle"><a href="re73.html"><span>ata_dump_id</span></a></span><span class="refpurpose"> — IDENTIFY DEVICE info debugging output </span></dt><dt><span class="refentrytitle"><a href="re74.html"><span>ata_port_flush_task</span></a></span><span class="refpurpose"> — Flush port_task </span></dt><dt><span class="refentrytitle"><a href="re75.html"><span>ata_exec_internal_sg</span></a></span><span class="refpurpose"> — execute libata internal command </span></dt><dt><span class="refentrytitle"><a href="re76.html"><span>ata_exec_internal</span></a></span><span class="refpurpose"> — execute libata internal command </span></dt><dt><span class="refentrytitle"><a href="re77.html"><span>ata_do_simple_cmd</span></a></span><span class="refpurpose"> — execute simple internal command </span></dt><dt><span class="refentrytitle"><a href="re78.html"><span>ata_pio_mask_no_iordy</span></a></span><span class="refpurpose"> — Return the non IORDY mask </span></dt><dt><span class="refentrytitle"><a href="re79.html"><span>ata_dev_read_id</span></a></span><span class="refpurpose"> — Read ID data from the specified device </span></dt><dt><span class="refentrytitle"><a href="re80.html"><span>ata_dev_configure</span></a></span><span class="refpurpose"> — Configure the specified ATA/ATAPI device </span></dt><dt><span class="refentrytitle"><a href="re81.html"><span>ata_bus_probe</span></a></span><span class="refpurpose"> — Reset and probe ATA bus </span></dt><dt><span class="refentrytitle"><a href="re82.html"><span>sata_print_link_status</span></a></span><span class="refpurpose"> — Print SATA link status </span></dt><dt><span class="refentrytitle"><a href="re83.html"><span>sata_down_spd_limit</span></a></span><span class="refpurpose"> — adjust SATA spd limit downward </span></dt><dt><span class="refentrytitle"><a href="re84.html"><span>sata_set_spd_needed</span></a></span><span class="refpurpose"> — is SATA spd configuration needed </span></dt><dt><span class="refentrytitle"><a href="re85.html"><span>ata_down_xfermask_limit</span></a></span><span class="refpurpose"> — adjust dev xfer masks downward </span></dt><dt><span class="refentrytitle"><a href="re86.html"><span>ata_wait_ready</span></a></span><span class="refpurpose"> — wait for link to become ready </span></dt><dt><span class="refentrytitle"><a href="re87.html"><span>ata_dev_same_device</span></a></span><span class="refpurpose"> — Determine whether new ID matches configured device </span></dt><dt><span class="refentrytitle"><a href="re88.html"><span>ata_dev_reread_id</span></a></span><span class="refpurpose"> — Re-read IDENTIFY data </span></dt><dt><span class="refentrytitle"><a href="re89.html"><span>ata_dev_revalidate</span></a></span><span class="refpurpose"> — Revalidate ATA device </span></dt><dt><span class="refentrytitle"><a href="re90.html"><span>ata_is_40wire</span></a></span><span class="refpurpose"> — check drive side detection </span></dt><dt><span class="refentrytitle"><a href="re91.html"><span>cable_is_40wire</span></a></span><span class="refpurpose"> — 40/80/SATA decider </span></dt><dt><span class="refentrytitle"><a href="re92.html"><span>ata_dev_xfermask</span></a></span><span class="refpurpose"> — Compute supported xfermask of the given device </span></dt><dt><span class="refentrytitle"><a href="re93.html"><span>ata_dev_set_xfermode</span></a></span><span class="refpurpose"> — Issue SET FEATURES - XFER MODE command </span></dt><dt><span class="refentrytitle"><a href="re94.html"><span>ata_dev_set_feature</span></a></span><span class="refpurpose"> — Issue SET FEATURES - SATA FEATURES </span></dt><dt><span class="refentrytitle"><a href="re95.html"><span>ata_dev_init_params</span></a></span><span class="refpurpose"> — Issue INIT DEV PARAMS command </span></dt><dt><span class="refentrytitle"><a href="re96.html"><span>ata_sg_clean</span></a></span><span class="refpurpose"> — Unmap DMA memory associated with command </span></dt><dt><span class="refentrytitle"><a href="re97.html"><span>atapi_check_dma</span></a></span><span class="refpurpose"> — Check whether ATAPI DMA can be supported </span></dt><dt><span class="refentrytitle"><a href="re98.html"><span>ata_sg_setup</span></a></span><span class="refpurpose"> — DMA-map the scatter-gather table associated with a command. </span></dt><dt><span class="refentrytitle"><a href="re99.html"><span>swap_buf_le16</span></a></span><span class="refpurpose"> — swap halves of 16-bit words in place </span></dt><dt><span class="refentrytitle"><a href="re100.html"><span>ata_qc_new</span></a></span><span class="refpurpose"> — Request an available ATA command, for queueing </span></dt><dt><span class="refentrytitle"><a href="re101.html"><span>ata_qc_new_init</span></a></span><span class="refpurpose"> — Request an available ATA command, and initialize it </span></dt><dt><span class="refentrytitle"><a href="re102.html"><span>ata_qc_free</span></a></span><span class="refpurpose"> — free unused ata_queued_cmd </span></dt><dt><span class="refentrytitle"><a href="re103.html"><span>ata_qc_issue</span></a></span><span class="refpurpose"> — issue taskfile to device </span></dt><dt><span class="refentrytitle"><a href="re104.html"><span>ata_phys_link_online</span></a></span><span class="refpurpose"> — test whether the given link is online </span></dt><dt><span class="refentrytitle"><a href="re105.html"><span>ata_phys_link_offline</span></a></span><span class="refpurpose"> — test whether the given link is offline </span></dt><dt><span class="refentrytitle"><a href="re106.html"><span>ata_dev_init</span></a></span><span class="refpurpose"> — Initialize an ata_device structure </span></dt><dt><span class="refentrytitle"><a href="re107.html"><span>ata_link_init</span></a></span><span class="refpurpose"> — Initialize an ata_link structure </span></dt><dt><span class="refentrytitle"><a href="re108.html"><span>sata_link_init_spd</span></a></span><span class="refpurpose"> — Initialize link->sata_spd_limit </span></dt><dt><span class="refentrytitle"><a href="re109.html"><span>ata_port_alloc</span></a></span><span class="refpurpose"> — allocate and initialize basic ATA port resources </span></dt><dt><span class="refentrytitle"><a href="re110.html"><span>ata_finalize_port_ops</span></a></span><span class="refpurpose"> — finalize ata_port_operations </span></dt><dt><span class="refentrytitle"><a href="re111.html"><span>ata_port_detach</span></a></span><span class="refpurpose"> — Detach ATA port in prepration of device removal </span></dt></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re59.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="re60.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>ata_wait_register</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span>ata_dev_phys_link</span></td></tr></table></div></body></html>