Commit graph

21 commits

Author SHA1 Message Date
Michael Sevakis
06a5299aff Do some crackdown on kernel object reinitialization after they could be in use and use before initialization. For c200/e200: Be sure fat cache and ata locks are acquired in the proper order during hot swapping. Delay hotswap monitoring until after initial file mounting (address 2nd kobj concern + possible call of fat driver before init).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16636 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 10:03:52 +00:00
Michael Sevakis
2f5a37de5c Fix newly introduced race condition in SD driver. Make sure to force remount in case two SYS_HOTSWAP_INSERTED messages are received in a row. Be sure flags are reset to re-initialize the SD-card. Go back to locking out driver access during disk mount/unmount attempts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16635 a1c6a512-1295-4272-9138-f99709370657
2008-03-12 02:50:07 +00:00
Jens Arnold
ed8402ca5e Sansa SD card driver: Simplify hotswap handling, and make it send the insert/remove events while filesystem access is blocked. Also use atomic GPIO bit manipulation where possible, and protect the interrupt level manipulation in the ISR from interrupts arriving at the same time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16592 a1c6a512-1295-4272-9138-f99709370657
2008-03-09 14:49:10 +00:00
Frank Gevaerts
1dc9de9432 acknowledge USB disconnect. This wasn't always done anymore since the usb_wait_for_disconnect() is gone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16452 a1c6a512-1295-4272-9138-f99709370657
2008-02-28 22:51:39 +00:00
Frank Gevaerts
daf3ddc70d don't call usb_wait_for_disconnect() in the sd thread. The usb storage driver uses the sd driver, and wants to know about changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16449 a1c6a512-1295-4272-9138-f99709370657
2008-02-28 22:37:02 +00:00
Michael Sevakis
9811fc9abf Some misc. ATA stuff: Increase threads' priority (important for idle callbacks to get done faster). Use a simpler loop for ata thread. Add a balancing mutex_lock call to ata_init (oops).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16278 a1c6a512-1295-4272-9138-f99709370657
2008-02-11 07:42:11 +00:00
Jonas Häggqvist
f6f1127219 Use a fixed multiplier of 2^10 as required when calculating number of blocks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16256 a1c6a512-1295-4272-9138-f99709370657
2008-02-09 21:07:44 +00:00
Michael Sevakis
6a8379674c Finally, out goes struct spinlock for anything but mutiprocessor targets where it becomes a reenterable corelock.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16105 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 13:12:33 +00:00
Michael Sevakis
3b36b98ff8 Properly serialize ata_init with other threads. Fix a bug that always initialized the lock on every call to ata_init - that should be a one time init or else the lock could be corrupted on connect.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16104 a1c6a512-1295-4272-9138-f99709370657
2008-01-18 12:32:03 +00:00
Michael Sevakis
398d9fd8b4 Hopefully the last word on getting rid of yield_codecs loops (cut read chunk to 16kB). Sansa ata driver also didn't yield enough so buffering would starve other threads. Bump priority of audio thread to keep UI more responsive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15724 a1c6a512-1295-4272-9138-f99709370657
2007-11-20 22:45:46 +00:00
Jens Arnold
55398e934c c200: Make microSD cards finally work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15493 a1c6a512-1295-4272-9138-f99709370657
2007-11-06 07:21:08 +00:00
Barry Wardell
03dd35db0e Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 17:19:00 +00:00
Barry Wardell
4ef3e821cb Fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15476 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 16:12:13 +00:00
Barry Wardell
2d95fd524d Get rid of some more inl/outl and use the new GPO32 define instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15474 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 15:48:59 +00:00
Jens Arnold
6fb4c53fb9 The GPIO interrupts are split into several port groups on all PP502x versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
2007-11-04 13:22:17 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Michael Sevakis
4c3897eb15 Hopefully take care of FS#7806 - Current Sansapatcher fails to boot OF by removing all hotswap support from the bootloader. It won't fully be closed until Sansapatcher is updated of course. There's still a report of the partition dump not working unless 20 bytes of padding are inserted at the start of main() but that's only a developer-enabled feature. Seems weird though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15038 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 20:39:46 +00:00
Björn Stenberg
b452fb6dfe Skip spindown and delay on flash targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14877 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 07:56:46 +00:00
Mark Arigo
61a83c02a3 Sansa c200: fix system_reboot with some magic from the OF. Reboot to the OF when usb is inserted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14862 a1c6a512-1295-4272-9138-f99709370657
2007-09-27 02:50:50 +00:00
Mark Arigo
dbc6b4e39a Sansa c200 port. Rockbox works with sound. Several features are disabled including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:28:58 +00:00
Mark Arigo
4f3bcbbb11 Move files that will be common to the Sansa e200 and c200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14624 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:01:41 +00:00
Renamed from firmware/target/arm/sandisk/sansa-e200/ata-e200.c (Browse further)