Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / drivers / staging / media / imx / TODO
1
2 - The Frame Interval Monitor could be exported to v4l2-core for
3   general use.
4
5 - The CSI subdevice parses its nearest upstream neighbor's device-tree
6   bus config in order to setup the CSI. Laurent Pinchart argues that
7   instead the CSI subdev should call its neighbor's g_mbus_config op
8   (which should be propagated if necessary) to get this info. However
9   Hans Verkuil is planning to remove the g_mbus_config op. For now this
10   driver uses the parsed DT bus config method until this issue is
11   resolved.
12
13 - This media driver supports inheriting V4L2 controls to the
14   video capture devices, from the subdevices in the capture device's
15   pipeline. The controls for each capture device are updated in the
16   link_notify callback when the pipeline is modified. It should be
17   decided whether this feature is useful enough to make it generally
18   available by exporting to v4l2-core.
19
20 - After all async subdevices have been bound, v4l2_fwnode_parse_link()
21   is used to form the media links between the devices discovered in
22   the OF graph.
23
24   While this approach allows support for arbitrary OF graphs, there
25   are some assumptions for this to work:
26
27   1. If a port owned by a device in the graph has endpoint nodes, the
28      port is treated as a media pad.
29
30      This presents problems for devices that don't make this port = pad
31      assumption. Examples are SMIAPP compatible cameras which define only
32      a single output port node, but which define multiple pads owned
33      by multiple subdevices (pixel-array, binner, scaler). Or video
34      decoders (entity function MEDIA_ENT_F_ATV_DECODER), which also define
35      only a single output port node, but define multiple pads for video,
36      VBI, and audio out.
37
38      A workaround at present is to set the port reg properties to
39      correspond to the media pad index that the port represents. A
40      possible long-term solution is to implement a subdev API that
41      maps a port id to a media pad index.
42
43   2. Every endpoint of a port owned by a device in the graph is treated
44      as a media link.
45
46      Which means a port must not contain mixed-use endpoints, they
47      must all refer to media links between V4L2 subdevices.
48
49 - i.MX7: all of the above, since it uses the imx media core
50
51 - i.MX7: use Frame Interval Monitor
52
53 - i.MX7: runtime testing with parallel sensor, links setup and streaming
54
55 - i.MX7: runtime testing with different formats, for the time only 10-bit bayer
56   is tested