Home
last modified time | relevance | path

Searched refs:imxmd (Results 1 – 7 of 7) sorted by relevance

/Linux-v5.4/drivers/staging/media/imx/
Dimx-media-dev.c25 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 …]
Dimx-media-dev-common.c38 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 …]
Dimx-media-internal-sd.c133 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 …]
Dimx-media-of.c19 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 …]
Dimx-media.h187 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,
Dimx7-media-csi.c159 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 …]
Dimx-media-utils.c725 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 …]