[GIT PULL FOR v6.10] Add imx-asrc m2m audio rate control driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mauro,

This adds support for the imx-asrc m2m audio rate control driver. Most of these
patches add support for the new v4l-audioX device nodes and related types,
and adding support for fixed point control types.

The ASoC patches have been acked by Mark Brown.

It also adds a vim2m-audio test driver so we can test the v4l-audio infrastructure.

Since V4L2 is fourcc-based all the way, directly using snd_pcm_format_t values
is not an option: fourcc's are expected to be printable characters, and it is
pretty much certain that there are applications that show it like that to the
end-user. The utilities in v4l-utils certainly do, and it is in fact a
perfectly reasonable thing to do. So instead we map the snd_pcm_format_t value
to a fourcc with v4l2_audfmt_to_fourcc and map it back with v4l2_fourcc_to_audfmt.

This PR is using v15 of the patch series:

https://patchwork.linuxtv.org/project/linux-media/list/?series=12460

And the corresponding v4l-utils patch series is here:

https://patchwork.linuxtv.org/user/todo/linux-media/?series=12074

Regards,

	Hans

The following changes since commit b14257abe7057def6127f6fb2f14f9adc8acabdb:

  media: rcar-isp: Disallow unbind of devices (2024-03-07 16:35:13 +0100)

are available in the Git repository at:

  git://linuxtv.org/hverkuil/media_tree.git tags/br-audio

for you to fetch changes up to af06c8792653c42d1f126505ec9180255091d94e:

  media: vim2m-audio: add virtual driver for audio memory to memory (2024-03-19 15:55:38 +0100)

----------------------------------------------------------------
Tag branch

----------------------------------------------------------------
Hans Verkuil (1):
      media: v4l2-ctrls: add support for fraction_bits

Shengjiu Wang (15):
      ASoC: fsl_asrc: define functions for memory to memory usage
      ASoC: fsl_easrc: define functions for memory to memory usage
      ASoC: fsl_asrc: move fsl_asrc_common.h to include/sound
      ASoC: fsl_asrc: register m2m platform device
      ASoC: fsl_easrc: register m2m platform device
      media: uapi: Add V4L2_CAP_AUDIO_M2M capability flag
      media: v4l2: Add audio capture and output support
      media: uapi: Define audio sample format fourcc type
      media: uapi: Add V4L2_CTRL_CLASS_M2M_AUDIO
      media: uapi: Add audio rate controls support
      media: uapi: Declare interface types for Audio
      media: uapi: Add an entity type for audio resampler
      media: vivid: add fixed point test controls
      media: imx-asrc: Add memory to memory driver
      media: vim2m-audio: add virtual driver for audio memory to memory

 Documentation/userspace-api/media/mediactl/media-types.rst    |   11 +
 Documentation/userspace-api/media/v4l/buffer.rst              |    6 +
 Documentation/userspace-api/media/v4l/common.rst              |    1 +
 Documentation/userspace-api/media/v4l/dev-audio-mem2mem.rst   |   71 +++
 Documentation/userspace-api/media/v4l/devices.rst             |    1 +
 Documentation/userspace-api/media/v4l/ext-ctrls-audio-m2m.rst |   59 +++
 Documentation/userspace-api/media/v4l/pixfmt-audio.rst        |  100 ++++
 Documentation/userspace-api/media/v4l/pixfmt.rst              |    1 +
 Documentation/userspace-api/media/v4l/vidioc-enum-fmt.rst     |    2 +
 Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst  |    4 +
 Documentation/userspace-api/media/v4l/vidioc-g-fmt.rst        |    4 +
 Documentation/userspace-api/media/v4l/vidioc-querycap.rst     |    3 +
 Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst    |   11 +-
 Documentation/userspace-api/media/videodev2.h.rst.exceptions  |    3 +
 MAINTAINERS                                                   |   17 +
 drivers/media/common/videobuf2/videobuf2-v4l2.c               |    4 +
 drivers/media/platform/nxp/Kconfig                            |   13 +
 drivers/media/platform/nxp/Makefile                           |    1 +
 drivers/media/platform/nxp/imx-asrc.c                         | 1256 +++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/media/test-drivers/Kconfig                            |   10 +
 drivers/media/test-drivers/Makefile                           |    1 +
 drivers/media/test-drivers/vim2m-audio.c                      |  793 ++++++++++++++++++++++++++++++++
 drivers/media/test-drivers/vivid/vivid-core.h                 |    2 +
 drivers/media/test-drivers/vivid/vivid-ctrls.c                |   26 ++
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c                 |    9 +
 drivers/media/v4l2-core/v4l2-ctrls-api.c                      |    1 +
 drivers/media/v4l2-core/v4l2-ctrls-core.c                     |   93 +++-
 drivers/media/v4l2-core/v4l2-ctrls-defs.c                     |   10 +
 drivers/media/v4l2-core/v4l2-dev.c                            |   21 +
 drivers/media/v4l2-core/v4l2-ioctl.c                          |   66 +++
 drivers/media/v4l2-core/v4l2-mem2mem.c                        |   13 +-
 include/media/v4l2-ctrls.h                                    |   13 +-
 include/media/v4l2-dev.h                                      |    2 +
 include/media/v4l2-ioctl.h                                    |   34 ++
 {sound/soc/fsl => include/sound}/fsl_asrc_common.h            |   60 +++
 include/uapi/linux/media.h                                    |    2 +
 include/uapi/linux/v4l2-controls.h                            |    9 +
 include/uapi/linux/videodev2.h                                |   50 +-
 sound/soc/fsl/fsl_asrc.c                                      |  144 ++++++
 sound/soc/fsl/fsl_asrc.h                                      |    4 +-
 sound/soc/fsl/fsl_asrc_dma.c                                  |    2 +-
 sound/soc/fsl/fsl_easrc.c                                     |  233 ++++++++++
 sound/soc/fsl/fsl_easrc.h                                     |    6 +-
 43 files changed, 3145 insertions(+), 27 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/dev-audio-mem2mem.rst
 create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-audio-m2m.rst
 create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-audio.rst
 create mode 100644 drivers/media/platform/nxp/imx-asrc.c
 create mode 100644 drivers/media/test-drivers/vim2m-audio.c
 rename {sound/soc/fsl => include/sound}/fsl_asrc_common.h (60%)




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux