summaryrefslogtreecommitdiffstats
path: root/payloads/libpayload/drivers/storage/ahci_private.h
diff options
context:
space:
mode:
authorEdward O'Callaghan <eocallaghan@alterapraxis.com>2014-01-23 08:30:42 +1100
committerPatrick Georgi <patrick@georgi-clan.de>2014-02-15 14:14:36 +0100
commitefc5841ab404aa615306a233dcbcda225b9380b5 (patch)
tree03a980e7af1539ab4d9181b0cdb180eb18d4c39d /payloads/libpayload/drivers/storage/ahci_private.h
parent09af15e09eed91c98d4b97446b6b5c445b90517d (diff)
downloadcoreboot-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.h35
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 */