| /kernel/linux/linux-6.6/Documentation/driver-api/media/ |
| D | v4l2-subdev.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 V4L2 sub-devices 4 ---------------- 6 Many drivers need to communicate with sub-devices. These devices can do all 8 encoding or decoding. For webcams common sub-devices are sensors and camera 12 driver with a consistent interface to these sub-devices the 13 :c:type:`v4l2_subdev` struct (v4l2-subdev.h) was created. 15 Each sub-device driver must have a :c:type:`v4l2_subdev` struct. This struct 16 can be stand-alone for simple sub-devices or it might be embedded in a larger 18 low-level device struct (e.g. ``i2c_client``) that contains the device data as [all …]
|
| /kernel/linux/linux-6.6/include/media/ |
| D | v4l2-flash-led-class.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * V4L2 flash LED sub-device registration helpers. 12 #include <media/v4l2-ctrls.h> 13 #include <media/v4l2-subdev.h> 21 * struct v4l2_flash_ctrl_data - flash control initialization data, filled 34 * struct v4l2_flash_ops - V4L2 flash operations 38 * @intensity_to_led_brightness: Convert intensity to brightness in a device 40 * @led_brightness_to_intensity: convert brightness to intensity in a device 53 * struct v4l2_flash_config - V4L2 Flash sub-device initialization data 56 * @intensity: non-flash strobe constraints for the LED [all …]
|
| D | v4l2-async.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2012-2013, Guennadi Liakhovetski <g.liakhovetski@gmx.de> 15 struct device; 22 * enum v4l2_async_match_type - type of asynchronous subdevice logic to be used 29 * algorithm that will be used to match an asynchronous device. 37 * struct v4l2_async_match_desc - async connection match information 65 * struct v4l2_async_connection - sub-device connection descriptor, as known to 68 * @match: struct of match type and per-bus type matching data sets 73 * @sd: the related sub-device 88 * struct v4l2_async_notifier_operations - Asynchronous V4L2 notifier operations [all …]
|
| /kernel/linux/linux-5.10/include/media/ |
| D | v4l2-flash-led-class.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * V4L2 flash LED sub-device registration helpers. 12 #include <media/v4l2-ctrls.h> 13 #include <media/v4l2-subdev.h> 21 * struct v4l2_flash_ctrl_data - flash control initialization data, filled 34 * struct v4l2_flash_ops - V4L2 flash operations 38 * @intensity_to_led_brightness: Convert intensity to brightness in a device 40 * @led_brightness_to_intensity: convert brightness to intensity in a device 53 * struct v4l2_flash_config - V4L2 Flash sub-device initialization data 56 * @intensity: non-flash strobe constraints for the LED [all …]
|
| D | v4l2-async.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2012-2013, Guennadi Liakhovetski <g.liakhovetski@gmx.de> 14 struct device; 21 * enum v4l2_async_match_type - type of asynchronous subdevice logic to be used 26 * @V4L2_ASYNC_MATCH_DEVNAME: Match will use the device name 30 * This enum is used by the asyncrhronous sub-device logic to define the 31 * algorithm that will be used to match an asynchronous device. 41 * struct v4l2_async_subdev - sub-device descriptor, as known to a bridge 44 * @match: union of per-bus type matching data sets 49 * string containing the device name to be matched. [all …]
|
| /kernel/linux/linux-6.6/sound/usb/hiface/ |
| D | pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2012-2013 (C) M2TECH S.r.l and Amarula Solutions B.V. 53 bool panic; /* if set driver won't do anymore pcm on device */ 114 struct usb_device *device = rt->chip->dev; in hiface_pcm_set_rate() local 147 dev_err(&device->dev, "Unsupported rate %d\n", rate); in hiface_pcm_set_rate() 148 return -EINVAL; in hiface_pcm_set_rate() 159 ret = usb_control_msg_send(device, 0, in hiface_pcm_set_rate() 164 dev_err(&device->dev, "Error setting samplerate %d.\n", rate); in hiface_pcm_set_rate() 173 struct device *device = &rt->chip->dev->dev; in hiface_pcm_get_substream() local 175 if (alsa_sub->stream == SNDRV_PCM_STREAM_PLAYBACK) in hiface_pcm_get_substream() [all …]
|
| /kernel/linux/linux-5.10/sound/usb/hiface/ |
| D | pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2012-2013 (C) M2TECH S.r.l and Amarula Solutions B.V. 53 bool panic; /* if set driver won't do anymore pcm on device */ 114 struct usb_device *device = rt->chip->dev; in hiface_pcm_set_rate() local 147 dev_err(&device->dev, "Unsupported rate %d\n", rate); in hiface_pcm_set_rate() 148 return -EINVAL; in hiface_pcm_set_rate() 159 ret = usb_control_msg_send(device, 0, in hiface_pcm_set_rate() 164 dev_err(&device->dev, "Error setting samplerate %d.\n", rate); in hiface_pcm_set_rate() 173 struct device *device = &rt->chip->dev->dev; in hiface_pcm_get_substream() local 175 if (alsa_sub->stream == SNDRV_PCM_STREAM_PLAYBACK) in hiface_pcm_get_substream() [all …]
|
| /kernel/linux/linux-5.10/Documentation/driver-api/media/ |
| D | v4l2-subdev.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 V4L2 sub-devices 4 ---------------- 6 Many drivers need to communicate with sub-devices. These devices can do all 8 encoding or decoding. For webcams common sub-devices are sensors and camera 12 driver with a consistent interface to these sub-devices the 13 :c:type:`v4l2_subdev` struct (v4l2-subdev.h) was created. 15 Each sub-device driver must have a :c:type:`v4l2_subdev` struct. This struct 16 can be stand-alone for simple sub-devices or it might be embedded in a larger 18 low-level device struct (e.g. ``i2c_client``) that contains the device data as [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/bt8xx/ |
| D | bttv-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 bttv-gpio.c -- gpio sub drivers 6 sysfs-based sub driver interface for bttv 10 Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de) 11 & Marcus Metzler (mocm@thp.uni-koeln.de) 12 (c) 1999-2003 Gerd Knorr <kraxel@bytesex.org> 22 #include <linux/device.h> 28 /* ----------------------------------------------------------------------- */ 31 static int bttv_sub_bus_match(struct device *dev, struct device_driver *drv) in bttv_sub_bus_match() 33 struct bttv_sub_driver *sub = to_bttv_sub_drv(drv); in bttv_sub_bus_match() local [all …]
|
| /kernel/linux/linux-6.6/drivers/media/pci/bt8xx/ |
| D | bttv-gpio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 bttv-gpio.c -- gpio sub drivers 6 sysfs-based sub driver interface for bttv 10 Copyright (C) 1996,97,98 Ralph Metzler (rjkm@thp.uni-koeln.de) 11 & Marcus Metzler (mocm@thp.uni-koeln.de) 12 (c) 1999-2003 Gerd Knorr <kraxel@bytesex.org> 22 #include <linux/device.h> 28 /* ----------------------------------------------------------------------- */ 31 static int bttv_sub_bus_match(struct device *dev, struct device_driver *drv) in bttv_sub_bus_match() 33 struct bttv_sub_driver *sub = to_bttv_sub_drv(drv); in bttv_sub_bus_match() local [all …]
|
| /kernel/linux/linux-6.6/Documentation/userspace-api/media/v4l/ |
| D | dev-subdev.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 6 Sub-device Interface 13 components as software blocks called sub-devices. 15 V4L2 sub-devices are usually kernel-only objects. If the V4L2 driver 16 implements the media device API, they will automatically inherit from 17 media entities. Applications will be able to enumerate the sub-devices 21 In addition to make sub-devices discoverable, drivers can also choose to 23 sub-device driver and the V4L2 device driver support this, sub-devices 24 will feature a character device node on which ioctls can be called to 26 - query, read and write sub-devices controls [all …]
|
| D | vidioc-subdev-querycap.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 VIDIOC_SUBDEV_QUERYCAP - Query sub-device capabilities 34 All V4L2 sub-devices support the ``VIDIOC_SUBDEV_QUERYCAP`` ioctl. It is used to 45 .. flat-table:: struct v4l2_subdev_capability 46 :header-rows: 0 47 :stub-columns: 0 50 * - __u32 51 - ``version`` 52 - Version number of the driver. 57 distribution-modified kernel uses the V4L2 stack from a newer kernel. [all …]
|
| /kernel/linux/linux-5.10/sound/soc/uniphier/ |
| D | aio-dma.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2016-2018 Socionext Inc. 7 #include <linux/dma-mapping.h> 28 static void aiodma_pcm_irq(struct uniphier_aio_sub *sub) in aiodma_pcm_irq() argument 30 struct snd_pcm_runtime *runtime = sub->substream->runtime; in aiodma_pcm_irq() 31 int bytes = runtime->period_size * in aiodma_pcm_irq() 32 runtime->channels * samples_to_bytes(runtime, 1); in aiodma_pcm_irq() 35 spin_lock(&sub->lock); in aiodma_pcm_irq() 36 ret = aiodma_rb_set_threshold(sub, runtime->dma_bytes, in aiodma_pcm_irq() 37 sub->threshold + bytes); in aiodma_pcm_irq() [all …]
|
| D | aio-cpu.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2016-2018 Socionext Inc. 25 struct device *dev = &chip->pdev->dev; in is_valid_pll() 27 if (pll_id < 0 || chip->num_plls <= pll_id) { in is_valid_pll() 32 return chip->plls[pll_id].enable; in is_valid_pll() 36 * find_volume - find volume supported HW port by HW port number 40 * Find AIO device from device list by HW port number. Volume feature is 51 for (i = 0; i < chip->num_aios; i++) { in find_volume() 52 struct uniphier_aio_sub *sub = &chip->aios[i].sub[0]; in find_volume() local 54 if (!sub->swm) in find_volume() [all …]
|
| D | aio-compress.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2017-2018 Socionext Inc. 9 #include <linux/dma-mapping.h> 26 struct snd_compr *compr = rtd->compr; in uniphier_aio_comprdma_new() 27 struct device *dev = compr->card->dev; in uniphier_aio_comprdma_new() 29 struct uniphier_aio_sub *sub = &aio->sub[compr->direction]; in uniphier_aio_comprdma_new() local 37 sub->compr_area = kzalloc(size, GFP_KERNEL); in uniphier_aio_comprdma_new() 38 if (!sub->compr_area) in uniphier_aio_comprdma_new() 39 return -ENOMEM; in uniphier_aio_comprdma_new() 41 if (sub->swm->dir == PORT_DIR_OUTPUT) in uniphier_aio_comprdma_new() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/uniphier/ |
| D | aio-dma.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2016-2018 Socionext Inc. 7 #include <linux/dma-mapping.h> 28 static void aiodma_pcm_irq(struct uniphier_aio_sub *sub) in aiodma_pcm_irq() argument 30 struct snd_pcm_runtime *runtime = sub->substream->runtime; in aiodma_pcm_irq() 31 int bytes = runtime->period_size * in aiodma_pcm_irq() 32 runtime->channels * samples_to_bytes(runtime, 1); in aiodma_pcm_irq() 35 spin_lock(&sub->lock); in aiodma_pcm_irq() 36 ret = aiodma_rb_set_threshold(sub, runtime->dma_bytes, in aiodma_pcm_irq() 37 sub->threshold + bytes); in aiodma_pcm_irq() [all …]
|
| D | aio-cpu.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2016-2018 Socionext Inc. 25 struct device *dev = &chip->pdev->dev; in is_valid_pll() 27 if (pll_id < 0 || chip->num_plls <= pll_id) { in is_valid_pll() 32 return chip->plls[pll_id].enable; in is_valid_pll() 36 * find_volume - find volume supported HW port by HW port number 40 * Find AIO device from device list by HW port number. Volume feature is 51 for (i = 0; i < chip->num_aios; i++) { in find_volume() 52 struct uniphier_aio_sub *sub = &chip->aios[i].sub[0]; in find_volume() local 54 if (!sub->swm) in find_volume() [all …]
|
| D | aio-compress.c | 1 // SPDX-License-Identifier: GPL-2.0 5 // Copyright (c) 2017-2018 Socionext Inc. 9 #include <linux/dma-mapping.h> 26 struct snd_compr *compr = rtd->compr; in uniphier_aio_comprdma_new() 27 struct device *dev = compr->card->dev; in uniphier_aio_comprdma_new() 29 struct uniphier_aio_sub *sub = &aio->sub[compr->direction]; in uniphier_aio_comprdma_new() local 37 sub->compr_area = kzalloc(size, GFP_KERNEL); in uniphier_aio_comprdma_new() 38 if (!sub->compr_area) in uniphier_aio_comprdma_new() 39 return -ENOMEM; in uniphier_aio_comprdma_new() 41 if (sub->swm->dir == PORT_DIR_OUTPUT) in uniphier_aio_comprdma_new() [all …]
|
| /kernel/linux/linux-5.10/Documentation/userspace-api/media/v4l/ |
| D | dev-subdev.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 6 Sub-device Interface 13 components as software blocks called sub-devices. 15 V4L2 sub-devices are usually kernel-only objects. If the V4L2 driver 16 implements the media device API, they will automatically inherit from 17 media entities. Applications will be able to enumerate the sub-devices 21 In addition to make sub-devices discoverable, drivers can also choose to 23 sub-device driver and the V4L2 device driver support this, sub-devices 24 will feature a character device node on which ioctls can be called to 26 - query, read and write sub-devices controls [all …]
|
| D | vidioc-subdev-querycap.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 VIDIOC_SUBDEV_QUERYCAP - Query sub-device capabilities 34 All V4L2 sub-devices support the ``VIDIOC_SUBDEV_QUERYCAP`` ioctl. It is used to 45 .. flat-table:: struct v4l2_subdev_capability 46 :header-rows: 0 47 :stub-columns: 0 50 * - __u32 51 - ``version`` 52 - Version number of the driver. 57 distribution-modified kernel uses the V4L2 stack from a newer kernel. [all …]
|
| /kernel/linux/linux-6.6/sound/usb/caiaq/ |
| D | audio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2006-2008 Daniel Mack, Karsten Wiese 6 #include <linux/device.h> 14 #include "device.h" 31 (stream << 1) | (~(i / (cdev->n_streams * BYTES_PER_SAMPLE_USB)) & 1) 52 struct snd_pcm_substream *sub) in activate_substream() argument 54 spin_lock(&cdev->spinlock); in activate_substream() 56 if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) in activate_substream() 57 cdev->sub_playback[sub->number] = sub; in activate_substream() 59 cdev->sub_capture[sub->number] = sub; in activate_substream() [all …]
|
| /kernel/linux/linux-5.10/sound/usb/caiaq/ |
| D | audio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2006-2008 Daniel Mack, Karsten Wiese 6 #include <linux/device.h> 14 #include "device.h" 31 (stream << 1) | (~(i / (cdev->n_streams * BYTES_PER_SAMPLE_USB)) & 1) 52 struct snd_pcm_substream *sub) in activate_substream() argument 54 spin_lock(&cdev->spinlock); in activate_substream() 56 if (sub->stream == SNDRV_PCM_STREAM_PLAYBACK) in activate_substream() 57 cdev->sub_playback[sub->number] = sub; in activate_substream() 59 cdev->sub_capture[sub->number] = sub; in activate_substream() [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/media/ |
| D | qcom_camss.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 ------------ 25 ---------------------------------- 30 - 2 / 3 CSIPHY modules. They handle the Physical layer of the CSI2 receivers. 32 - 2 / 4 CSID (CSI Decoder) modules. They handle the Protocol and Application 36 - ISPIF (ISP Interface) module. Handles the routing of the data streams from 38 - 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing 48 ----------------------- 52 - Input from camera sensor via CSIPHY; 53 - Generation of test input data by the TG in CSID; [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | qcom_camss.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 ------------ 25 ---------------------------------- 30 - 2 / 3 CSIPHY modules. They handle the Physical layer of the CSI2 receivers. 32 - 2 / 4 CSID (CSI Decoder) modules. They handle the Protocol and Application 36 - ISPIF (ISP Interface) module. Handles the routing of the data streams from 38 - 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing 48 ----------------------- 52 - Input from camera sensor via CSIPHY; 53 - Generation of test input data by the TG in CSID; [all …]
|
| /kernel/linux/linux-5.10/include/media/davinci/ |
| D | vpfe_capture.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (C) 2008-2009 Texas Instruments Inc 12 #include <media/v4l2-dev.h> 16 #include <media/v4l2-fh.h> 17 #include <media/v4l2-ioctl.h> 18 #include <media/v4l2-device.h> 19 #include <media/videobuf-dma-contig.h> 32 #define CAPTURE_DRV_NAME "vpfe-capture" 53 /* Sub device name */ 55 /* Sub device group id */ [all …]
|