Lines Matching refs:hva
124 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_find_encoder() local
128 for (i = 0; i < hva->nb_of_encoders; i++) { in hva_find_encoder()
129 enc = hva->encoders[i]; in hva_find_encoder()
154 static void register_formats(struct hva_dev *hva) in register_formats() argument
158 for (i = 0; i < hva->nb_of_encoders; i++) { in register_formats()
159 register_format(hva->encoders[i]->pixelformat, in register_formats()
160 hva->pixelformats, in register_formats()
161 &hva->nb_of_pixelformats); in register_formats()
163 register_format(hva->encoders[i]->streamformat, in register_formats()
164 hva->streamformats, in register_formats()
165 &hva->nb_of_streamformats); in register_formats()
169 static void register_encoders(struct hva_dev *hva) in register_encoders() argument
171 struct device *dev = hva_to_dev(hva); in register_encoders()
175 if (hva->nb_of_encoders >= HVA_MAX_ENCODERS) { in register_encoders()
183 hva->encoders[hva->nb_of_encoders++] = hva_encoders[i]; in register_encoders()
192 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_open_encoder() local
211 hva->instance_id, (char *)&streamformat); in hva_open_encoder()
258 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_querycap() local
261 strscpy(cap->card, hva->vdev->name, sizeof(cap->card)); in hva_querycap()
263 hva->pdev->name); in hva_querycap()
272 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_enum_fmt_stream() local
274 if (unlikely(f->index >= hva->nb_of_streamformats)) in hva_enum_fmt_stream()
277 f->pixelformat = hva->streamformats[f->index]; in hva_enum_fmt_stream()
286 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_enum_fmt_frame() local
288 if (unlikely(f->index >= hva->nb_of_pixelformats)) in hva_enum_fmt_frame()
291 f->pixelformat = hva->pixelformats[f->index]; in hva_enum_fmt_frame()
858 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_device_run() local
860 queue_work(hva->work_queue, &ctx->run_work); in hva_device_run()
997 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_start_streaming() local
1018 if (!hva->instances[i]) { in hva_start_streaming()
1019 hva->instances[i] = ctx; in hva_start_streaming()
1033 hva->nb_of_instances++; in hva_start_streaming()
1047 hva->instances[ctx->id] = NULL; in hva_start_streaming()
1048 hva->nb_of_instances--; in hva_start_streaming()
1068 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_stop_streaming() local
1106 hva->instances[ctx->id] = NULL; in hva_stop_streaming()
1107 hva->nb_of_instances--; in hva_stop_streaming()
1165 struct hva_dev *hva = video_drvdata(file); in hva_open() local
1166 struct device *dev = hva_to_dev(hva); in hva_open()
1175 ctx->hva_dev = hva; in hva_open()
1193 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(hva->m2m_dev, ctx, in hva_open()
1204 mutex_lock(&hva->lock); in hva_open()
1205 hva->instance_id++; in hva_open()
1207 hva->instance_id); in hva_open()
1208 mutex_unlock(&hva->lock); in hva_open()
1234 struct hva_dev *hva = ctx_to_hdev(ctx); in hva_release() local
1244 hva->instances[ctx->id] = NULL; in hva_release()
1245 hva->nb_of_instances--; in hva_release()
1283 static int hva_register_device(struct hva_dev *hva) in hva_register_device() argument
1289 if (!hva) in hva_register_device()
1291 dev = hva_to_dev(hva); in hva_register_device()
1293 hva->m2m_dev = v4l2_m2m_init(&hva_m2m_ops); in hva_register_device()
1294 if (IS_ERR(hva->m2m_dev)) { in hva_register_device()
1297 ret = PTR_ERR(hva->m2m_dev); in hva_register_device()
1312 vdev->lock = &hva->lock; in hva_register_device()
1315 vdev->v4l2_dev = &hva->v4l2_dev; in hva_register_device()
1317 hva->ip_version); in hva_register_device()
1326 hva->vdev = vdev; in hva_register_device()
1327 video_set_drvdata(vdev, hva); in hva_register_device()
1333 v4l2_m2m_release(hva->m2m_dev); in hva_register_device()
1338 static void hva_unregister_device(struct hva_dev *hva) in hva_unregister_device() argument
1340 if (!hva) in hva_unregister_device()
1343 if (hva->m2m_dev) in hva_unregister_device()
1344 v4l2_m2m_release(hva->m2m_dev); in hva_unregister_device()
1346 video_unregister_device(hva->vdev); in hva_unregister_device()
1351 struct hva_dev *hva; in hva_probe() local
1355 hva = devm_kzalloc(dev, sizeof(*hva), GFP_KERNEL); in hva_probe()
1356 if (!hva) { in hva_probe()
1365 hva->dev = dev; in hva_probe()
1366 hva->pdev = pdev; in hva_probe()
1367 platform_set_drvdata(pdev, hva); in hva_probe()
1369 mutex_init(&hva->lock); in hva_probe()
1372 ret = hva_hw_probe(pdev, hva); in hva_probe()
1377 register_encoders(hva); in hva_probe()
1380 register_formats(hva); in hva_probe()
1383 ret = v4l2_device_register(dev, &hva->v4l2_dev); in hva_probe()
1391 hva_debugfs_create(hva); in hva_probe()
1394 hva->work_queue = create_workqueue(HVA_NAME); in hva_probe()
1395 if (!hva->work_queue) { in hva_probe()
1403 ret = hva_register_device(hva); in hva_probe()
1408 HVA_NAME, hva->vdev->num); in hva_probe()
1413 destroy_workqueue(hva->work_queue); in hva_probe()
1416 hva_debugfs_remove(hva); in hva_probe()
1418 v4l2_device_unregister(&hva->v4l2_dev); in hva_probe()
1420 hva_hw_remove(hva); in hva_probe()
1427 struct hva_dev *hva = platform_get_drvdata(pdev); in hva_remove() local
1428 struct device *dev = hva_to_dev(hva); in hva_remove()
1430 hva_unregister_device(hva); in hva_remove()
1432 destroy_workqueue(hva->work_queue); in hva_remove()
1434 hva_hw_remove(hva); in hva_remove()
1437 hva_debugfs_remove(hva); in hva_remove()
1440 v4l2_device_unregister(&hva->v4l2_dev); in hva_remove()