{"id":3935,"url":"https://patchwork.libcamera.org/api/1.1/covers/3935/?format=json","web_url":"https://patchwork.libcamera.org/cover/3935/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200605090106.15424-1-paul.elder@ideasonboard.com>","date":"2020-06-05T09:00:59","name":"[libcamera-devel,v2,0/7] Support qv4l2 with v4l2-compat","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/1.1/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/3935/mbox/","series":[{"id":956,"url":"https://patchwork.libcamera.org/api/1.1/series/956/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=956","date":"2020-06-05T09:00:59","name":"Support qv4l2 with v4l2-compat","version":2,"mbox":"https://patchwork.libcamera.org/series/956/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/3935/comments/","headers":{"Return-Path":"<paul.elder@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7E16F61027\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  5 Jun 2020 11:01:16 +0200 (CEST)","from emerald.amanokami.net (fs76eef344.knge213.ap.nuro.jp\n\t[118.238.243.68])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 29CC927C;\n\tFri,  5 Jun 2020 11:01:14 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"bWFF26QA\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1591347676;\n\tbh=p6aohSIuxh+AtziiwCtokxEKXetPMhMeKSDiDg8Fc4c=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=bWFF26QAiQovISQI3VKU9wplJCMoUcO9jdrY3ktZLPSu7bd/CIVfswDJE6KuH9DgZ\n\thTMhoU4IAfADf7PyrfETk5UPct3/aWXdQyTP7tiTmbMyTevYZIeGbtgmPjAi1Di2ez\n\tSOcMW0LcsYkPMKIKCebdOjvPLqVtWBwCcHsYKIfM=","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri,  5 Jun 2020 18:00:59 +0900","Message-Id":"<20200605090106.15424-1-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.20.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 0/7] Support qv4l2 with v4l2-compat","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 05 Jun 2020 09:01:16 -0000"},"content":"This patch series enables support for qv4l2 with the V4L2 compatibility\nlayer. It is a series of bugfixes first, and then the actual\nimplementation of the socket mechanism to allow for polling.\n\nChanges in v2:\n- remove IPAManager::instance() and make IPAManager::createIPA() static\n- fix segfault on restarting streams\n- support polling with eventfd instead of sockets\n- other cosmetic changes\n\n\nPaul Elder (7):\n  IPAManager: make IPAManager lifetime explicitly managed\n  IPAManager: remove instance() and make createIPA() static\n  v4l2: v4l2_camera_proxy: Fix bounds check for VIDIOC_ENUM_FMT\n  v4l2: v4l2_camera_proxy: Acquire only one buffer semaphore on\n    VIDIOC_DQBUF\n  v4l2: v4l2_camera_proxy: Don't return -EINVAL for zero sizeimage in\n    REQBUFS\n  v4l2: v4l2_compat: Add eventfd signaling to support polling\n  v4l2: v4l2_camera_proxy: Fix segfault on restarting streams\n\n include/libcamera/camera_manager.h            |  1 -\n include/libcamera/internal/ipa_manager.h      | 12 +++----\n src/libcamera/camera_manager.cpp              |  3 ++\n src/libcamera/ipa_manager.cpp                 | 34 ++++++++++---------\n .../pipeline/raspberrypi/raspberrypi.cpp      |  2 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  2 +-\n src/libcamera/pipeline/vimc/vimc.cpp          |  2 +-\n src/v4l2/v4l2_camera.cpp                      |  9 +++++\n src/v4l2/v4l2_camera.h                        |  3 ++\n src/v4l2/v4l2_camera_proxy.cpp                | 32 ++++++++++++++---\n src/v4l2/v4l2_camera_proxy.h                  |  4 +++\n src/v4l2/v4l2_compat_manager.cpp              |  7 +++-\n test/ipa/ipa_interface_test.cpp               |  7 +++-\n 13 files changed, 85 insertions(+), 33 deletions(-)"}