Nils Wallménius
2dda258f99
Remove STATICIRAM hack
...
It was only needed by the old arm toolchain that we no longer use or support.
Change-Id: Id0e6c67477f8834a637079b03cde5fbf9da68b1c
Reviewed-on: http://gerrit.rockbox.org/233
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2012-05-08 22:46:12 +02:00
Boris Gjenero
e4dbcc414b
FS#12418 - Merge prototypes from ata-target.h files into new file ata-driver.h. After this change:
...
- ata.h is for users of ata.c
- ata-driver.h is for functions implemented by target-specific code and used by ata.c
- ata-target.h is for target-specific defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31182 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:23:53 +00:00
Boris Gjenero
e5a7388fc7
If Rockbox never turns off ATA power, don't compile code for turning it back on. Note that ATA power may still need to be turned on when starting, so that code in ata_init() always remains.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31079 a1c6a512-1295-4272-9138-f99709370657
2011-11-27 17:40:57 +00:00
Boris Gjenero
a99d9eca0b
Add STORAGE_INIT_ATTR to static ata.c functions that are only called via ata_init().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31067 a1c6a512-1295-4272-9138-f99709370657
2011-11-27 04:56:47 +00:00
Boris Gjenero
32eb8275f4
Remove last_sleep when it's not needed because IDE power is never turned off.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30943 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 23:29:25 +00:00
Thomas Martitz
cc889e9d60
Change the thread api a bit.
...
* Remove THREAD_ID_CURRENT macro in favor of a thread_self() function, this allows thread functions to be simpler.
* thread_self_entry() shortcut for kernel.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29521 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 17:48:06 +00:00
Andree Buschmann
5d849a963e
Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:43:32 +00:00
Michael Sevakis
060609a202
i.MX31: Busy wait for a couple microseconds at most then sleep until next tick when polling drive status. This prevents pointless jumps to overdrive speed from perceived high load when waiting for lengthy ops to complete such as spinup and sleep.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29108 a1c6a512-1295-4272-9138-f99709370657
2011-01-22 09:23:31 +00:00
Michael Sevakis
453550a687
Try to get some control over #ifdef hell in usb.c by refactoring and inline function use. SYS_USB_DISCONNECTED_ACK hasn't been doing anything useful for the USB thread; remove it. USB thread simply ignores that value. Observe only valid usb_state transitions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29084 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 14:10:06 +00:00
Michael Sparmann
e1eb3abee4
Oops, that didn't belong in there.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29003 a1c6a512-1295-4272-9138-f99709370657
2011-01-07 23:35:29 +00:00
Michael Sparmann
9b5c95f557
Fix CS42L55 (iPod Classic) tone control
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29002 a1c6a512-1295-4272-9138-f99709370657
2011-01-07 23:09:09 +00:00
Michael Sevakis
18f4889d63
Fix USB storage driver. ata_get_info was no longer filling-in num_sectors after recent ATA changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28962 a1c6a512-1295-4272-9138-f99709370657
2011-01-04 17:17:38 +00:00
Michael Sparmann
80b50e7587
Fix regression from r28950: ATA broken on MPIO and possibly other targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28957 a1c6a512-1295-4272-9138-f99709370657
2011-01-03 13:09:42 +00:00
Michael Sparmann
6f40387e74
Fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28952 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:09:01 +00:00
Michael Sparmann
1a1fc09863
Fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28951 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:02:55 +00:00
Michael Sparmann
9339be1279
Rework ATA driver to get rid of lots of target-specific constants and allow for non-memory-mapped task file registers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28950 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 22:51:47 +00:00
Michael Sevakis
ff25b3a208
ata: do some threading-related corrections (some sync related where it matters). Make sure 'sleeping' is 'false' before the powerup sequence (throws-off powermgmt and it *is* about to woken again and powermgmt will need to compensate). Avoid looking at mutex flag directly; there's no tangible benefit I can discern and changes to the kernel that alter the meaning shouldn't be able to break anything. For that, in the jz sd driver, have sd_disk_is_active just return 'false' like all the other SD drivers do. If it *must* return this, it should implement it's own method but it seems to not matter.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26234 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 15:33:31 +00:00
Maurus Cuelenaere
64f5033574
Do s/SWAP_WORDS/ATA_SWAP_WORDS/ to prevent namespace clashes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26111 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 15:15:38 +00:00
Torne Wuff
99cd7f8c19
Make builds with MAX_PHYS_SECTOR_SIZE defined (ipod video) work with larger sizes if the drive is sane.
...
The ipod video build has a MAX_PHYS_SECTOR_SIZE of 1024. This meant it would refuse to boot on drives with sectors larger than 1024 bytes, even if those drives don't actually require the workaround originally intended for the 80GB 5.5G's drive.
ata_init() will now, if the drive claims to have >512 byte sectors, try and read sector 1 to determine if the drive is capable of emulating 512-byte sector accesses. If this succeeds, we assume the drive is better at it than us (this is very likely to be true) and set phys_sector_mult to 1, disabling the workaround and ensuring the drive will work regardless of sector size.
Making use of this change requires that you build and install an updated bootloader as well as the main build; a new iPod bootloader will be released soon, so if you can't do this yourself, be patient.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25646 a1c6a512-1295-4272-9138-f99709370657
2010-04-14 14:40:03 +00:00
Torne Wuff
62321ed0bd
Make ATA code not bother to retry requests that return IDNF (specified sector not valid).
...
There's no point retrying these requests for five seconds, the sector number isn't going to get any more valid. It interferes with being able to detect broken drives like the 5.5G 80GB iPod's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25525 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 20:01:21 +00:00
Torne Wuff
fb680535f6
FS#10955 - LBA48 builds doesn't compile after ata read/write unification
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24444 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 22:59:36 +00:00
Torne Wuff
640d98de0f
FS#9721 - No error check after writes in ata.c
...
Patch by Boris Gjenero (dreamlayers). Writes are retried on failure now so this should be safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23741 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 18:09:21 +00:00
Torne Wuff
b896e86842
FS#10798 - unify ata_read_sectors and ata_write_sectors
...
Writes will now be retried if they fail, and will be done using multisector transfers which should be faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23740 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 18:03:57 +00:00
Frank Gevaerts
c0a5a67387
Commit FS#9545, storage cleanup and multi-driver support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21933 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 22:28:49 +00:00
Jens Arnold
1d6df54df2
Convert a number of places in core and plugins to use the BIT_N() macro instead of 1<<n. Speeds up things on SH1, and also reduces core binsize. Most notable speedups: 1 bit lcd driver: drawpixel +20%, drawline + 27%, hline +5%; jpeg viewer: +8% for 1/8 scaling. Other targets are unaffected.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21205 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 21:27:05 +00:00
Michael Sevakis
bc8cab4c24
Commit the common portion of FS#9708: ATA (IDE) DMA by Boris Gjenero with a couple cosmetic tweaks and without the inclusion of 'FS#9721: No error check after writes in ata.c'changes (which can be done separately). No code is changed for targets without HAVE_ATA_DMA defined other than to not display DMA modes in the View Disk Info debug screen if not using DMA (Gigabeat F/X/S were). No target uses the code yet but Gigabeat S use will follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20298 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 02:01:25 +00:00
Frank Gevaerts
ca41779fc6
Use total_sectors in ata_get_info() instead of calculating it all over again. This should fix LBA48 issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20208 a1c6a512-1295-4272-9138-f99709370657
2009-03-05 22:14:51 +00:00
Andree Buschmann
65d404ff6a
Submit FS#9863 by Boris Gjenero. Correct ATA wakeup and power on in case of SYS_USB_CONNECTED. This way HDDs are spun down properly afterwards before rebooting to USB.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20082 a1c6a512-1295-4272-9138-f99709370657
2009-02-22 13:24:58 +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
Jens Arnold
0ad97d13fc
Reclaim a bit of binsize on hdd based archoses by making the bit test unsigned. On SH1, gcc optimizes this by using a right shift, and a signed '1' made it use an arithmetic right-shift-by-n, which is a libgcc function on SH1. This was the only place in the core using it. No effect on other architectures.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19399 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 07:48:01 +00:00
Michael Sevakis
8cfbd3604f
Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Frank Gevaerts
6f32dab2ae
*_hard_reset() is only used inside ata.c, so there's no need to export it to the world
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19004 a1c6a512-1295-4272-9138-f99709370657
2008-11-04 19:37:28 +00:00
Frank Gevaerts
19eb800f75
conditionalise *_get_info() to get some binsize back
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18965 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 17:33:21 +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
9e0ebcc4e6
Simplify preprocessor symbols a bit (FS#9457). Thanks to Alexander Levin
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18816 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 19:05:00 +00:00
Frank Gevaerts
7fc446263f
fix yellow. Don't do the spindown/usb things in the bootloader
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18696 a1c6a512-1295-4272-9138-f99709370657
2008-10-03 11:56:01 +00:00
Frank Gevaerts
fcdffd68af
Accept FS#8943, allow disk spindown during USB connection for software usb
...
Implementation by Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18685 a1c6a512-1295-4272-9138-f99709370657
2008-10-02 20:51:14 +00:00
Bertrik Sikken
70dd64d23d
Make local variable static
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18089 a1c6a512-1295-4272-9138-f99709370657
2008-07-18 22:32:44 +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
Michael Sevakis
606d9d0c83
Reinstate the awful ATA hack that has no proper reason to exist for iPod 5.5g 60GB and/or 80GB.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17682 a1c6a512-1295-4272-9138-f99709370657
2008-06-03 04:23:09 +00:00
Michael Sevakis
d587247ebd
Actually remove the ata lock hack code for that had been used for iPod Video 60/80. It has been disabled for awhile anyway and the problem that nescessitated it really appears resolved.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17558 a1c6a512-1295-4272-9138-f99709370657
2008-05-17 16:19:58 +00:00
Michael Sevakis
248194164d
Disable the ata locking hack since a recent test strongly suggests it has been resolved as of r17426. Leave the code for now just in case.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17468 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 20:56:27 +00:00
Michael Sevakis
80278e45aa
Bring Gigabeat S bootloader one step close to a release version.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17442 a1c6a512-1295-4272-9138-f99709370657
2008-05-10 18:00:11 +00:00
Jens Arnold
8291cd76de
Fix the short audio dropout at disk spinup from power-off on portalplayer targets (observed on Mini G2, probably affected others as well).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17426 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 21:36:50 +00:00
Jens Arnold
f18e4db81b
Apply 2 small size optimisations. * Put ICODE_ATTR into the function definitions where applicable, saving the separate declaration.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17408 a1c6a512-1295-4272-9138-f99709370657
2008-05-08 05:39:29 +00:00
Michael Sevakis
35e7b25472
ata_hard_reset should be synchronized.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17397 a1c6a512-1295-4272-9138-f99709370657
2008-05-06 10:12:05 +00:00
Michael Sevakis
57cbd77788
Gigabeat S: Do the controller timing settings a more cleanly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17379 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 13:00:08 +00:00
Michael Sevakis
be0c7d0ff3
Gigabeat S: Use the fastest PIO mode the installed drive allows instead of always PIO0. Centralize clock information in clkctl-imx31.c.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17371 a1c6a512-1295-4272-9138-f99709370657
2008-05-05 10:53:06 +00:00
Michael Sevakis
97e61198a5
iPod Video 30Gig doesn't seem to need the ata locking hack so we'll just attempt to remove it for this one. Works for me on 5.5g.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17071 a1c6a512-1295-4272-9138-f99709370657
2008-04-11 10:39:24 +00:00
Michael Sevakis
05099149f1
Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00