xref: /linux/drivers/staging/media/atomisp/TODO (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1TODO
2====
3
41. Items which MUST be fixed before the driver can be moved out of staging:
5
6* Remove/disable private IOCTLs
7
8* Remove/disable custom v4l2-ctrls
9
10* Remove unnecessary/unwanted module parameters
11
12* Remove abuse of priv field in various v4l2 userspace API structs
13
14* Without a 3A library the capture behaviour is not very good. To take a good
15  picture, the exposure/gain needs to be tuned using v4l2-ctl on the sensor
16  subdev. To fix this, support for the atomisp needs to be added to libcamera.
17
18  This MUST be done before moving the driver out of staging so that we can
19  still make changes to e.g. the mediactl topology if necessary for
20  libcamera integration. Since this would be a userspace API break, this
21  means that at least proof-of-concept libcamera integration needs to be
22  ready before moving the driver out of staging.
23
24
252. Items which SHOULD also be fixed eventually:
26
27* The driver is intended to drive the PCI exposed versions of the device.
28  It will not detect those devices enumerated via ACPI as a field of the
29  i915 GPU driver (only a problem on BYT).
30
31  There are some patches adding i915 GPU support floating at the Yocto's
32  Aero repository (so far, untested upstream).
33
34* Ensure that the driver will pass v4l2-compliance tests
35
36* Fix not all v4l2 apps working, e.g. cheese does not work
37
38* The atomisp code still has a lot of cruft which needs cleaning up
39
40
41Testing
42=======
43
44Since libcamera support is not available yet, the easiest way to test for
45now is using v4l2-ctl to select the input and gstreamer for streaming.
46
47To select the input run:
48
49v4l2-ctl -i <input>
50
51Where <input> is 0 (front cam) or 1 (back cam).
52
53The simplest gstreamer pipeline for testing running the sensor
54at its max resolution is:
55
56gst-launch-1.0 v4l2src ! videoconvert ! xvimagesink sync=false
57
58To select e.g 640x480 as resolution use:
59
60gst-launch-1.0 v4l2src ! video/x-raw,format=YV12,width=640,height=480 ! \
61               videoconvert ! xvimagesink sync=false
62
63And to show fps use:
64
65gst-launch-1.0 v4l2src ! video/x-raw,format=YV12,width=640,height=480 ! \
66               videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
67
68Often the image will be over / under exposed. This can be fixed by using
69v4l2-ctl on the sensor subdev to tweak the exposure ctrl; or by using a GUI
70app for v4l2-controls which also supports subdev such as the Fedora patched
71gtk-v4l tool.
72