summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2021-03-27 15:02:18 -0400
committerSolomon Peachy <pizza@shaftnet.org>2021-03-27 15:02:18 -0400
commit961ffa61dd9126d9f6a01a88a26cac3e7bc87657 (patch)
treee34ee1078fe1bed828f1caf8989486e5646ed7ed /firmware
parentc96dc1c886b9737a3886961212fabab76551919f (diff)
downloadrockbox-961ffa61dd9126d9f6a01a88a26cac3e7bc87657.tar.gz
rockbox-961ffa61dd9126d9f6a01a88a26cac3e7bc87657.zip
Use STORAGE_NEEDS_BOUNCE_BUFFER instead of STORAGE_NEEDS_ALIGN
Enable its use in the jz47xx MIPS targets. (accidently committed g#3249 before making these changes) Change-Id: I1791946f632901f0c7a94b04b009671aa0d71717
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/fat.c6
-rw-r--r--firmware/target/mips/ingenic_jz47xx/system-target.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c
index 61bf9051f2..50619983e9 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -266,7 +266,7 @@ static struct bpb
266 266
267} fat_bpbs[NUM_VOLUMES]; /* mounted partition info */ 267} fat_bpbs[NUM_VOLUMES]; /* mounted partition info */
268 268
269#ifdef STORAGE_WANTS_ALIGN 269#ifdef STORAGE_NEEDS_BOUNCE_BUFFER
270#define FAT_BOUNCE_SECTORS 10 270#define FAT_BOUNCE_SECTORS 10
271static uint8_t fat_bounce_buffers[NUM_VOLUMES][SECTOR_SIZE*FAT_BOUNCE_SECTORS] STORAGE_ALIGN_ATTR; 271static uint8_t fat_bounce_buffers[NUM_VOLUMES][SECTOR_SIZE*FAT_BOUNCE_SECTORS] STORAGE_ALIGN_ATTR;
272#define FAT_BOUNCE_BUFFER(bpb) \ 272#define FAT_BOUNCE_BUFFER(bpb) \
@@ -2393,7 +2393,7 @@ static long transfer(struct bpb *fat_bpb, unsigned long start, long count,
2393 else 2393 else
2394 { 2394 {
2395 void* xferbuf = buf; 2395 void* xferbuf = buf;
2396#ifdef STORAGE_WANTS_ALIGN 2396#ifdef STORAGE_NEEDS_BOUNCE_BUFFER
2397 int remain = count; 2397 int remain = count;
2398 int xferred = 0; 2398 int xferred = 0;
2399 int aligned = 1; 2399 int aligned = 1;
@@ -2407,7 +2407,7 @@ static long transfer(struct bpb *fat_bpb, unsigned long start, long count,
2407#endif 2407#endif
2408 rc = storage_read_sectors(IF_MD(fat_bpb->drive,) 2408 rc = storage_read_sectors(IF_MD(fat_bpb->drive,)
2409 start + fat_bpb->startsector, count, xferbuf); 2409 start + fat_bpb->startsector, count, xferbuf);
2410#ifdef STORAGE_WANTS_ALIGN 2410#ifdef STORAGE_NEEDS_BOUNCE_BUFFER
2411 if(rc < 0) 2411 if(rc < 0)
2412 break; 2412 break;
2413 if(LIKELY(aligned)) 2413 if(LIKELY(aligned))
diff --git a/firmware/target/mips/ingenic_jz47xx/system-target.h b/firmware/target/mips/ingenic_jz47xx/system-target.h
index 862ec403d2..2725944452 100644
--- a/firmware/target/mips/ingenic_jz47xx/system-target.h
+++ b/firmware/target/mips/ingenic_jz47xx/system-target.h
@@ -38,6 +38,7 @@
38#define NEED_GENERIC_BYTESWAPS 38#define NEED_GENERIC_BYTESWAPS
39 39
40#define STORAGE_WANTS_ALIGN 40#define STORAGE_WANTS_ALIGN
41#define STORAGE_NEEDS_BOUNCE_BUFFER
41 42
42/* This one returns the old status */ 43/* This one returns the old status */
43static inline int set_interrupt_status(int status, int mask) 44static inline int set_interrupt_status(int status, int mask)