-#define ATA_READ_DMA_EXT 0xc8
-#define ATA_READ_DMA 0x25
-#define ATA_WRITE_DMA_EXT 0xca
-#define ATA_WRITE_DMA 0x35
+#define ATA_READ_DMA_EXT 0x25
+#define ATA_READ_DMA 0xc8
+#define ATA_WRITE_DMA_EXT 0x35
+#define ATA_WRITE_DMA 0xca
+
+#define MAX_RETRY 2
uint8_t lba0, lba8, lba16;
uint8_t dev;
uint8_t lba24, lba32, lba40;
uint8_t lba0, lba8, lba16;
uint8_t dev;
uint8_t lba24, lba32, lba40;
-int
-sata_read_buffer(struct hba_port* port,
- uint64_t lba,
- void* buffer,
- uint32_t size);
-
-int
-sata_write_buffer(struct hba_port* port,
- uint64_t lba,
- void* buffer,
- uint32_t size);
+void
+sata_submit(struct hba_device* dev, struct blkio_req* io_req);