[alsa-devel] [PATCH 03/11] drivers: char: add AXD Audio Processing IP driver

Greg Kroah-Hartman gregkh at linuxfoundation.org
Tue Oct 28 15:10:38 CET 2014


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?

> this patch adds defs and initialisation files

Spell check :)

> 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"?


> + *
> + *  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.

thanks,

greg k-h


More information about the Alsa-devel mailing list