diff options
Diffstat (limited to 'firmware/target/mips/ingenic_x1000')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/msc-x1000.c | 2 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_x1000/sd-x1000.c | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/mips/ingenic_x1000/msc-x1000.c b/firmware/target/mips/ingenic_x1000/msc-x1000.c index 62172fa213..f0d417e4f7 100644 --- a/firmware/target/mips/ingenic_x1000/msc-x1000.c +++ b/firmware/target/mips/ingenic_x1000/msc-x1000.c | |||
@@ -844,7 +844,7 @@ int msc_cmd_send_csd(msc_drv* d) | |||
844 | d->cardinfo.csd[i] = req.response[i]; | 844 | d->cardinfo.csd[i] = req.response[i]; |
845 | sd_parse_csd(&d->cardinfo); | 845 | sd_parse_csd(&d->cardinfo); |
846 | 846 | ||
847 | if((req.response[0] >> 30) == 1) | 847 | if(d->cardinfo.sd2plus) |
848 | d->driver_flags |= MSC_DF_V2_CARD; | 848 | d->driver_flags |= MSC_DF_V2_CARD; |
849 | 849 | ||
850 | return 0; | 850 | return 0; |
diff --git a/firmware/target/mips/ingenic_x1000/sd-x1000.c b/firmware/target/mips/ingenic_x1000/sd-x1000.c index 4312937ee8..c1aec59aa3 100644 --- a/firmware/target/mips/ingenic_x1000/sd-x1000.c +++ b/firmware/target/mips/ingenic_x1000/sd-x1000.c | |||
@@ -51,7 +51,7 @@ static int sd_init_card(msc_drv* d) | |||
51 | } | 51 | } |
52 | 52 | ||
53 | static int sd_transfer(msc_drv* d, bool write, | 53 | static int sd_transfer(msc_drv* d, bool write, |
54 | unsigned long start, int count, void* buf) | 54 | sector_t start, int count, void* buf) |
55 | { | 55 | { |
56 | int status = -1; | 56 | int status = -1; |
57 | 57 | ||
@@ -114,6 +114,7 @@ static int sd_transfer(msc_drv* d, bool write, | |||
114 | : SD_READ_MULTIPLE_BLOCK; | 114 | : SD_READ_MULTIPLE_BLOCK; |
115 | } | 115 | } |
116 | 116 | ||
117 | // XXX 64-bit | ||
117 | if(d->driver_flags & MSC_DF_V2_CARD) | 118 | if(d->driver_flags & MSC_DF_V2_CARD) |
118 | req.argument = start; | 119 | req.argument = start; |
119 | else | 120 | else |
@@ -142,14 +143,14 @@ static int sd_transfer(msc_drv* d, bool write, | |||
142 | return status; | 143 | return status; |
143 | } | 144 | } |
144 | 145 | ||
145 | int sd_read_sectors(IF_MD(int drive,) unsigned long start, | 146 | int sd_read_sectors(IF_MD(int drive,) sector_t start, |
146 | int count, void* buf) | 147 | int count, void* buf) |
147 | { | 148 | { |
148 | return sd_transfer(sd_to_msc[IF_MD_DRV(drive)], false, | 149 | return sd_transfer(sd_to_msc[IF_MD_DRV(drive)], false, |
149 | start, count, buf); | 150 | start, count, buf); |
150 | } | 151 | } |
151 | 152 | ||
152 | int sd_write_sectors(IF_MD(int drive,) unsigned long start, | 153 | int sd_write_sectors(IF_MD(int drive,) sector_t start, |
153 | int count, const void* buf) | 154 | int count, const void* buf) |
154 | { | 155 | { |
155 | return sd_transfer(sd_to_msc[IF_MD_DRV(drive)], true, | 156 | return sd_transfer(sd_to_msc[IF_MD_DRV(drive)], true, |