summaryrefslogtreecommitdiff
path: root/firmware/target/arm/pp
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/pp')
-rw-r--r--firmware/target/arm/pp/ata-pp5020.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/firmware/target/arm/pp/ata-pp5020.c b/firmware/target/arm/pp/ata-pp5020.c
index 77e77cae92..176e74993c 100644
--- a/firmware/target/arm/pp/ata-pp5020.c
+++ b/firmware/target/arm/pp/ata-pp5020.c
@@ -173,15 +173,13 @@ bool ata_dma_setup(void *addr, unsigned long bytes, bool write) {
173 return false; 173 return false;
174 174
175 /* Writes only need to be word-aligned, but by default DMA 175 /* Writes only need to be word-aligned, but by default DMA
176 * is not used for writing as it appears to be slower. 176 * is not used for writing on non-SSDs as it appears to be slower.
177 */ 177 */
178#ifdef ATA_DMA_WRITES 178 if (!ata_disk_isssd())
179 if (write && ((unsigned long)addr & 3))
180 return false; 179 return false;
181#else 180
182 if (write) 181 if (write && ((unsigned long)addr & 3))
183 return false; 182 return false;
184#endif
185 183
186#if ATA_MAX_UDMA > 2 184#if ATA_MAX_UDMA > 2
187 if (dma_needs_boost && !dma_boosted) { 185 if (dma_needs_boost && !dma_boosted) {