diff options
author | Edward O'Callaghan <eocallaghan@alterapraxis.com> | 2014-01-23 08:30:42 +1100 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2014-02-15 14:14:36 +0100 |
commit | efc5841ab404aa615306a233dcbcda225b9380b5 (patch) | |
tree | 03a980e7af1539ab4d9181b0cdb180eb18d4c39d /payloads/libpayload/drivers/storage/ahci_private.h | |
parent | 09af15e09eed91c98d4b97446b6b5c445b90517d (diff) | |
download | coreboot-efc5841ab404aa615306a233dcbcda225b9380b5.tar.gz coreboot-efc5841ab404aa615306a233dcbcda225b9380b5.tar.bz2 coreboot-efc5841ab404aa615306a233dcbcda225b9380b5.zip |
libpayload/ahci: Fix a warning by decompartmentalise the AHCI driver.
Decompartmentalise AHCI driver into two parts, ATA and ATAPI. Add a few
superficial comments while here. This also fixes a compiler warning.
Change-Id: Ia1fd545b39868a81cbc311f6ffc786f9f1f61415
Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-on: http://review.coreboot.org/4783
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'payloads/libpayload/drivers/storage/ahci_private.h')
-rw-r--r-- | payloads/libpayload/drivers/storage/ahci_private.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/payloads/libpayload/drivers/storage/ahci_private.h b/payloads/libpayload/drivers/storage/ahci_private.h index ba1471b5d5d4..c96613379801 100644 --- a/payloads/libpayload/drivers/storage/ahci_private.h +++ b/payloads/libpayload/drivers/storage/ahci_private.h @@ -2,6 +2,7 @@ * This file is part of the libpayload project. * * Copyright (C) 2012 secunet Security Networks AG + * Copyright (C) 2013 Edward O'Callaghan <eocallaghan@alterapraxis.com> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -198,4 +199,36 @@ typedef struct { size_t buflen; } ahci_dev_t; -#endif +/* + * ahci_common.c + */ +int ahci_cmdengine_start(hba_port_t *const port); + +int ahci_cmdengine_stop(hba_port_t *const port); + +ssize_t ahci_cmdslot_exec(ahci_dev_t *const dev); + +size_t ahci_cmdslot_prepare(ahci_dev_t *const dev, + u8 *const user_buf, size_t buf_len, + const int out); + +int ahci_identify_device(ata_dev_t *const ata_dev, u8 *const buf); + +int ahci_error_recovery(ahci_dev_t *const dev, const u32 intr_status); + +/* + * ahci_atapi.c + */ +ssize_t ahci_packet_read_cmd(atapi_dev_t *const _dev, + const u8 *const cmd, const size_t cmdlen, + u8 *const buf, const size_t buflen); + +/* + * ahci_ata.c + */ +ssize_t ahci_ata_read_sectors(ata_dev_t *const ata_dev, + const lba_t start, size_t count, + u8 *const buf); + + +#endif /* _AHCI_PRIVATE_H */ |