[alsa-devel] [PATCH 03/11] drivers: char: add AXD Audio Processing IP driver
Qais Yousef
qais.yousef at imgtec.com
Tue Oct 28 15:36:39 CET 2014
On 10/28/2014 02:10 PM, Greg Kroah-Hartman wrote:
> On Tue, Oct 28, 2014 at 11:26:21AM +0000, Qais Yousef wrote:
>> AXD is Audio Processing IP by Imagination Technologies that can
>> perform decoding, encoding, equalisation, resampling, mixing,
>> synchronisation and audio playback.
> Isn't that a codec? Why is this a "char" driver and not one that fits
> into our existing audio subsystem?
As far as I understand it doesn't fit into current alsa framework
because of a number of unsupported features that we need. Specifically
the range of compressed decoders we support and their configurations and
encoding. I might have gotten it wrong though so I'll wait to see what
alsa people say.
>> this patch adds defs and initialisation files
> Spell check :)
Hmm UK spelling vs US spelling :) Unless you mean the defs then I'll
expand it.
>> Signed-off-by: Qais Yousef <qais.yousef at imgtec.com>
>> Cc: Arnd Bergmann <arnd at arndb.de>
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>> Cc: Grant Likely <grant.likely at linaro.org>
>> Cc: Rob Herring <robh+dt at kernel.org>
>> Cc: <devicetree at vger.kernel.org>
>> Cc: <alsa-devel at alsa-project.org>
>> ---
>> drivers/char/axd/axd_api.h | 641 +++++++++++++++++++++++++
>> drivers/char/axd/axd_module.c | 1064 +++++++++++++++++++++++++++++++++++++++++
>> drivers/char/axd/axd_module.h | 99 ++++
>> include/linux/axd.h | 32 ++
>> 4 files changed, 1836 insertions(+)
>> create mode 100644 drivers/char/axd/axd_api.h
>> create mode 100644 drivers/char/axd/axd_module.c
>> create mode 100644 drivers/char/axd/axd_module.h
>> create mode 100644 include/linux/axd.h
>>
>> diff --git a/drivers/char/axd/axd_api.h b/drivers/char/axd/axd_api.h
>> new file mode 100644
>> index 000000000000..0d732f173f55
>> --- /dev/null
>> +++ b/drivers/char/axd/axd_api.h
>> @@ -0,0 +1,641 @@
>> +/*
>> + * Copyright (C) 2011-2014 Imagination Technologies Ltd.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License
>> + * as published by the Free Software Foundation; either version 2
>> + * of the License, or (at your option) any later version.
> Do you really mean "any later version"?
>
Nope. I probably copied that from the wrong source.
>> + *
>> + * Main API to the AXD for access from the host.
>> + */
>> +#ifndef AXD_API_H_
>> +#define AXD_API_H_
>> +
>> +#include <linux/types.h>
>> +
>> +
>> +#define THREAD_COUNT 4
>> +#define AXD_MAX_PIPES 3
>> +
>> +
>> +#define AXD_DESCRIPTOR_READY_BIT 0x80000000
>> +#define AXD_DESCRIPTOR_INUSE_BIT 0x40000000
>> +#define AXD_DESCRIPTOR_EOS_BIT 0x20000000
>> +#define AXD_DESCRIPTOR_SIZE_MASK 0x0000FFFF
>> +
>> +struct axd_buffer_desc {
>> + uint32_t status_size;
>> + uint32_t data_ptr;
>> + uint32_t pts_high;
>> + uint32_t pts_low;
> Please always use standard Linux kernel types, "u32" in this case.
OK.
Thanks,
Qais
> thanks,
>
> greg k-h
More information about the Alsa-devel
mailing list