Message ID | 20240709083824.430473-3-changhuang.liang@starfivetech.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add ISP 3A for StarFive | expand |
Hi Changhuang On Tue, Jul 09, 2024 at 01:38:12AM GMT, Changhuang Liang wrote: > Add description for V4L2_META_FMT_STF_ISP_PARAMS and > V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. > > Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com> I get this warnings when compiling documentation Please fix these in the uapi header ../include/uapi/linux/jh7110-isp.h:17: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst * ISP Module Diagram ../include/uapi/linux/jh7110-isp.h:152: warning: expecting prototype for struct jh7110_isp_cfa_params. Prototype was for struct jh7110_isp_cfa_setting instead ../include/uapi/linux/jh7110-isp.h:178: warning: expecting prototype for struct jh7110_isp_ctc_params. Prototype was for struct jh7110_isp_ctc_setting instead ../include/uapi/linux/jh7110-isp.h:200: warning: expecting prototype for struct jh7110_isp_dbc_params. Prototype was for struct jh7110_isp_dbc_setting instead ../include/uapi/linux/jh7110-isp.h:226: warning: expecting prototype for struct jh7110_isp_dnyuv_params. Prototype was for struct jh7110_isp_dnyuv_setting instead ../include/uapi/linux/jh7110-isp.h:707: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst * Statistics Collection Meta Data Flag and this in the documentation here below: Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst:73: WARNING: Title underline too short. JH7110 ISP uAPI data types ====================== Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst: WARNING: document isn't included in any toctree (You should add this file to Documentation/userspace-api/media/v4l/meta-formats.rst) > --- > .../media/v4l/metafmt-starfive-isp.rst | 75 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 76 insertions(+) > create mode 100644 Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst > > diff --git a/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst b/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst > new file mode 100644 > index 000000000000..ebb4291833d6 > --- /dev/null > +++ b/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst > @@ -0,0 +1,75 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +.. _v4l2-meta-fmt-stf-isp-params: > + > +.. _v4l2-meta-fmt-stf-isp-stat-3a: > + > +***************************************************************************** > +V4L2_META_FMT_STF_ISP_PARAMS ('stfp'), V4L2_META_FMT_STF_ISP_STAT_3A ('stfs') > +***************************************************************************** > + > +.. jh7110_isp_params_buffer > + > +Configuration parameters > +======================== > + > +The configuration parameters are passed to the "output_params" metadata output > +video node, using the :c:type:`v4l2_meta_format` interface. They are formatted > +as described by the :c:type:`jh7110_isp_params_buffer` structure. > + > +.. code-block:: c > + > + struct jh7110_isp_params_buffer { > + __u32 enable_setting; > + struct jh7110_isp_wb_setting wb_setting; > + struct jh7110_isp_car_setting car_setting; > + struct jh7110_isp_ccm_setting ccm_setting; > + struct jh7110_isp_cfa_setting cfa_setting; > + struct jh7110_isp_ctc_setting ctc_setting; > + struct jh7110_isp_dbc_setting dbc_setting; > + struct jh7110_isp_dnyuv_setting dnyuv_setting; > + struct jh7110_isp_gmargb_setting gmargb_setting; > + struct jh7110_isp_lccf_setting lccf_setting; > + struct jh7110_isp_obc_setting obc_setting; > + struct jh7110_isp_oecf_setting oecf_setting; > + struct jh7110_isp_r2y_setting r2y_setting; > + struct jh7110_isp_sat_setting sat_setting; > + struct jh7110_isp_sharp_setting sharp_setting; > + struct jh7110_isp_ycrv_setting ycrv_setting; > + struct jh7110_isp_sc_setting sc_setting; > + }; > + > +.. jh7110_isp_sc_buffer Is this used ? > + > +3A and histogram statistics > +=========================== > + > +The ISP device collects different statistics over an input Bayer frame. > +Those statistics are obtained from the "capture_scd" metadata capture video > +node, using the :c:type:`v4l2_meta_format` interface. They are formatted as > +described by the :c:type:`jh7110_isp_sc_buffer` structure. > + > +.. code-block:: c > + > + struct jh7110_isp_sc_buffer { > + __u32 y_histogram[64]; > + __u32 reserv0[33]; > + __u32 bright_sc[4096]; > + __u32 reserv1[96]; > + __u32 ae_hist_y[128]; > + __u32 reserv2[511]; > + __u16 flag; > + }; > + > +The statistics collected are Auto Exposure, AWB (Auto-white balance), Histogram > +and AF (Auto-focus). See :c:type:`jh7110_isp_sc_buffer` for details of the > +statistics. > + > +The 3A statistics and configuration parameters described here are usually > +consumed and produced by dedicated user space libraries that comprise the > +important tuning tools using software control loop. > + > +JH7110 ISP uAPI data types > +====================== > + > +.. kernel-doc:: include/uapi/linux/jh7110-isp.h > diff --git a/MAINTAINERS b/MAINTAINERS > index 890604eb0d64..8fd613c93e62 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -21304,6 +21304,7 @@ L: linux-media@vger.kernel.org > S: Maintained > F: Documentation/admin-guide/media/starfive_camss.rst > F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml > +F: Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst > F: drivers/staging/media/starfive/camss > F: include/uapi/linux/jh7110-isp.h > > -- > 2.25.1 > >
Hi, Jacopo > > Hi Changhuang > > On Tue, Jul 09, 2024 at 01:38:12AM GMT, Changhuang Liang wrote: > > Add description for V4L2_META_FMT_STF_ISP_PARAMS and > > V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. > > > > Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com> > > I get this warnings when compiling documentation > Can you share the steps about compiling documentation? Regards, Changhuang
Hi Changhuang On Tue, Jul 16, 2024 at 12:31:31PM GMT, Changhuang Liang wrote: > Hi, Jacopo > > > > > Hi Changhuang > > > > On Tue, Jul 09, 2024 at 01:38:12AM GMT, Changhuang Liang wrote: > > > Add description for V4L2_META_FMT_STF_ISP_PARAMS and > > > V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. > > > > > > Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com> > > > > I get this warnings when compiling documentation > > > > Can you share the steps about compiling documentation? > From `make help` ------------------------------------------------------------------------------- Documentation targets: Linux kernel internal documentation in different formats from ReST: htmldocs - HTML texinfodocs - Texinfo infodocs - Info latexdocs - LaTeX pdfdocs - PDF epubdocs - EPUB xmldocs - XML linkcheckdocs - check for broken external links (will connect to external hosts) refcheckdocs - check for references to non-existing files under Documentation cleandocs - clean all generated files make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2 valid values for SPHINXDIRS are: PCI RCU accel accounting admin-guide arch block bpf cdrom core-api cpu-freq crypto dev-tools devicetree doc-guide driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon i2c iio infiniband input isdn kbuild kernel-hacking leds livepatch locking maintainer mhi misc-devices mm netlabel networking pcmcia peci power powerpc process riscv rust scheduler scsi security sound spi staging target tee timers tools trace translations usb userspace-api virt w1 watchdog wmi ------------------------------------------------------------------------------- To compile, in example, the userspace documentation in html: `make $your-usual-args-here SPHINXDIRS="userspace-api" htmldocs` > Regards, > Changhuang
Hi, Jacopo > > Hi Changhuang > > On Tue, Jul 16, 2024 at 12:31:31PM GMT, Changhuang Liang wrote: > > Hi, Jacopo > > > > > > > > Hi Changhuang > > > > > > On Tue, Jul 09, 2024 at 01:38:12AM GMT, Changhuang Liang wrote: > > > > Add description for V4L2_META_FMT_STF_ISP_PARAMS and > > > > V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. > > > > > > > > Signed-off-by: Changhuang Liang > > > > <changhuang.liang@starfivetech.com> > > > > > > I get this warnings when compiling documentation > > > > > > > Can you share the steps about compiling documentation? > > > > From `make help` > > ------------------------------------------------------------------------------- > Documentation targets: > Linux kernel internal documentation in different formats from ReST: > htmldocs - HTML > texinfodocs - Texinfo > infodocs - Info > latexdocs - LaTeX > pdfdocs - PDF > epubdocs - EPUB > xmldocs - XML > linkcheckdocs - check for broken external links > (will connect to external hosts) > refcheckdocs - check for references to non-existing files under > Documentation > cleandocs - clean all generated files > > make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2 > valid values for SPHINXDIRS are: PCI RCU accel accounting admin-guide > arch block bpf cdrom core-api cpu-freq crypto dev-tools devicetree doc-guide > driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon > i2c iio infiniband input isdn kbuild kernel-hacking leds livepatch locking > maintainer mhi misc-devices mm netlabel networking pcmcia peci power > powerpc process riscv rust scheduler scsi security sound spi staging target tee > timers tools trace translations usb userspace-api virt w1 watchdog wmi > ------------------------------------------------------------------------------- > > To compile, in example, the userspace documentation in html: > > `make $your-usual-args-here SPHINXDIRS="userspace-api" htmldocs` > What should $your-usual-args-here fill? Can you share your specific commands? This is the result of my side run here: # make SPHINXDIRS="userspace-api" htmldocs /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_link.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_link.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/netdev.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/netdev.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_vport.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_vport.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/handshake.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/handshake.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/fou.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/fou.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nftables.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nftables.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_datapath.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_datapath.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nfsd.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nfsd.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/dpll.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/dpll.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nlctrl.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nlctrl.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ethtool.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ethtool.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/mptcp_pm.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/mptcp_pm.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_route.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_route.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/team.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/team.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/devlink.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/devlink.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_addr.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_addr.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_flow.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_flow.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/tc.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/tc.rst /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/index.rst -x make: *** empty variable name. Stop. make: *** [Makefile:122: htmldocs] Error 2 Is there any special environment configuration present? Regards, Changhuang
Hi Changhuang On Wed, Jul 17, 2024 at 02:37:00AM GMT, Changhuang Liang wrote: > Hi, Jacopo > > > > > Hi Changhuang > > > > On Tue, Jul 16, 2024 at 12:31:31PM GMT, Changhuang Liang wrote: > > > Hi, Jacopo > > > > > > > > > > > Hi Changhuang > > > > > > > > On Tue, Jul 09, 2024 at 01:38:12AM GMT, Changhuang Liang wrote: > > > > > Add description for V4L2_META_FMT_STF_ISP_PARAMS and > > > > > V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. > > > > > > > > > > Signed-off-by: Changhuang Liang > > > > > <changhuang.liang@starfivetech.com> > > > > > > > > I get this warnings when compiling documentation > > > > > > > > > > Can you share the steps about compiling documentation? > > > > > > > From `make help` > > > > ------------------------------------------------------------------------------- > > Documentation targets: > > Linux kernel internal documentation in different formats from ReST: > > htmldocs - HTML > > texinfodocs - Texinfo > > infodocs - Info > > latexdocs - LaTeX > > pdfdocs - PDF > > epubdocs - EPUB > > xmldocs - XML > > linkcheckdocs - check for broken external links > > (will connect to external hosts) > > refcheckdocs - check for references to non-existing files under > > Documentation > > cleandocs - clean all generated files > > > > make SPHINXDIRS="s1 s2" [target] Generate only docs of folder s1, s2 > > valid values for SPHINXDIRS are: PCI RCU accel accounting admin-guide > > arch block bpf cdrom core-api cpu-freq crypto dev-tools devicetree doc-guide > > driver-api fault-injection fb filesystems firmware-guide fpga gpu hid hwmon > > i2c iio infiniband input isdn kbuild kernel-hacking leds livepatch locking > > maintainer mhi misc-devices mm netlabel networking pcmcia peci power > > powerpc process riscv rust scheduler scsi security sound spi staging target tee > > timers tools trace translations usb userspace-api virt w1 watchdog wmi > > ------------------------------------------------------------------------------- > > > > To compile, in example, the userspace documentation in html: > > > > `make $your-usual-args-here SPHINXDIRS="userspace-api" htmldocs` > > > > What should $your-usual-args-here fill? Can you share your specific commands? make -j24 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- O=./linux-build SPHINXDIRS="userspace-api" htmldocs Make sure to adapt it to your environment > > This is the result of my side run here: > > # make SPHINXDIRS="userspace-api" htmldocs > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_link.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_link.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/netdev.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/netdev.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_vport.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_vport.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/handshake.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/handshake.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/fou.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/fou.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nftables.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nftables.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_datapath.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_datapath.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nfsd.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nfsd.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/dpll.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/dpll.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/nlctrl.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/nlctrl.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ethtool.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ethtool.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/mptcp_pm.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/mptcp_pm.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_route.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_route.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/team.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/team.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/devlink.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/devlink.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/rt_addr.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/rt_addr.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/ovs_flow.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/ovs_flow.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -i /home/huang/workspace/upstream/linux/Documentation/netlink/specs/tc.yaml -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/tc.rst > /home/huang/workspace/upstream/linux/tools/net/ynl/ynl-gen-rst.py -o /home/huang/workspace/upstream/linux/Documentation/networking/netlink_spec/index.rst -x > make: *** empty variable name. Stop. > make: *** [Makefile:122: htmldocs] Error 2 > > Is there any special environment configuration present? > > Regards, > Changhuang
diff --git a/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst b/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst new file mode 100644 index 000000000000..ebb4291833d6 --- /dev/null +++ b/Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst @@ -0,0 +1,75 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. _v4l2-meta-fmt-stf-isp-params: + +.. _v4l2-meta-fmt-stf-isp-stat-3a: + +***************************************************************************** +V4L2_META_FMT_STF_ISP_PARAMS ('stfp'), V4L2_META_FMT_STF_ISP_STAT_3A ('stfs') +***************************************************************************** + +.. jh7110_isp_params_buffer + +Configuration parameters +======================== + +The configuration parameters are passed to the "output_params" metadata output +video node, using the :c:type:`v4l2_meta_format` interface. They are formatted +as described by the :c:type:`jh7110_isp_params_buffer` structure. + +.. code-block:: c + + struct jh7110_isp_params_buffer { + __u32 enable_setting; + struct jh7110_isp_wb_setting wb_setting; + struct jh7110_isp_car_setting car_setting; + struct jh7110_isp_ccm_setting ccm_setting; + struct jh7110_isp_cfa_setting cfa_setting; + struct jh7110_isp_ctc_setting ctc_setting; + struct jh7110_isp_dbc_setting dbc_setting; + struct jh7110_isp_dnyuv_setting dnyuv_setting; + struct jh7110_isp_gmargb_setting gmargb_setting; + struct jh7110_isp_lccf_setting lccf_setting; + struct jh7110_isp_obc_setting obc_setting; + struct jh7110_isp_oecf_setting oecf_setting; + struct jh7110_isp_r2y_setting r2y_setting; + struct jh7110_isp_sat_setting sat_setting; + struct jh7110_isp_sharp_setting sharp_setting; + struct jh7110_isp_ycrv_setting ycrv_setting; + struct jh7110_isp_sc_setting sc_setting; + }; + +.. jh7110_isp_sc_buffer + +3A and histogram statistics +=========================== + +The ISP device collects different statistics over an input Bayer frame. +Those statistics are obtained from the "capture_scd" metadata capture video +node, using the :c:type:`v4l2_meta_format` interface. They are formatted as +described by the :c:type:`jh7110_isp_sc_buffer` structure. + +.. code-block:: c + + struct jh7110_isp_sc_buffer { + __u32 y_histogram[64]; + __u32 reserv0[33]; + __u32 bright_sc[4096]; + __u32 reserv1[96]; + __u32 ae_hist_y[128]; + __u32 reserv2[511]; + __u16 flag; + }; + +The statistics collected are Auto Exposure, AWB (Auto-white balance), Histogram +and AF (Auto-focus). See :c:type:`jh7110_isp_sc_buffer` for details of the +statistics. + +The 3A statistics and configuration parameters described here are usually +consumed and produced by dedicated user space libraries that comprise the +important tuning tools using software control loop. + +JH7110 ISP uAPI data types +====================== + +.. kernel-doc:: include/uapi/linux/jh7110-isp.h diff --git a/MAINTAINERS b/MAINTAINERS index 890604eb0d64..8fd613c93e62 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -21304,6 +21304,7 @@ L: linux-media@vger.kernel.org S: Maintained F: Documentation/admin-guide/media/starfive_camss.rst F: Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml +F: Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst F: drivers/staging/media/starfive/camss F: include/uapi/linux/jh7110-isp.h
Add description for V4L2_META_FMT_STF_ISP_PARAMS and V4L2_META_FMT_STF_ISP_STAT_3A meta data formats. Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com> --- .../media/v4l/metafmt-starfive-isp.rst | 75 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 76 insertions(+) create mode 100644 Documentation/userspace-api/media/v4l/metafmt-starfive-isp.rst