Commit graph

209 commits

Author SHA1 Message Date
Jens Arnold
174c7abdff Add some new findings to the PP header files. * Clean up ata-target.h for PP. * check_registers() seems to work fine on PP5002.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14114 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 10:43:45 +00:00
Jens Arnold
c5d71aab16 ATA driver: * Support for drives with large physical sectors and no support for partial access in the firmware (i.e. Toshiba MK8010GAH - iPod G5.5/80GB). Sequential writes with a single 512-byte buffer to that disk are really slow, so this is an intermediate solution that allows to adjust the FAT driver and the file system gradually. * Assume multisectors = 16 if the value reported by the drive is invalid (also MK8010GAH).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13480 a1c6a512-1295-4272-9138-f99709370657
2007-05-23 17:51:18 +00:00
Jens Arnold
8636e6949e Moved SH1 system code to target tree. * First shot at hwcompat cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13114 a1c6a512-1295-4272-9138-f99709370657
2007-04-11 23:51:00 +00:00
Michael Sevakis
dee43ece20 Put an end to priority inversion in the ata driver. Gave up trying to have fully atomic dual use mutexes so just replaced the ata driver locking with spins. Maybe I'll have better luck later. Things should run smoothly with database updates and such happening in the background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12688 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 08:03:18 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Jens Arnold
b85e1b9235 Tiny size optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12396 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 19:28:29 +00:00
Jonathan Gordon
bd47d48c21 Do the CONFIG_LED define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12383 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 05:07:19 +00:00
Magnus Holmgren
2067fcc695 Fix most (all?) CONFIG_LED warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12370 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 23:22:37 +00:00
Jens Arnold
471d881979 ARM targets: Making a few functions non-static allows us to get rid of -ffunction-sections, significantly decreasing binary size and making things run a bit faster because static functions are no longer long_call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12349 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 11:19:14 +00:00
Nils Wallménius
1b85f60ae0 Permanently enable powering down the disk when it's sleeping for supported targets (iriver h1xx, h3xx and h10, iaudio x5, gigabeat and archos recorders)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12094 a1c6a512-1295-4272-9138-f99709370657
2007-01-23 15:43:37 +00:00
Jonathan Gordon
b2e50906a4 Settings are now stored in /.rockbox/config.cfg instead of the hidden sector. (FS #6557)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12093 a1c6a512-1295-4272-9138-f99709370657
2007-01-23 13:40:44 +00:00
Miika Pekkarinen
a9121491cc Add a check to verify ATA driver has been initialised in ata_sleepnow().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11949 a1c6a512-1295-4272-9138-f99709370657
2007-01-08 18:26:03 +00:00
Jörg Hohensohn
bb0358647d renamed biglba to lba48, plus a slight optimization
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11825 a1c6a512-1295-4272-9138-f99709370657
2006-12-20 22:08:29 +00:00
Jörg Hohensohn
f5bb7660aa Preparation for disks >137 GB, use BigLBA 48 bit addressing if necessary. Only activated with compile flag HAVE_BIGLBA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11820 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 22:40:23 +00:00
Michael Sevakis
4b902679cc Convert queues to use intptr_t for event data and return values as most of the time pointer are not passed and it should make some things a bit cleaner.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 16:50:07 +00:00
Jens Arnold
28fd4b7228 Archos: Moved the ata_address_detect() code into ata_device_init(), removing the associated #ifdef and some public #defines. Saves a tiny bit of code as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11812 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 09:27:41 +00:00
Jonathan Gordon
3e24665c41 Fix settings not saving to disk correctly, (fixes FS#6408)
Stop playback.c requesting a rebuffer while not playing
Shutting down from inside the menu will now save settings to disk, and
entering the main menu will not force a setting save unless a setting
actually changes


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11674 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 12:11:57 +00:00
Jens Arnold
31ffd7b154 Completed target tree move of the ata driver code. Some code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11655 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 22:13:44 +00:00
Miika Pekkarinen
077ed4925e Prevent the click of death when connecting an ipod to usb.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11622 a1c6a512-1295-4272-9138-f99709370657
2006-11-29 12:17:26 +00:00
Jonathan Gordon
4049d44b03 dont allow the ata callbacks to be run less than once every 30s unless
explicitly forced to.
The sleep_after param is only true in the Q_SLEEP event, so its uneeded,
so removed


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11599 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 09:53:42 +00:00
Jens Arnold
8c3f0681b2 Get rid of ages-old interdependency between ata.c and mas.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11519 a1c6a512-1295-4272-9138-f99709370657
2006-11-12 14:17:49 +00:00
Jens Arnold
780f79e7a4 Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:26:01 +00:00
Jonathan Gordon
fd0e640edd Bah, Linus was right, trying to call the ata_idle callbacks on usb and
shutdown doesnt work. Threads with callbacks must handle these 2 events
instead.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11477 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 07:02:18 +00:00
Jonathan Gordon
d9f7ac24f4 fix booboo in ata.c (SYS_POWEROFF falling into SYS_USB_CONNECTED)
enable ata_idle callbacks in ata_mmc.c (calls the callbacks after 10s of
real inactivity)
fix builds


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11462 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 02:23:01 +00:00
Jonathan Gordon
f184152c05 * changes to ata.c - idle callbacks are called after 2 sec of real idle,
and shutdown and usb (it makes sense here). ata_sleep doesnt get broken
by callbacks.
* allow ata_sleep() at the end of buffering again
* config block uses ata_idle instead of delayed sector when saving
* remove delayed sector code from ata_mmc.c (idle callbacks are not yet
implemented for ata_mmc.c tho)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11461 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 01:55:26 +00:00
Jonathan Gordon
398c802710 dont spin up the disk to call the callbacks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11458 a1c6a512-1295-4272-9138-f99709370657
2006-11-07 13:14:52 +00:00
Jonathan Gordon
0b22795e26 adds ata_idle_notify system which allows callbacks in apps/ to be called
when the hard disk is idle but spinning, and just before shutting down.
on SWCODEC targets with > 8MB RAM the playback engine will try to
refill the buffer if it is less than 75% full while the disk is spinning
(temporarily disabled on the nano)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11451 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 14:24:18 +00:00
Marcoen Hirschberg
ede3d646b9 move coldfire ata defines to a shared ata-target.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11395 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 09:38:34 +00:00
Jonathan Gordon
139f9f28e9 move the iriver h1x0/h3x0 targets to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11392 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 08:56:06 +00:00
Marcoen Hirschberg
6c3c5fb188 cleanup ata.c a bit by moving portalplayer defines to target_tree and removing unused portalplayer and gigabeat code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11365 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 11:56:17 +00:00
Thom Johansen
017b0d7b71 A better workaround due to ATA sleep bugs in the Ipod Nano. battery_bench and plugins like it should now work also on Nano.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11344 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 17:31:29 +00:00
Miika Pekkarinen
a85044bf9e New scheduler, with priorities for swcodec platforms. Frequent task
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Marcoen Hirschberg
dd754886f5 update the gigabeat code and move to target_tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10535 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 08:01:54 +00:00
Jens Arnold
a8b0a6de2f ATA driver: * Don't lie to gcc about which parameters the assembler optimised loops touch. Fixes problems with higher optimisation levels. Some slight tweaks for SH1. * Prevent the assembler loops from being inlined as this is less efficient than having them in IRAM (only relevant at higher optimisation levels).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9828 a1c6a512-1295-4272-9138-f99709370657
2006-04-29 08:33:10 +00:00
Jens Arnold
4ac150e8d3 Get rid of the redundant APPLE_* macros. * Fix wrong comments in lcd-ipod.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9561 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 09:08:38 +00:00
Jens Arnold
bf3dba8628 Coldfire: Assembler optimised disk writing, speed increase ~36% on average.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9117 a1c6a512-1295-4272-9138-f99709370657
2006-03-19 12:37:23 +00:00
Jens Arnold
14229df245 Fix s-t-u-p-i-d bug in the asm ata read routine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9098 a1c6a512-1295-4272-9138-f99709370657
2006-03-18 20:03:36 +00:00
Jens Arnold
5a121270aa Coldfire: Assembler optimised disk reading, speed increase ~40% on average.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9092 a1c6a512-1295-4272-9138-f99709370657
2006-03-18 10:12:50 +00:00
Linus Nielsen Feltzing
838a7020c7 ATA driver: Fixed a flaw in check_registers(), and added support for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8948 a1c6a512-1295-4272-9138-f99709370657
2006-03-07 13:25:19 +00:00
Marcoen Hirschberg
8d0a32eb4b gigabeat related changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8885 a1c6a512-1295-4272-9138-f99709370657
2006-03-02 13:28:24 +00:00
Marcoen Hirschberg
338e2bbb0c first gigabeat commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8831 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 15:42:52 +00:00
Thom Johansen
4b98554083 Fix slow shutdown on ipod nano.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8741 a1c6a512-1295-4272-9138-f99709370657
2006-02-19 21:22:24 +00:00
Dave Chapman
465596b163 More iPod 3G code from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8582 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 17:16:34 +00:00
Linus Nielsen Feltzing
9b0822d76a Make it compile on iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8543 a1c6a512-1295-4272-9138-f99709370657
2006-02-02 23:07:11 +00:00
Dave Chapman
cf0e3d355c iPod: Fix endian bug with disk reads and writes to a non-aligned memory buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8369 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 14:04:30 +00:00
Thom Johansen
d47bb3c05e Temp fix for iPod Nano. Disable ATA sleep, as this will hang disk accesses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8357 a1c6a512-1295-4272-9138-f99709370657
2006-01-16 23:23:39 +00:00
Jens Arnold
8790056691 Fixed yellow iPod builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8062 a1c6a512-1295-4272-9138-f99709370657
2005-11-24 00:51:57 +00:00
Jens Arnold
548755adf1 Fixed disk icon display in remote status bar on iriver. * Rolled back led.c changes, introducing a changed #if condition only. Reduces code size on targets with real controllable LED.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8059 a1c6a512-1295-4272-9138-f99709370657
2005-11-24 00:10:14 +00:00
Linus Nielsen Feltzing
f4c2b96daa H300 has no ATA LED
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7961 a1c6a512-1295-4272-9138-f99709370657
2005-11-18 14:06:50 +00:00
Linus Nielsen Feltzing
73a35a1aa4 Reverted erroneous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7918 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 23:42:19 +00:00