[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