Lines Matching refs:delta

19 #include "delta.h"
20 #include "delta-debug.h"
21 #include "delta-ipc.h"
23 #define DELTA_NAME "st-delta"
63 struct delta_dev *delta = ctx->dev;
68 dev_dbg(delta->dev, "%s dump au[%d] dts=%lld size=%d data=%*ph\n",
72 dev_dbg(delta->dev, "%s dump au[%d] dts=%lld size=%d data=%*ph..%*ph\n",
79 struct delta_dev *delta = ctx->dev;
83 dev_dbg(delta->dev, "%s dump frame[%d] dts=%lld type=%s field=%s data=%*ph\n",
179 struct delta_dev *delta = ctx->dev;
187 dev_warn(delta->dev, "%s no dts to pop ... output dts = 0\n",
282 struct delta_dev *delta = ctx->dev;
286 for (i = 0; i < delta->nb_of_decoders; i++) {
287 dec = delta->decoders[i];
308 static void register_formats(struct delta_dev *delta)
312 for (i = 0; i < delta->nb_of_decoders; i++) {
313 register_format(delta->decoders[i]->pixelformat,
314 delta->pixelformats,
315 &delta->nb_of_pixelformats);
317 register_format(delta->decoders[i]->streamformat,
318 delta->streamformats,
319 &delta->nb_of_streamformats);
323 static void register_decoders(struct delta_dev *delta)
328 if (delta->nb_of_decoders >= DELTA_MAX_DECODERS) {
329 dev_dbg(delta->dev,
336 delta->decoders[delta->nb_of_decoders++] = delta_decoders[i];
337 dev_info(delta->dev, "%s %s decoder registered\n",
345 struct delta_dev *delta = ctx->dev;
351 dev_err(delta->dev, "%s no decoder found matching %4.4s => %4.4s\n",
356 dev_dbg(delta->dev, "%s one decoder matching %4.4s => %4.4s\n",
361 delta->instance_id, (char *)&streamformat);
366 dev_err(delta->dev, "%s failed to open decoder instance (%d)\n",
371 dev_dbg(delta->dev, "%s %s decoder opened\n", ctx->name, dec->name);
386 struct delta_dev *delta = ctx->dev;
389 strscpy(cap->card, delta->vdev->name, sizeof(cap->card));
391 delta->pdev->name);
400 struct delta_dev *delta = ctx->dev;
402 if (unlikely(f->index >= delta->nb_of_streamformats))
405 f->pixelformat = delta->streamformats[f->index];
414 struct delta_dev *delta = ctx->dev;
416 if (unlikely(f->index >= delta->nb_of_pixelformats))
419 f->pixelformat = delta->pixelformats[f->index];
428 struct delta_dev *delta = ctx->dev;
434 dev_dbg(delta->dev,
456 struct delta_dev *delta = ctx->dev;
463 dev_dbg(delta->dev,
495 struct delta_dev *delta = ctx->dev;
504 dev_dbg(delta->dev,
524 dev_dbg(delta->dev,
531 dev_dbg(delta->dev,
549 struct delta_dev *delta = ctx->dev;
558 dev_dbg(delta->dev,
575 dev_dbg(delta->dev,
583 dev_dbg(delta->dev,
609 struct delta_dev *delta = ctx->dev;
616 dev_dbg(delta->dev,
624 dev_dbg(delta->dev, "%s V4L2 S_FMT (OUTPUT): queue busy\n",
645 struct delta_dev *delta = ctx->dev;
655 dev_dbg(delta->dev, "%s V4L2 S_FMT (CAPTURE): queue busy\n",
669 dev_dbg(delta->dev,
702 dev_dbg(delta->dev,
766 struct delta_dev *delta = ctx->dev;
787 dev_dbg(delta->dev, "%s EOS completed\n", ctx->name);
809 struct delta_dev *delta = ctx->dev;
813 dev_dbg(delta->dev, "%s EOS received\n", ctx->name);
830 dev_dbg(delta->dev, "%s drain frame[%d]\n",
861 dev_dbg(delta->dev, "%s EOS delayed\n", ctx->name);
925 struct delta_dev *delta = ctx->dev;
934 dev_err(delta->dev, "%s no decoder opened yet\n", ctx->name);
943 dev_err(delta->dev, "%s no buffer to decode\n", ctx->name);
976 dev_err(delta->dev, "%s decoding failed (%d)\n",
1002 dev_err(delta->dev, "%s cannot get decoded frame (%d)\n",
1007 dev_err(delta->dev,
1024 v4l2_m2m_job_finish(delta->m2m_dev, ctx->fh.m2m_ctx);
1031 v4l2_m2m_job_finish(delta->m2m_dev, ctx->fh.m2m_ctx);
1037 struct delta_dev *delta = ctx->dev;
1039 queue_work(delta->work_queue, &ctx->run_work);
1045 struct delta_dev *delta = ctx->dev;
1047 dev_dbg(delta->dev, "%s aborting job\n", ctx->name);
1055 struct delta_dev *delta = ctx->dev;
1059 dev_dbg(delta->dev, "%s not ready: not enough video buffers.\n",
1065 dev_dbg(delta->dev, "%s not ready: not enough video capture buffers.\n",
1071 dev_dbg(delta->dev, "%s job not ready: aborting\n", ctx->name);
1075 dev_dbg(delta->dev, "%s job ready\n", ctx->name);
1118 struct delta_dev *delta = ctx->dev;
1128 dev_dbg(delta->dev, "%s au[%d] prepared; virt=0x%p, phy=0x%pad\n",
1141 struct delta_dev *delta = ctx->dev;
1145 dev_err(delta->dev,
1152 dev_err(delta->dev,
1159 dev_warn(delta->dev,
1220 struct delta_dev *delta = ctx->dev;
1225 dev_info(delta->dev,
1230 dev_info(delta->dev,
1241 struct delta_dev *delta = ctx->dev;
1249 dev_err(delta->dev, "%s no frame available",
1257 dev_err(delta->dev,
1264 dev_dbg(delta->dev,
1273 struct delta_dev *delta = ctx->dev;
1277 ret = pm_runtime_resume_and_get(delta->dev);
1279 dev_err(delta->dev, "%s pm_runtime_resume_and_get failed (%d)\n",
1289 struct delta_dev *delta = ctx->dev;
1291 pm_runtime_put_autosuspend(delta->dev);
1307 struct delta_dev *delta = ctx->dev;
1339 dev_err(delta->dev, "%s failed to start streaming, no stream header buffer enqueued\n",
1356 dev_err(delta->dev, "%s failed to start streaming, header decoding failed (%d)\n",
1363 dev_dbg_ratelimited(delta->dev,
1377 dev_dbg(delta->dev, "%s %s => %s\n", ctx->name,
1420 struct delta_dev *delta = ctx->dev;
1432 dev_dbg(delta->dev,
1441 dev_dbg(delta->dev,
1464 struct delta_dev *delta = ctx->dev;
1477 dev_err(delta->dev,
1483 dev_dbg(delta->dev,
1587 struct delta_dev *delta = ctx->dev;
1600 q->lock = &delta->lock;
1601 q->dev = delta->dev;
1618 q->lock = &delta->lock;
1619 q->dev = delta->dev;
1626 struct delta_dev *delta = video_drvdata(file);
1630 mutex_lock(&delta->lock);
1637 ctx->dev = delta;
1646 ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(delta->m2m_dev, ctx,
1650 dev_err(delta->dev, "%s failed to initialize m2m context (%d)\n",
1664 delta->instance_id++;
1666 delta->instance_id);
1672 if (clk_prepare_enable(delta->clk_st231))
1673 dev_warn(delta->dev, "failed to enable st231 clk\n");
1676 if (clk_prepare_enable(delta->clk_flash_promip))
1677 dev_warn(delta->dev, "failed to enable delta promip clk\n");
1679 mutex_unlock(&delta->lock);
1681 dev_dbg(delta->dev, "%s decoder instance created\n", ctx->name);
1690 mutex_unlock(&delta->lock);
1698 struct delta_dev *delta = ctx->dev;
1701 mutex_lock(&delta->lock);
1718 clk_disable_unprepare(delta->clk_st231);
1721 clk_disable_unprepare(delta->clk_flash_promip);
1723 dev_dbg(delta->dev, "%s decoder instance released\n", ctx->name);
1727 mutex_unlock(&delta->lock);
1745 static int delta_register_device(struct delta_dev *delta)
1750 if (!delta)
1753 delta->m2m_dev = v4l2_m2m_init(&delta_m2m_ops);
1754 if (IS_ERR(delta->m2m_dev)) {
1755 dev_err(delta->dev, "%s failed to initialize v4l2-m2m device\n",
1757 ret = PTR_ERR(delta->m2m_dev);
1763 dev_err(delta->dev, "%s failed to allocate video device\n",
1772 vdev->lock = &delta->lock;
1775 vdev->v4l2_dev = &delta->v4l2_dev;
1781 dev_err(delta->dev, "%s failed to register video device\n",
1786 delta->vdev = vdev;
1787 video_set_drvdata(vdev, delta);
1793 v4l2_m2m_release(delta->m2m_dev);
1798 static void delta_unregister_device(struct delta_dev *delta)
1800 if (!delta)
1803 if (delta->m2m_dev)
1804 v4l2_m2m_release(delta->m2m_dev);
1806 video_unregister_device(delta->vdev);
1811 struct delta_dev *delta;
1815 delta = devm_kzalloc(dev, sizeof(*delta), GFP_KERNEL);
1816 if (!delta) {
1821 delta->dev = dev;
1822 delta->pdev = pdev;
1823 platform_set_drvdata(pdev, delta);
1825 mutex_init(&delta->lock);
1828 delta->clk_delta = devm_clk_get(dev, "delta");
1829 if (IS_ERR(delta->clk_delta)) {
1830 dev_dbg(dev, "%s can't get delta clock\n", DELTA_PREFIX);
1831 delta->clk_delta = NULL;
1834 delta->clk_st231 = devm_clk_get(dev, "delta-st231");
1835 if (IS_ERR(delta->clk_st231)) {
1836 dev_dbg(dev, "%s can't get delta-st231 clock\n", DELTA_PREFIX);
1837 delta->clk_st231 = NULL;
1840 delta->clk_flash_promip = devm_clk_get(dev, "delta-flash-promip");
1841 if (IS_ERR(delta->clk_flash_promip)) {
1842 dev_dbg(dev, "%s can't get delta-flash-promip clock\n",
1844 delta->clk_flash_promip = NULL;
1854 ret = delta_ipc_init(delta);
1856 dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
1862 register_decoders(delta);
1865 register_formats(delta);
1868 ret = v4l2_device_register(dev, &delta->v4l2_dev);
1870 dev_err(delta->dev, "%s failed to register V4L2 device\n",
1875 delta->work_queue = create_workqueue(DELTA_NAME);
1876 if (!delta->work_queue) {
1877 dev_err(delta->dev, "%s failed to allocate work queue\n",
1884 ret = delta_register_device(delta);
1889 DELTA_PREFIX, delta->vdev->name, delta->vdev->num);
1894 destroy_workqueue(delta->work_queue);
1896 v4l2_device_unregister(&delta->v4l2_dev);
1905 struct delta_dev *delta = platform_get_drvdata(pdev);
1907 delta_ipc_exit(delta);
1909 delta_unregister_device(delta);
1911 destroy_workqueue(delta->work_queue);
1913 pm_runtime_put_autosuspend(delta->dev);
1914 pm_runtime_disable(delta->dev);
1916 v4l2_device_unregister(&delta->v4l2_dev);
1921 struct delta_dev *delta = dev_get_drvdata(dev);
1923 clk_disable_unprepare(delta->clk_delta);
1930 struct delta_dev *delta = dev_get_drvdata(dev);
1932 if (clk_prepare_enable(delta->clk_delta))
1933 dev_warn(dev, "failed to prepare/enable delta clk\n");
1946 .compatible = "st,st-delta",