| /Linux-v5.4/drivers/staging/media/imx/ |
| D | imx-media-dev.c | 25 struct imx_media_dev *imxmd = notifier2dev(notifier); in imx_media_subdev_bound() local 30 ret = imx_media_register_ipu_internal_subdevs(imxmd, sd); in imx_media_subdev_bound() 35 v4l2_info(&imxmd->v4l2_dev, "subdev %s bound\n", sd->name); in imx_media_subdev_bound() 43 struct imx_media_dev *imxmd = notifier2dev(notifier); in imx6_media_probe_complete() local 51 mutex_lock(&imxmd->mutex); in imx6_media_probe_complete() 53 imxmd->m2m_vdev = imx_media_csc_scaler_device_init(imxmd); in imx6_media_probe_complete() 54 if (IS_ERR(imxmd->m2m_vdev)) { in imx6_media_probe_complete() 55 ret = PTR_ERR(imxmd->m2m_vdev); in imx6_media_probe_complete() 59 ret = imx_media_csc_scaler_device_register(imxmd->m2m_vdev); in imx6_media_probe_complete() 61 mutex_unlock(&imxmd->mutex); in imx6_media_probe_complete() [all …]
|
| D | imx-media-dev-common.c | 38 struct imx_media_dev *imxmd = notifier2dev(notifier); in imx_media_create_links() local 41 list_for_each_entry(sd, &imxmd->v4l2_dev.subdevs, list) { in imx_media_create_links() 55 imx_media_create_csi_of_links(imxmd, sd); in imx_media_create_links() 62 imx_media_create_of_links(imxmd, sd); in imx_media_create_links() 74 static int imx_media_add_vdev_to_pad(struct imx_media_dev *imxmd, in imx_media_add_vdev_to_pad() argument 93 v4l2_warn(&imxmd->v4l2_dev, "%s:%u has no vdev list!\n", in imx_media_add_vdev_to_pad() 108 dev_dbg(imxmd->md.dev, "adding %s to pad %s:%u\n", in imx_media_add_vdev_to_pad() 111 pad_vdev = devm_kzalloc(imxmd->md.dev, sizeof(*pad_vdev), GFP_KERNEL); in imx_media_add_vdev_to_pad() 129 ret = imx_media_add_vdev_to_pad(imxmd, vdev, in imx_media_add_vdev_to_pad() 144 static int imx_media_alloc_pad_vdev_lists(struct imx_media_dev *imxmd) in imx_media_alloc_pad_vdev_lists() argument [all …]
|
| D | imx-media-internal-sd.c | 133 static int create_internal_link(struct imx_media_dev *imxmd, in create_internal_link() argument 145 v4l2_info(&imxmd->v4l2_dev, "%s:%d -> %s:%d\n", in create_internal_link() 152 v4l2_err(&imxmd->v4l2_dev, "%s failed: %d\n", __func__, ret); in create_internal_link() 157 static int create_ipu_internal_links(struct imx_media_dev *imxmd, in create_ipu_internal_links() argument 179 sink = imxmd->sync_sd[ipu_id][link->remote]; in create_ipu_internal_links() 181 ret = create_internal_link(imxmd, sd, sink, link); in create_ipu_internal_links() 190 int imx_media_register_ipu_internal_subdevs(struct imx_media_dev *imxmd, in imx_media_register_ipu_internal_subdevs() argument 201 v4l2_err(&imxmd->v4l2_dev, "invalid IPU device!\n"); in imx_media_register_ipu_internal_subdevs() 207 v4l2_err(&imxmd->v4l2_dev, "invalid IPU id %d!\n", ipu_id); in imx_media_register_ipu_internal_subdevs() 211 mutex_lock(&imxmd->mutex); in imx_media_register_ipu_internal_subdevs() [all …]
|
| D | imx-media-of.c | 19 int imx_media_of_add_csi(struct imx_media_dev *imxmd, in imx_media_of_add_csi() argument 26 dev_dbg(imxmd->md.dev, "%s: %pOFn not enabled\n", __func__, in imx_media_of_add_csi() 32 asd = v4l2_async_notifier_add_fwnode_subdev(&imxmd->notifier, in imx_media_of_add_csi() 38 dev_dbg(imxmd->md.dev, "%s: already added %pOFn\n", in imx_media_of_add_csi() 46 int imx_media_add_of_subdevs(struct imx_media_dev *imxmd, in imx_media_add_of_subdevs() argument 57 ret = imx_media_of_add_csi(imxmd, csi_np); in imx_media_add_of_subdevs() 85 static int create_of_link(struct imx_media_dev *imxmd, in create_of_link() argument 95 remote = imx_media_find_subdev_by_fwnode(imxmd, link->remote_node); in create_of_link() 126 int imx_media_create_of_links(struct imx_media_dev *imxmd, in imx_media_create_of_links() argument 138 ret = create_of_link(imxmd, sd, &link); in imx_media_create_of_links() [all …]
|
| D | imx-media.h | 187 imx_media_find_subdev_by_fwnode(struct imx_media_dev *imxmd, 190 imx_media_find_subdev_by_devname(struct imx_media_dev *imxmd, 192 void imx_media_add_video_device(struct imx_media_dev *imxmd, 217 int imx_media_pipeline_set_stream(struct imx_media_dev *imxmd, 225 int imx_media_dev_notifier_register(struct imx_media_dev *imxmd, 239 int imx_media_register_ipu_internal_subdevs(struct imx_media_dev *imxmd, 241 void imx_media_unregister_ipu_internal_subdevs(struct imx_media_dev *imxmd); 246 int imx_media_create_of_links(struct imx_media_dev *imxmd, 248 int imx_media_create_csi_of_links(struct imx_media_dev *imxmd, 250 int imx_media_of_add_csi(struct imx_media_dev *imxmd,
|
| D | imx7-media-csi.c | 159 struct imx_media_dev *imxmd; member 1190 struct imx_media_dev *imxmd; in imx7_csi_probe() local 1227 imxmd = imx_media_dev_init(dev, NULL); in imx7_csi_probe() 1228 if (IS_ERR(imxmd)) { in imx7_csi_probe() 1229 ret = PTR_ERR(imxmd); in imx7_csi_probe() 1234 ret = imx_media_of_add_csi(imxmd, node); in imx7_csi_probe() 1238 ret = imx_media_dev_notifier_register(imxmd, NULL); in imx7_csi_probe() 1242 csi->imxmd = imxmd; in imx7_csi_probe() 1277 v4l2_async_notifier_cleanup(&imxmd->notifier); in imx7_csi_probe() 1278 v4l2_device_unregister(&imxmd->v4l2_dev); in imx7_csi_probe() [all …]
|
| D | imx-media-utils.c | 725 imx_media_find_subdev_by_fwnode(struct imx_media_dev *imxmd, in imx_media_find_subdev_by_fwnode() argument 730 list_for_each_entry(sd, &imxmd->v4l2_dev.subdevs, list) { in imx_media_find_subdev_by_fwnode() 740 imx_media_find_subdev_by_devname(struct imx_media_dev *imxmd, in imx_media_find_subdev_by_devname() argument 745 list_for_each_entry(sd, &imxmd->v4l2_dev.subdevs, list) { in imx_media_find_subdev_by_devname() 758 void imx_media_add_video_device(struct imx_media_dev *imxmd, in imx_media_add_video_device() argument 761 mutex_lock(&imxmd->mutex); in imx_media_add_video_device() 763 list_add_tail(&vdev->list, &imxmd->vdev_list); in imx_media_add_video_device() 765 mutex_unlock(&imxmd->mutex); in imx_media_add_video_device() 914 int imx_media_pipeline_set_stream(struct imx_media_dev *imxmd, in imx_media_pipeline_set_stream() argument 925 mutex_lock(&imxmd->md.graph_mutex); in imx_media_pipeline_set_stream() [all …]
|