Carlos Munoz wrote:
Lee Revell wrote:
On Thu, 2006-03-09 at 20:45 -0500, [email protected] wrote:
On Thu, 09 Mar 2006 17:44:16 PST, Carlos Munoz said:
I'm writing an audio driver and the hardware requires floating
point arithmetic. When I build the kernel I get the following
errors at link time:
Tough break, that. You sure you can't figure a way to either push the
floating point out to userspace
Audio drivers should never have to directly manipulate the samples -
they just manage the DMA buffers and interrupts and wake up the process
at the right time. Mixing, routing, volume control, DSP go in
userspace.
Lee
Hi Lee,
Unfortunately, the driver needs to populate several coefficient tables
for the hardware to perform silence suppression and other advance
features. The values for these tables are calculated using log10
operations. I don't see a clean way to push these operations to user
space without the need for custom applications that build the tables
and pass them to the driver.
Thanks,
Carlos Munoz
Anyway,
I figured out how to get the driver to use floating point operations. I
included source code (from an open source math library) for the log10
function in the driver. Then I added the following lines to the file
arch/sh/kernel/sh_ksyms.c:
DECLARE_EXPORT(__subdf3);
DECLARE_EXPORT(__muldf3);
DECLARE_EXPORT(__divdf3);
DECLARE_EXPORT(__adddf3);
DECLARE_EXPORT(__floatsidf);
DECLARE_EXPORT(__eqdf2);
DECLARE_EXPORT(__fixdfsi);
Everything works now.
Thanks,
Carlos Munoz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]