Commit graph

14 commits

Author SHA1 Message Date
Michael Sevakis
9a25a6fe19 beep/mixer code: Code police a bit.
/firmware is in the #include path with makes #include "asm/beep.c" sufficient.

Add a comment to generic beep code and make another express intent better.

Change-Id: I587cd704478b894785927bdfe2e647e28614df62
2012-02-19 00:38:58 -05:00
Michael Sevakis
9a32a7b404 Split CPU-optimized beep code into the firmware/asm tree.
For now due to current lack of an apps/asm, place the ASM/generic code in the
firmware/asm directory.

Additionally, make generic beep code more generic.

Change-Id: I4a69b6ffcbb97d9e6dfde2209c5a118de19e5638
2012-02-18 04:50:33 -05:00
Michael Sevakis
43e6d7aef8 Urgh...actually change all the stuff I'm supposed to.
Goofed a couple fn params.

Change-Id: I2474d10fe08d2629ada54c83e201ee91c596d854
2012-02-05 22:48:47 -05:00
Michael Sevakis
691c7a7614 Make generic pcm-mixer.c more generic in the way it writes output.
Also remove unused firmmware/asm/generic directory.

Change-Id: If1961f96f4292f00227a9b0148181152ac405e51
2012-02-05 22:35:23 -05:00
Michael Sevakis
67dd4d6995 Generic find_first_set_bit can use __builtin_ctz instead of __builtin_ffs
The former gives 0-based indexes, which is what our implementation returns,
making the "- 1" unnecessary.

Change-Id: I172ab5e06695be62e4a18d4fd0415b8314f5dc26
2012-02-04 18:08:17 -05:00
Michael Sevakis
74736fcfc9 find_first_set_bit tweaks
Correct sizing in m68k asm.
Make the gerneric version far more generic.

Change-Id: I32945f7431771979b3fe0da5472bdb110fd054ae
2012-01-27 11:51:25 -05:00
Thomas Martitz
aeae94dbc4 Fix typo in comment.
Change-Id: I3a6813a5eb024aad799bc59c569db54337cb8d1f
2012-01-22 22:39:48 +01:00
Thomas Martitz
c94cf3b888 Move optimized ffs to firmware/asm, using the new automatic-asm-picking infrastructure.
Change-Id: I5e7bdc8be7de50ef604c16078857fff1b84650dc
2012-01-22 18:46:45 +01:00
Thomas Martitz
5e9b62cd8a ypr0: Use generic lcd memframe driver. 2012-01-22 18:46:45 +01:00
Thomas Martitz
094cbd586f Implement a C version lcd-as-memframe.c and move it and the asm to firmware/asm.
Change-Id: I20c3af0368202493d54fb776530300a39d47873a
2012-01-22 18:46:45 +01:00
Thomas Martitz
a035261089 Move optimized memcpy and friends and strlen to firmware/asm,
using the new automatic-asm-picking infrastructure.
2012-01-22 18:46:45 +01:00
Thomas Martitz
8e8e978de6 Add framework to let make automatically pick optimized asm implementations over generic C ones to firmware.
Example: for a file asm/foo.c, make will look for asm/arm/foo.[cS] and
compile it if found. If not found it'll fall back to asm/foo.c.

Also introduce new ARCH make variable. This is automatically detected by
configure. It is distinct from CPU since CPU defines the dir used for
the target tree (i.e. firmware/target/X, so it can be "hosted").
ARCH really has the target isa and can be x86 for sims/raaa too.

Change-Id: I18e5d2b7b7bbc2ad2be551a74a0fcae5ffbcbf8b
2012-01-22 18:46:45 +01:00
Thomas Martitz
3c17f28eca Move pcm_mixer helper routines to firmware/asm. 2012-01-22 18:46:45 +01:00
Thomas Martitz
991ae1e395 Create fimrware/asm directory for assembly optimized stuff.
This dir is suitable for stuff that doesn't fit the target tree, e.g. because
it also builds on hosted or otherwise. It also has a generic subfolder for
fallback C implementations so that not all archs need to provide asm files.

SOURCES should only contain "foo.c" where foo.c includes the specific
<arch>/foo.c files from the subdirs using the preprocessor. This way automatic
selection of asm versions or generic C verion is possible.

For the start, the thread support files are moved, since ASM threads can
be used on hosted platforms as well. Since core_sleep() remains platform
specific it's moved to the corresponding system.h headers.

Change-Id: Iebff272f3407a6eaafeb7656ceb0ae9eca3f7cb9
2012-01-22 18:46:44 +01:00