1/* 2 * Copyright (c) 2011 ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10#ifndef _AHCI_INTERNAL_H 11#define _AHCI_INTERNAL_H 12 13void ahci_dump_command(int command, struct ahci_port_info *port); 14 15void ahci_dump_rfis(struct ahci_port_info *port); 16 17int ahci_find_free_command_slot(struct ahci_port_info *port); 18 19void ahci_port_free_dma_structs(struct ahci_port_info *port); 20 21errval_t ahci_setup_command(int *command, struct ahci_port_info *port, 22 uint8_t *fis, size_t fis_length, size_t num_prds, bool is_write); 23 24errval_t ahci_add_physical_regions(struct ahci_port_info *port, int command, 25 struct ahci_dma_region *buf, size_t buflen); 26 27 28#endif 29