Lines Matching refs:hva

16 #include "hva.h"
17 #include "hva-hw.h"
124 struct hva_dev *hva = ctx_to_hdev(ctx);
128 for (i = 0; i < hva->nb_of_encoders; i++) {
129 enc = hva->encoders[i];
154 static void register_formats(struct hva_dev *hva)
158 for (i = 0; i < hva->nb_of_encoders; i++) {
159 register_format(hva->encoders[i]->pixelformat,
160 hva->pixelformats,
161 &hva->nb_of_pixelformats);
163 register_format(hva->encoders[i]->streamformat,
164 hva->streamformats,
165 &hva->nb_of_streamformats);
169 static void register_encoders(struct hva_dev *hva)
171 struct device *dev = hva_to_dev(hva);
175 if (hva->nb_of_encoders >= HVA_MAX_ENCODERS) {
183 hva->encoders[hva->nb_of_encoders++] = hva_encoders[i];
192 struct hva_dev *hva = ctx_to_hdev(ctx);
211 hva->instance_id, (char *)&streamformat);
258 struct hva_dev *hva = ctx_to_hdev(ctx);
261 strscpy(cap->card, hva->vdev->name, sizeof(cap->card));
263 hva->pdev->name);
272 struct hva_dev *hva = ctx_to_hdev(ctx);
274 if (unlikely(f->index >= hva->nb_of_streamformats))
277 f->pixelformat = hva->streamformats[f->index];
286 struct hva_dev *hva = ctx_to_hdev(ctx);
288 if (unlikely(f->index >= hva->nb_of_pixelformats))
291 f->pixelformat = hva->pixelformats[f->index];
565 * payload field of the hva stream buffer
855 struct hva_dev *hva = ctx_to_hdev(ctx);
857 queue_work(hva->work_queue, &ctx->run_work);
994 struct hva_dev *hva = ctx_to_hdev(ctx);
1015 if (!hva->instances[i]) {
1016 hva->instances[i] = ctx;
1030 hva->nb_of_instances++;
1044 hva->instances[ctx->id] = NULL;
1045 hva->nb_of_instances--;
1065 struct hva_dev *hva = ctx_to_hdev(ctx);
1103 hva->instances[ctx->id] = NULL;
1104 hva->nb_of_instances--;
1162 struct hva_dev *hva = video_drvdata(file);
1163 struct device *dev = hva_to_dev(hva);
1172 ctx->hva_dev = hva;
1190 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(hva->m2m_dev, ctx,
1201 mutex_lock(&hva->lock);
1202 hva->instance_id++;
1204 hva->instance_id);
1205 mutex_unlock(&hva->lock);
1231 struct hva_dev *hva = ctx_to_hdev(ctx);
1241 hva->instances[ctx->id] = NULL;
1242 hva->nb_of_instances--;
1280 static int hva_register_device(struct hva_dev *hva)
1286 if (!hva)
1288 dev = hva_to_dev(hva);
1290 hva->m2m_dev = v4l2_m2m_init(&hva_m2m_ops);
1291 if (IS_ERR(hva->m2m_dev)) {
1294 ret = PTR_ERR(hva->m2m_dev);
1309 vdev->lock = &hva->lock;
1312 vdev->v4l2_dev = &hva->v4l2_dev;
1314 hva->ip_version);
1323 hva->vdev = vdev;
1324 video_set_drvdata(vdev, hva);
1330 v4l2_m2m_release(hva->m2m_dev);
1335 static void hva_unregister_device(struct hva_dev *hva)
1337 if (!hva)
1340 if (hva->m2m_dev)
1341 v4l2_m2m_release(hva->m2m_dev);
1343 video_unregister_device(hva->vdev);
1348 struct hva_dev *hva;
1352 hva = devm_kzalloc(dev, sizeof(*hva), GFP_KERNEL);
1353 if (!hva) {
1362 hva->dev = dev;
1363 hva->pdev = pdev;
1364 platform_set_drvdata(pdev, hva);
1366 mutex_init(&hva->lock);
1369 ret = hva_hw_probe(pdev, hva);
1374 register_encoders(hva);
1377 register_formats(hva);
1380 ret = v4l2_device_register(dev, &hva->v4l2_dev);
1388 hva_debugfs_create(hva);
1391 hva->work_queue = create_workqueue(HVA_NAME);
1392 if (!hva->work_queue) {
1400 ret = hva_register_device(hva);
1405 HVA_NAME, hva->vdev->num);
1410 destroy_workqueue(hva->work_queue);
1413 hva_debugfs_remove(hva);
1415 v4l2_device_unregister(&hva->v4l2_dev);
1417 hva_hw_remove(hva);
1424 struct hva_dev *hva = platform_get_drvdata(pdev);
1425 struct device *dev = hva_to_dev(hva);
1427 hva_unregister_device(hva);
1429 destroy_workqueue(hva->work_queue);
1431 hva_hw_remove(hva);
1434 hva_debugfs_remove(hva);
1437 v4l2_device_unregister(&hva->v4l2_dev);
1450 .compatible = "st,st-hva",