Extract V4L2 device control code and make it a common library shared by different HALs.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/d883f8a3294f9910dadd1ab8440be6b20266951d commit d883f8a3294f9910dadd1ab8440be6b20266951d Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Thu Mar 15 07:48:26 2018 libcamera_v4l2_device: initial ebuild BUG= chromium:779488 TEST=Make sure camera works on Soraka CQ-DEPEND=CL:743421 Change-Id: I19e64c088ce0e515b23d98f61f27477ad7eaad97 Reviewed-on: https://chromium-review.googlesource.com/743402 Commit-Ready: Hung-yu Wu <hywu@chromium.org> Tested-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Hung-yu Wu <hywu@chromium.org> [add] https://crrev.com/d883f8a3294f9910dadd1ab8440be6b20266951d/media-libs/cros-camera-libcamera_v4l2_device/cros-camera-libcamera_v4l2_device-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/e291b4918b15313f88d713e4fa267d13f46449be commit e291b4918b15313f88d713e4fa267d13f46449be Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Thu Mar 15 07:48:27 2018 libcamera_v4l2_device: initial version Extract the V4L2 device control code from Intel IPU3 HAL and make it a common library that can be shared by different HALs. 1. Remove unused code 2. Protect the device file descriptor 3. Add copyright and follow Google style guideline BUG= chromium:779488 TEST=Make sure camera works on Soraka CQ-DEPEND=CL:743402 Change-Id: Ie4661ecc1aaca6499b250a51e655b45b883924d1 Reviewed-on: https://chromium-review.googlesource.com/743421 Commit-Ready: Hung-yu Wu <hywu@chromium.org> Tested-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Ricky Liang <jcliang@chromium.org> [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/include/cros-camera/v4l2_device.h [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/common/v4l2_device/v4l2_subdevice.cc [modify] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/Makefile [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/common/v4l2_device/v4l2_device.cc [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/common/v4l2_device/libcamera_v4l2_device.pc.template [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/common/v4l2_device/module.mk [add] https://crrev.com/e291b4918b15313f88d713e4fa267d13f46449be/common/v4l2_device/v4l2_video_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/b4dd5c99a8d0ad3e6d2665200d284dce7c81980a commit b4dd5c99a8d0ad3e6d2665200d284dce7c81980a Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Mon Mar 26 13:22:55 2018 chipset-kbl: update cros-camera-hal-intel-ipu3 dependency Add libcamera_v4l2_device into DEPEND. BUG= chromium:779488 TEST=Make sure camera works on Poppy Change-Id: Ic255d56d6410a6c599d132fa107a170f5fdbf445 Reviewed-on: https://chromium-review.googlesource.com/977842 Commit-Ready: WeiX Meng <weix.meng@intel.com> Tested-by: WeiX Meng <weix.meng@intel.com> Reviewed-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Liang L Yang <liang.l.yang@intel.com> [modify] https://crrev.com/b4dd5c99a8d0ad3e6d2665200d284dce7c81980a/chipset-kbl/media-libs/cros-camera-hal-intel-ipu3/cros-camera-hal-intel-ipu3-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/18e9216a3aaef238718d0255a105ad56bd8c85ca commit 18e9216a3aaef238718d0255a105ad56bd8c85ca Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Mon Mar 26 15:44:19 2018 intel: ipu3: extract libcamera_v4l2_device Modify the HAL for extracted V4L2 device library. BUG= chromium:779488 TEST=Make sure camera works on Poppy CQ-DEPEND=CL:977842 Change-Id: Ia59e2694c48b37bdb82d2326445f2fc6c193deb5 Reviewed-on: https://chromium-review.googlesource.com/743422 Commit-Ready: Hung-yu Wu <hywu@chromium.org> Tested-by: WeiX Meng <weix.meng@intel.com> Reviewed-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Liang L Yang <liang.l.yang@intel.com> [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/GraphConfig.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/ImguUnit.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/CameraBuffer.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/OutputFrameWorker.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/MediaCtlHelper.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/ImguUnit.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/OutputFrameWorker.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/FrameWorker.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/IDeviceWorker.h [delete] https://crrev.com/7477348b3f5adb0e4c3f6a4798282ae53d5d4d9a/hal/intel/common/v4l2dev/v4l2device.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/BufferPools.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/InputFrameWorker.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/LensHw.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/ParameterWorker.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/CaptureUnit.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/StatisticsWorker.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/BufferPools.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/InputFrameWorker.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/ItemPool.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/Makefile.am [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/CommonUtilMacros.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/SyncManager.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/SyncManager.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/SensorHwOp.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/PollerThread.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/PollerThread.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/InputSystem.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/mediacontroller/MediaEntity.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/MediaCtlHelper.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/mediacontroller/MediaController.cpp [delete] https://crrev.com/7477348b3f5adb0e4c3f6a4798282ae53d5d4d9a/hal/intel/common/v4l2dev/v4l2videonode.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/InputSystem.h [delete] https://crrev.com/7477348b3f5adb0e4c3f6a4798282ae53d5d4d9a/hal/intel/common/v4l2dev/v4l2subdevice.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/CaptureUnit.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/ParameterWorker.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/NodeTypes.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/configure.ac [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/NodeTypes.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/platformdata/PlatformData.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/LensHw.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/PSLConfParser.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/CameraBuffer.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/FrameWorker.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/mediacontroller/MediaEntity.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/workers/StatisticsWorker.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/CaptureBuffer.h [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/psl/ipu3/SensorHwOp.cpp [delete] https://crrev.com/7477348b3f5adb0e4c3f6a4798282ae53d5d4d9a/hal/intel/common/v4l2dev/v4l2devicebase.cpp [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/Makefile.am [modify] https://crrev.com/18e9216a3aaef238718d0255a105ad56bd8c85ca/hal/intel/common/platformdata/IPSLConfParser.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/b06b606d3d36a899e1d83e48eeb218d663c794f0 commit b06b606d3d36a899e1d83e48eeb218d663c794f0 Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Wed Apr 18 09:07:46 2018 intel: ipu3: remove CaptureBuffer Remove CameraBuffer data structure to simplify buffer management. BUG= chromium:779488 TEST=Make sure camera works on Soraka and cros_camera_test is passed CQ-DEPEND=CL:808024 Change-Id: I29f2c549b14d8bfb31ab03409651efc89764d94a Reviewed-on: https://chromium-review.googlesource.com/760245 Commit-Ready: Hung-yu Wu <hywu@chromium.org> Commit-Ready: WeiX Meng <weix.meng@intel.com> Tested-by: WeiX Meng <weix.meng@intel.com> Reviewed-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Liang L Yang <liang.l.yang@intel.com> [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/CaptureUnit.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/BufferPools.h [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/ImguUnit.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/workers/OutputFrameWorker.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/ControlUnit.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/tasks/ExecuteTaskBase.h [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/workers/InputFrameWorker.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/workers/StatisticsWorker.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/BufferPools.cpp [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/InputSystem.h [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/ControlUnit.h [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/psl/ipu3/CaptureUnit.h [modify] https://crrev.com/b06b606d3d36a899e1d83e48eeb218d663c794f0/hal/intel/common/SharedItemPool.h [delete] https://crrev.com/ebec87516affb0afa25953ae38896d985d80d581/hal/intel/psl/ipu3/CaptureBuffer.h
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/549e3eb3c752dcbbe03daca58e922f4e0d83c853 commit 549e3eb3c752dcbbe03daca58e922f4e0d83c853 Author: Daniel Hung-yu Wu <hywu@chromium.org> Date: Fri Oct 19 02:01:11 2018 libcamera_v4l2_device: fix menu control enumeration function BUG= chromium:779488 TEST=Make sure camera works on Atlas Change-Id: Id101016b843254ab28ea47e24e837dcad6de8f99 Reviewed-on: https://chromium-review.googlesource.com/1288164 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Hung-yu Wu <hywu@chromium.org> Reviewed-by: Ping-Chung Chen <ping-chung.chen@intel.com> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Reviewed-by: Andy Yeh <andy.yeh@intel.com> [modify] https://crrev.com/549e3eb3c752dcbbe03daca58e922f4e0d83c853/common/v4l2_device/v4l2_device.cc
Comment 1 by bugdroid1@chromium.org
, Mar 15 2018