Commit Graph

31426 Commits

Author SHA1 Message Date
Amaury Pouly 80c019e737 imx233: add a missing packed attribute for dma !!
Change-Id: Iada56b34d0517851859e60f064a2e9032c2f0fe2
2013-01-26 18:24:50 +00:00
Amaury Pouly 5b00e59614 imxtools/sbtools: fix file type detection
Change-Id: I872e98f5810df3ecc975e025385f9c5ca7b47a44
2013-01-26 18:24:50 +00:00
Amaury Pouly 75df5c2684 imxtools/hwemul: allow for toolchain prefix override
Change-Id: I4f790441edac01ab2e8cb286c766ea0b272b4780
2013-01-26 18:24:50 +00:00
Marcin Bukat 071c95be70 gif viewer: remove max frames count constraint
Change-Id: I0be2f86234cfc5fd4ab6bb21fb918e507c608f2f
Reviewed-on: http://gerrit.rockbox.org/380
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-01-25 16:51:12 +01:00
Björn Stenberg 1501df045f Deprecate the EXTRA_LIBS variable.
Instead specify explicit library dependencies for codecs and plugins.
2013-01-24 16:06:45 +01:00
Marcin Bukat 02a9089034 PP: Do not use ATA DMA in bootloader
The build of bootloader with HAVE_ATA_DMA fails because of missing
commit_discard_dcache(). This seems to be bigger problem as
bootloader builds don't call  cache_init() also which seems wrong.
but I know too little about the PP platform to judge.
For now use ATA DMA only in regular builds.

Change-Id: I82873cb1771f5a95ebfbef91ce26744e3abd743c
2013-01-24 13:04:57 +01:00
Boris Gjenero d118f47d24 Re-enable PP502x ATA DMA
PP502x ATA DMA was disabled in 55fab77 because it caused various
instability on all targets using it. This instability is fixed in
583c948 via FS#12391. Here, ATA DMA is enabled for all PP502x targets
except nano1g and hdd6330. For nano1g, there may be other causes of
instability and more testing is needed. ATA DMA does not work on hdd6330.

Change-Id: I786b9edb19e74e6eb957ab205ea026f0969200ac
Reviewed-on: http://gerrit.rockbox.org/340
Tested-by: David Hooper <dave@beermex.com>
Tested-by: Boris Gjenero <boris.gjenero@gmail.com>
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
Tested-by: Szymon Dziok <b0hoon@o2.pl>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-01-24 11:27:12 +01:00
Boris Gjenero 0fec8414a3 Fix FS#12391 : Memory corruption on PP502x after commit_discard_idcache()
In commit_discard_idcache(), cache lines were marked as invalid. When
some cache lines are marked as invalid, memory corruption can occur.
This caused instability when using PP502x ATA DMA because of the many
more calls to that function. Here, commit_discard_idcache() is changed
to avoid the problem. Also, the cache is filled after being enabled to
to ensure there are never any cache lines that aren't marked as valid.

Change-Id: Ia26300acef6b0573c1f40299c496ee5cbda3dac8
Reviewed-on: http://gerrit.rockbox.org/339
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
Tested-by: Szymon Dziok <b0hoon@o2.pl>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-01-24 11:26:23 +01:00
Dominik Riebeling 1789b717ba Remove support for RFC850 timestamps.
RFC850 timeformat isn't y2k compliant. Furthermore, parsing turned out to be
broken and it doesn't seem supporting the format is necessary anyway.

Change-Id: I062e636a9e016ff1ac49d2a55f00adb1af182576
2013-01-22 22:27:16 +01:00
Dominik Riebeling b5c2576651 Remove 64bit warning by using C99 fixed width format specifier.
Change-Id: I422d0a7ca91170b27171178ad6a8d7ff7ac32570
2013-01-22 20:39:41 +01:00
Dominik Riebeling 554ee364b0 Avoid unnecessary HEAD request on uncached file.
If a file is not available in the cache immediately sent a GET request. Using a
HEAD request to retrieve the file timestamp on the server is not necessary and
only creates an unnecessary network request.

Change-Id: I358507dcc0c6b837ff47e5fd710b5262d03cb7b0
2013-01-22 20:39:40 +01:00
Michael Giacomelli a2ab22efbf ARMv5 optimized complex multiply function for libopus.
Speeds up decoding of 128k opus files by 1.2MHz on AMSv2. Rounding
error is 1 bit due to KissFFT using a 15 bit shift instead of a 16 bit shift.

Also, change an LDMIA in the armv4 code to LDM as the pointer should not
increment.

Change-Id: I626a207c6a056a1984e33cfe89415c35d0caed93
Reviewed-on: http://gerrit.rockbox.org/377
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
Tested-by: Michael Giacomelli <giac2000@hotmail.com>
2013-01-21 01:51:38 +01:00
Jonathan Gordon 0c87e02631 And use the unknown file colour if there is no extension
Change-Id: I35e16643fa655b7d1e006ea85be5c351427bca14
2013-01-21 09:38:19 +11:00
Jonathan Gordon 3b6b5130c9 fix yellow
Change-Id: I269c1c3caa57ba3f0368f58da9501fc29be3dc0c
2013-01-21 09:07:04 +11:00
Jonathan Gordon 70595a278a filetree: Support ??? in viewers.config for unsupported filetypes
This will allow the user to set the file colour and icon for all
unknown files in the file browser.

Change-Id: I4e601f9d2ea31ac972d8066252bf80b6c0d22268
2013-01-20 22:44:03 +11:00
Amaury Pouly e9f8846ce2 imx233: enable cpu frequency scaling on all targets
Change-Id: If19f51da5e4d66d7a85b3b9f50cbde115e73b6cb
2013-01-18 18:59:41 +00:00
Thomas Martitz 48bc762db1 lists: Fix item indentation in RTL to match LTR behavior (which is no indentation when the scrollbar isn't shown, apparently).
Change-Id: I5c36d34638fa7a9cba9468b7ee07a07a836fadec
2013-01-18 18:02:47 +01:00
Thomas Martitz ef38221602 android: Hopefully fix a rare hang of the UI.
Sometimes (and perhaps only on some devices) Android's YesNo dialog
loses focus and is put to the background. Since the native code waits on the
result (which is then impossible to happen) it would become impossible
to further control Rockbox. This is an attempt to fix as I cannot reproduce
the problem on my device(s).

Change-Id: Iff849ff4be5e8f41922fb7d36491d860486c6441
2013-01-18 09:49:46 +01:00
Thomas Martitz 2ffde90c69 touchscreen: Fix kinetic and swipe scrolling outside of the list viewport.
There were some bugs, especially when the user scrolled above the
list viewport. One bug made Rockbox completely unusable once triggered.

Change-Id: I9bb4722ff4381db189058e9a19ea30b2c69e87d9
2013-01-17 23:29:35 +01:00
Amaury Pouly 9b7edbf609 fix yellow on simulator + multivolume
Change-Id: Idc6d0e2e8fb06c2df4cac13ad7253b0b8628c308
2013-01-15 22:59:29 +00:00
Amaury Pouly fa6dc058ef zenxfi2: forgot a simulator file
Change-Id: I5c42fc57286440c45ce08396ac1b232d611b30b1
2013-01-15 22:49:43 +00:00
Amaury Pouly d6a8712424 zenxfi2: update sim image
Change-Id: Ia8a3f9a345d99c85f04d72555b8ca0d8c540b5be
2013-01-15 22:17:07 +00:00
Amaury Pouly 1a5cda9075 zenxfi2: add simulator defines and image
Change-Id: I87498ed09a952586cb84a44bc391b5a0aa149c2e
2013-01-15 21:57:26 +00:00
Thomas Jarosch 5db5341deb Fix possible readlink() buffer overflow
readlink() might return the full size of the target buffer
and we write a '\0' to the returned length offset.

cppecheck reported:
[rockbox/apps/tagcache.c:4335]: (warning, inconclusive) readlink() might return the full size of 'target'. Lower the supplied size by one.

(the check was actually written by me)

Change-Id: Ibb42f732aa42c38bb6cb92cdccd3e6a0d3aa9b9f
2013-01-15 22:04:18 +01:00
Amaury Pouly 224c6d68f1 stfm1000: comment static unused function
Change-Id: Ie918a07c72bf9086508731faf658d57a286d922a
2013-01-15 19:49:52 +00:00
Amaury Pouly 8ed0d198c5 imxtools/scsitools: add support for more commands
Change-Id: Iddff64502ba357dcd36903d31015b9ae2d00ae62
2013-01-15 19:42:20 +00:00
Amaury Pouly 4b1c48f5f5 mkximxboot: add version string and add zenxfi3 file
Add a version string with each md5sum, fix the version of an
entry, add a new zenxfi3 file entry.

Change-Id: I9fba76ee6032bbe31acd791b8d5e104b87992653
2013-01-15 19:10:55 +00:00
Amaury Pouly ba277d68f3 imx233: fix sd windowed drive
The SD driver doesn't initialised drives at the beginning but
upon request to handle removable drives. Since means that the
init should call init_drive() and not init_sd_card() otherwise
the check for WINDOW flag is bypasses. This breaks the zenxfi3
bootloader and has been overlooked for some time.

Change-Id: I7325f7164d16d7e7e54eeb4645e98517a08e0836
2013-01-15 19:10:55 +00:00
Amaury Pouly 19ca914f27 zenxfi3: remove obsolete comment
Change-Id: I9597461c2d48b7b7558c60efd309e5b34c661cbe
2013-01-15 19:10:55 +00:00
Jonathan Gordon d6c6c0767c album art display: Fix RTL handling for the album art skin tag
AA was broken when an RTL language is used, causing it to not
be displayed.

Also fix th out of bounds handling when width/height > viewport

Change-Id: I4899cd32ec58107c987e3cc0e8df582963bdcf62
2013-01-15 23:10:37 +11:00
Dominik Riebeling d24c220d04 Remove 64bit warning by using C99 fixed width format specifier.
Change-Id: I7fecca91acb61461f6696e0bf28bdd6c1bdf6f3c
2013-01-13 19:51:48 +01:00
Dominik Riebeling 1f1826e39c Remove Rockbox Utility Offline Mode.
Offline Mode was intended to allow performing an installation without network
access. However, to get the required files cached the same installation has to
be performed with network access, which is a rather strange prerequisite. A
better way would be a way to direct Rockbox Utility to some local "repository"
that holds the required files.

Furthermore, Offline Mode hasn't been tested since long and is likely to be
broken since the caching mechanism has been extended.

For now remove this functionality. As far as I know it's been rarely used (if
at all) anyway.

Change-Id: Ib2af4892708e0440bd0a7940c131f04182ddb39a
2013-01-13 19:45:29 +01:00
Dominik Riebeling d608fd604b Remove HttpGet::error() function.
This function returns an internal enum value of QHttp (which is also
deprecated). It was only used for showing an error to the user / showing it in
the system trace. Since it is an enum value it doesn't have much value. Log /
show the error string instead.

Change-Id: I54b9b6026969f8108f779b02a04477f0ad9201ab
2013-01-13 18:48:28 +01:00
Amaury Pouly 4307f95a1f imx233: rework frequency scaling
Move to a table based approach (scales better) and distinguish
between upward changes (increase frequency) and downward changes
(decrease frequency). This provides a better ordering of
operations and in particular it allows to avoid changing the
regulator while running at low speed since it takes a long time !
This should result in a much smoother scaling.

Change-Id: Iad7e5b61277e215f31c07877fbbad07ddde1171f
2013-01-13 00:58:46 +00:00
Marcin Bukat 29e51a1777 rk27xx: slightly optimize commit_discard_dcache_range()
Change-Id: I13ce643d4ba26db5de9ffa083070d7f40b0e7b1f
2013-01-12 21:57:37 +01:00
Amaury Pouly e2be0e75ab imx233: correctly send the LCD_EVENT_ACTIVATION on enable
For some reason it is the responsability of the driver to send
this event so do it. This might fix some non-updating screens.

Change-Id: Ib5fdc94bf266c3497a8ac4e89d0418c0e876ff9f
2013-01-12 19:08:05 +00:00
Amaury Pouly c8d36bb994 fuze+: lcd code cleanup
The lcd kind is always set to st7783 in case we can't read the ID
so don't bother handling impossible cases

Change-Id: I352fd43b26068b460e69190d37c4cd4627e1db9a
2013-01-12 19:06:24 +00:00
Amaury Pouly 5e7bd97e04 fuze+: correctly handle settings (flip and invert) accross enable
The flip and invert settings can potentially be reset to their
value accross a disable/enable cycle, so save the value of the
impacted registers and apply it after each enable. Also avoid
poking registers when the lcd is not on.

Change-Id: Ica98f166c060aade7eb205f5628b58aae692024f
2013-01-12 19:04:20 +00:00
Amaury Pouly 0946a1e0f2 imx233: enable underflow recovery in lcdif (needed for freq scale)
When chaging the cpu and memory frequency we need to disable the
external memory interface (EMI) for a small time. This can
underflow the dma and cause some breakage. Hopefully the SSP
controller handles this gracefully by stopping the clock and the
I2C probably handles this naturally because the clock can be
streched anyway. However the LCDIF has a special setting for this
which needs to be enable, otherwise it will send garbage to the
LCD. No other block is known to suffer from this currently but
this issue might have more unexpected consequences.

Change-Id: Ide154cad87929f2bf6cc419ac1d2ff33e30eec66
2013-01-12 18:58:19 +00:00
Marcin Bukat 2ef7a549d5 rk27xx: optimize irq_handler()
Change-Id: Idd3141e57b70e9b28b91748bc71208d9afffcd57
Reviewed-on: http://gerrit.rockbox.org/381
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-01-11 15:41:11 +01:00
Marcin Bukat efe1042759 rk27xx: substitute magic constants with meaningful names for INTC
Change-Id: Ic93114db351a9940a53d0c1df6439d82ada044e1
2013-01-10 20:23:41 +01:00
Marcin Bukat 15818bef55 rk27xx: substitute magic constants with meaningful names for peripherials reset
Change-Id: Ia411c9be65376d1c3fdf59b7e692b0590d58775e
2013-01-10 20:23:41 +01:00
Marcin Bukat 2b6dfdb34e rk27xx: substitute magic constants with meaningful names for clock gating
Change-Id: I6c66c7496db3db78e5c959414464826134dbe200
2013-01-10 20:23:41 +01:00
Amaury Pouly 1fa406dc21 imx233: modify arm cache timings on frequency switch
The manual recommands to tweak the arm cache settings on frequency
changes. The meaning of these values is undocumented but 0 seems
to be a safe value for all frequencies whereas 3 seems to be valid
only for low frequencies (<=64MHz ?)

Change-Id: Iaa8db4af8191010789cf986b1139ff259d73e2ed
2013-01-10 01:02:12 +00:00
Amaury Pouly 5aa19f3eeb imx233: implement emi frequency scaling (disabled by default)
CPU frequency scaling is basically useless without scaling the
memory frequency. On the i.MX233, the EMI (external memory
interface) and DRAM blocks are responsable for the DDR settings.
This commits implements emi frequency scaling. Only some settings
are implemented and the timings values only apply to mDDR
(extracted from Sigmatel linux port) and have been checked to
work on the Fuze+ and Zen X-Fi2/3. This feature is still disabled
by default but I expected some battery life savings by boosting
higher to 454MHz and unboosting lower to 64MHz.
Note that changing the emi frequency is particularly tricky and
to avoid writing it entirely in assembly we rely on the compiler
to not use the stack except in the prolog and epilog (because
it's in dram which is disabled when doing the change) and to put
constant pools in iram which should always be true if the
compiler isn't completely dumb and since the code itself is put
in iram. If this proves to be insufficient, one can always switch
the stack to the irq stack since interrupts are disabled during
the change.

Change-Id: If6ef5357f7ff091130ca1063e48536c6028f23ba
2013-01-10 00:51:35 +00:00
Amaury Pouly b9923df170 imxtools/nwztools: fix compilation for windows
There is a windows port of the sg_utils library for scsi pass-
through. This little changes make it compile under mingw. A better
fix would be to implement direct ioctl on both windows and linux
but that's already better than nothing

Change-Id: I0d77cd1bad69806a66f0590362f165f24fa240e9
2013-01-10 00:51:35 +00:00
Cástor Muñoz 758a3ae4bb iPod Classic/6G: PCM support for all CS42L55 rates
pcm_dma_apply_settings(): sets the configured PCM frequency,
all native CS42L55 sample rates are available.

Change-Id: I2fcd5581457a669c3044516804cb64fb972218d0
2013-01-09 22:08:28 +01:00
Cástor Muñoz 17e57e3291 iPod Classic/6G: support USB suspend mode
Actually Rockbox does not use this mode, it is supported by
other iPods, so implemented on Classic as well.

Change-Id: Ia6578506df27a95a7f7522b3034b764631a8bb3a
2013-01-09 22:08:27 +01:00
Cástor Muñoz 1d901a82fd iPod Classic/6G: fix battery voltage ADC scale
Scale battery voltage ADC readings by 1023 instead of 1000,
using ADC1 (substractor) instead of ADC0 (multiplicator) to
get better resolution.

Percent charge/discharge tables are also modified to return
a similar value than the old ones.

Change-Id: I2951c75faa02f4302599ec24f9156cfd209c36eb
2013-01-09 22:08:27 +01:00
Thomas Martitz d798c721e5 android: Update to SDK r16 and ndk r8d.
SDK r17 is out, however there it only ships a x86 system image for r16 so
it's preferable.

Change-Id: Idc4d375debf407a36c2dc6421420bdbd74ab25ca
2013-01-09 10:33:08 +01:00