Frank Gevaerts
871db6f5d9
Allow the user to leave MSC mode by pressing the USB POWER button (the one that's used to go to usb power mode on plugin) when the host OS hasn't locked the device.
...
This only works for devices that expose a removable device, so for now the gigabeat S is out of luck.
(slightly modified from FS#9993)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20244 a1c6a512-1295-4272-9138-f99709370657
2009-03-08 18:45:19 +00:00
Frank Gevaerts
ec602b7e75
send the USB broadcast events at a less busy time
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20142 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 19:39:28 +00:00
Frank Gevaerts
3b141d9c80
Also broadcast transfer information for use by fancy USB screens
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20140 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 16:25:07 +00:00
Frank Gevaerts
afedfcf44e
Leave "usb mode" when all LUNs are ejected again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20139 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 15:16:54 +00:00
Frank Gevaerts
b6a1af2a9b
Adds the possibility to show nice "do not disconnect" screens/icons on the USB screen. A proof-of-concept for the actual screen is at FS#9969
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20138 a1c6a512-1295-4272-9138-f99709370657
2009-02-28 14:47:18 +00:00
Frank Gevaerts
80410f21b9
remove SERIALIZE_WRITES. The reason for it (the SD bug) is gone, so there's no point in keeping this
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20098 a1c6a512-1295-4272-9138-f99709370657
2009-02-24 18:30:32 +00:00
Dave Chapman
dff46d20e6
Commit my patch from FS#9940 - fix the invalid active flags in the Gigabeat S MBR on the fly in the UMS driver. It is hypothosized that actually changing these on the disk will make the OF more likely to reformat the data partition during recovery - but that is not confirmed. So we play it safe.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20085 a1c6a512-1295-4272-9138-f99709370657
2009-02-22 18:25:16 +00:00
Michael Sevakis
21f0c9a282
Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
2009-02-11 12:55:51 +00:00
Maurus Cuelenaere
868a4bdbc3
Fix RAM disk when no audio buffer is available
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19814 a1c6a512-1295-4272-9138-f99709370657
2009-01-21 20:52:35 +00:00
Maurus Cuelenaere
f1c6c3a754
USB storage driver:
...
* Move RAM disk buffer allocation #ifdef below
* Don't use the audio buffer for bootloaders
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19812 a1c6a512-1295-4272-9138-f99709370657
2009-01-21 20:22:40 +00:00
Michael Sevakis
616c98b38f
USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
2009-01-19 13:41:25 +00:00
Michael Sevakis
6da8b4eb49
USB retweaking: Take out the USB_REQUEST/RELEASE_DISK scheme and simply ask the USB core whether or not any drivers require exclusive access at the moment of connect. Doing anthing else just produces nasty effects on Windows because it expects some communication just for enabling the PHY and not allowing it to mount volumes if a thread doesn't ack causes annoying error message boxes. Make behavior of each USB type identical from the system perspective. Some miscellaneous changes (simplify, ata->storage naming, define only used USB_* enums values were possible).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19762 a1c6a512-1295-4272-9138-f99709370657
2009-01-13 16:27:35 +00:00
Frank Gevaerts
bbd33a0a7d
improve handling of unimplemented commands
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19755 a1c6a512-1295-4272-9138-f99709370657
2009-01-12 21:22:26 +00:00
Frank Gevaerts
a2e80d573c
correct wrong logf
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19627 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 17:36:57 +00:00
Frank Gevaerts
19dfe330a1
Add a disconnect handler for usb storage. It doesn't do anything yet, but it will apparently be needed to reset the audio buffer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19418 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 14:49:44 +00:00
Frank Gevaerts
430343bca7
implement single-driver storage layer with macros instead of inlines
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18975 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 01:14:46 +00:00
Frank Gevaerts
2f8a0081c6
Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
...
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Frank Gevaerts
19d1cacb1a
cleanup storage defines
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18950 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 21:25:04 +00:00
Frank Gevaerts
b0b3f0339a
add optional USB mass storage from ramdisk. This can be useful for development
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18849 a1c6a512-1295-4272-9138-f99709370657
2008-10-20 21:49:59 +00:00
Frank Gevaerts
20e704ba78
disable logf again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18704 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 22:49:36 +00:00
Frank Gevaerts
478fc5baed
reorganise the USB stack a bit to allow for easier integration of non-ARC controller drivers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18703 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 22:43:16 +00:00
Jens Arnold
b1a584a1b6
Simplify & fix the MMC driver. After more than 3 years I found that the MMC specs were a bit misleading, and the 'large' MMC which state a block size of 1024 or 2048 bytes and no partial read and/or partial write capability are happily accepting a block size of 512 bytes. So go KISS and remove all the variable/partial block handling code. This fixes the driver for the Transcend 4GB MMCplus, which doesn't cope when we actually set the 2048 byte block size it states. It also makes write operations involving small blocks faster and more reliable. * Note: The 4GB Transcend still doesn't work when plugged at boot, but works when hotplugged.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18515 a1c6a512-1295-4272-9138-f99709370657
2008-09-14 20:33:24 +00:00
Frank Gevaerts
ab7cfd2855
revert r18327, as it introduces serious issues on non-sd players (like ipods)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18370 a1c6a512-1295-4272-9138-f99709370657
2008-08-31 15:11:04 +00:00
Frank Gevaerts
1f7b22bd37
Make usb_storage work on all targets again
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18357 a1c6a512-1295-4272-9138-f99709370657
2008-08-28 09:02:28 +00:00
Frank Gevaerts
3dad671ef3
Use cached memory for ata_write_sectors(). This seems to finally fix FS#8663
...
Thanks to Martin Ritter for finding out that the uncached accesses were somehow causing this
SERIALIZE_WRITES can probably be removed, but this requires a bit more testing first
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18327 a1c6a512-1295-4272-9138-f99709370657
2008-08-21 10:10:58 +00:00
Frank Gevaerts
df7d6d0e6e
define SERIALIZE_WRITES for all HAVE_ATA_SD, not just the sansas
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18001 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 21:00:38 +00:00
Frank Gevaerts
3f3bb75d6a
Don't do overlapping USB transactions and SD writes. This seems to avoid FS#8663
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17997 a1c6a512-1295-4272-9138-f99709370657
2008-07-09 19:56:09 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Mark Arigo
3e743ec6c9
Preparing for the Philips SA9200 part 2. Since the SA9200 doesn't have a microsd card (no hotswap), use HAVE_ATA_SD for the Sansa flash driver so we don't rely on HAVE_HOTSWAP in some places.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17488 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 02:50:31 +00:00
Frank Gevaerts
bc1ce741c9
typo fixes (; instead of , at the end of two assignments) (same as r17398 for usb_serial. lesson learned : always check if there are similar bugs elsewhere)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17400 a1c6a512-1295-4272-9138-f99709370657
2008-05-06 21:00:07 +00:00
Nicolas Pennequin
357ffb3c46
Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17369 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:32:46 +00:00
Bertrik Sikken
ba39a5c110
Added missing usb #includes to usb source files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17309 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 07:10:21 +00:00
Frank Gevaerts
bec6aa3176
- change the usb class driver framework to allow for device classes with more than one interface or more than one endpoint pair
...
- move the charging-only dummy driver out of usb_core
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17252 a1c6a512-1295-4272-9138-f99709370657
2008-04-26 19:02:16 +00:00
Maurus Cuelenaere
95167e0177
Commit whole Creative Zen Vision:M target tree + all related firmware/
...
changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Michael Sevakis
94f7d0f290
UMS for the Gigabeat S. Bootloader USB mode. Has a couple quirks 1) First plug has problems if cold. Replug if it doesn't connect or not at high speed 2) Linux doesn't like the odd bootable flag value used in the partitions so it won't mount but Windows works. Fix minor OTG driver bugs and clean up device memory handling. Generic name for ARC controller driver.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17154 a1c6a512-1295-4272-9138-f99709370657
2008-04-18 16:42:50 +00:00
Frank Gevaerts
be77cf5279
only reconnect mass storage if there is actually an active usb connection, with mass storage enabled
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17098 a1c6a512-1295-4272-9138-f99709370657
2008-04-13 17:16:50 +00:00
Frank Gevaerts
688f8decf4
Clean up the way empty transfers are sent in error cases.
...
correctly zero out all data that gets sent to the host
I'm just committing this. The actual work was done by Martin Ritter (thanks)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16922 a1c6a512-1295-4272-9138-f99709370657
2008-04-01 20:36:51 +00:00
Frank Gevaerts
ecde125fa7
Sending an empty data block before sending the FAIL CSW seems to make Windows happier if a device is not present (e.g. an empty sd card slot) (fix proposed by Martin Ritter)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16750 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 21:21:37 +00:00
Frank Gevaerts
ea5903dbf1
move boosting for usb around a bit, so the cpu is boosted for the entire duration of actual use of storage. On some setups just boosting for the actual transfers doesn't seem to work
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16726 a1c6a512-1295-4272-9138-f99709370657
2008-03-20 22:05:11 +00:00
Frank Gevaerts
455fabfcb8
fix SCSI_FORMAT_CAPACITY_FORMATTED_MEDIA flag endianness. Thanks to Martin Ritter for spotting this
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16694 a1c6a512-1295-4272-9138-f99709370657
2008-03-18 10:16:27 +00:00
Frank Gevaerts
7fcd26e479
Only boost the CPU for large transactions. It would be nice to get rid of boosting for USB altogehter, but it doesn't seem to work then.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16656 a1c6a512-1295-4272-9138-f99709370657
2008-03-13 19:56:52 +00:00
Frank Gevaerts
292f139f4c
fix the last warning
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16622 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 21:28:44 +00:00
Frank Gevaerts
a0290607e0
remember to test a bit more when doing larger changes...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16621 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 21:16:31 +00:00
Frank Gevaerts
745133014e
make the usb storage driver handle hotswap correctly, and exit the usb screen once all drives are "ejected" (either as a command from the OS or physically)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16617 a1c6a512-1295-4272-9138-f99709370657
2008-03-10 20:55:24 +00:00
Frank Gevaerts
f0b4a32d6f
reorganise the usb stack to provide a clean separation between core and class drivers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16541 a1c6a512-1295-4272-9138-f99709370657
2008-03-06 21:25:09 +00:00
Barry Wardell
4c67c334fe
Oops. Didn't mean to commit this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16515 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 14:40:04 +00:00
Barry Wardell
46973f7f9f
Only need to include these for e200.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16514 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 14:36:22 +00:00
Frank Gevaerts
931ceed47f
MODE SENSE output data length field has to be the length of the response excluding the length field.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16508 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 00:55:26 +00:00
Frank Gevaerts
19815f8197
fix endianness bug in MODE SENSE 10 response
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16507 a1c6a512-1295-4272-9138-f99709370657
2008-03-04 00:46:52 +00:00
Frank Gevaerts
6cfa909002
handle START_STOP_UNIT eject command, to make TEST_UNIT_READY return false once the OS ejects
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16503 a1c6a512-1295-4272-9138-f99709370657
2008-03-03 22:53:25 +00:00