Hi Daniel, (CC'ing Mauro) On Thursday, 3 May 2018 16:45:36 EEST Daniel Vetter wrote: > On Thu, May 3, 2018 at 2:06 PM, Laurent Pinchart wrote: > > Hi Dave, > > > > Ping ? > > Not aware of any crc core work going on in drm, so has my ack. Thank you. > Worst case we do a topic branch or something like that (since I guess you'll > do a pull request anyway on the v4l side). That would unfortunately not be possible, as Mauro cherry-picks patches instead of merging pull requests. In rare cases I can ask for a pull-request to be merged as-is, but it's too late in this case as the previous pull request that this series is based on has been cherry-picked, not merged. > Acked-by: me. > > > On Saturday, 28 April 2018 23:50:19 EEST Laurent Pinchart wrote: > >> Hello, > >> > >> (Dave, there's a request for you below) > >> > >> This patch series adds support for CRC calculation to the rcar-du-drm > >> driver. > >> > >> CRC calculation is supported starting at the Renesas R-Car Gen3 SoCs, as > >> earlier versions don't have the necessary hardware. On Gen3 SoCs, the CRC > >> is computed by the DISCOM module part of the VSP-D and VSP-DL. > >> > >> The DISCOM is interfaced to the VSP through the UIF glue and appears as a > >> VSP entity with a sink pad and a source pad. > >> > >> The series starts with a switch to SPDX license headers in patch 1/8, > >> prompted by a checkpatch.pl warning for a later patch that complained > >> about missing SPDX license headers. It then continues with cleanup and > >> refactoring. Patches 2/8 and 3/8 prepare for DISCOM and UIF support by > >> extending generic code to make it usable for the UIF. Patch 4/8 documents > >> a structure that will receive new fields. > >> > >> Patch 5/8 then extends the API exposed by the VSP driver to the DU driver > >> to support CRC computation configuration and reporting. The patch > >> unfortunately needs to touch both the VSP and DU drivers, so the whole > >> series will need to be merged through a single tree. > >> > >> Patch 5/8 adds support for the DISCOM and UIF in the VSP driver, patch > >> 7/8 integrates it in the DRM pipeline, and patch 8/8 finally implements > >> the CRC API in the DU driver to expose CRC computation to userspace. > >> > >> The hardware supports computing the CRC at any arbitrary point in the > >> pipeline on a configurable window of the frame. This patch series > >> supports CRC computation on input planes or pipeline output, but on the > >> full frame only. Support for CRC window configuration can be added later > >> if needed but will require extending the userspace API, as the DRM/KMS > >> CRC API doesn't support this feature. > >> > >> Compared to v1, the CRC source names for plane inputs are now constructed > >> from plane IDs instead of plane indices. This allows userspace to match > >> CRC sources with planes. > >> > >> Compared to v2, various small issues reported by reviewers have been > >> fixed. I believe the series to now be ready for upstream merge. > >> > >> Note that exposing the DISCOM and UIF though the V4L2 API isn't supported > >> as the module is only found in VSP-D and VSP-DL instances that are not > >> exposed through V4L2. It is possible to expose those instances through > >> V4L2 with a small modification to the driver for testing purpose. If the > >> need arises to test DISCOM and UIF with such an out-of-tree patch, > >> support for CRC reporting through a V4L2 control can be added later > >> without affecting how CRC is exposed through the DRM/KMS API. > >> > >> The patches are based on top of the "[PATCH v2 00/15] R-Car VSP1: > >> Dynamically assign blend units to display pipelines" patch series, itself > >> based on top of the Linux media master branch and scheduled for merge in > >> v4.18. The new base caused heavy conflicts, requiring this series to be > >> merged through the V4L2 tree. > >> > >> Dave, I have verified that this series merges cleanly with your drm-next > >> and drm-fixes branches, with the drm-misc-next and drm-misc-fixes > >> branches, and with the R-Car DU patches I would like to get merged in > >> v4.18 through your tree. Could I get your ack to merge this through the > >> V4L2 tree ? > >> > >> For convenience the patches are available at > >> > >> git://linuxtv.org/pinchartl/media.git vsp1-discom-v3-20180428 > >> > >> The code has been tested through the kms-test-crc.py script part of the > >> DU test suite available at > >> > >> git://git.ideasonboard.com/renesas/kms-tests.git discom > >> > >> Laurent Pinchart (8): > >> v4l: vsp1: Use SPDX license headers > >> v4l: vsp1: Share the CLU, LIF and LUT set_fmt pad operation code > >> v4l: vsp1: Reset the crop and compose rectangles in the set_fmt helper > >> v4l: vsp1: Document the vsp1_du_atomic_config structure > >> v4l: vsp1: Extend the DU API to support CRC computation > >> v4l: vsp1: Add support for the DISCOM entity > >> v4l: vsp1: Integrate DISCOM in display pipeline > >> drm: rcar-du: Add support for CRC computation > >> > >> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 156 ++++++++++++++++- > >> drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 15 ++ > >> drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 12 +- > >> drivers/media/platform/vsp1/Makefile | 2 +- > >> drivers/media/platform/vsp1/vsp1.h | 10 +- > >> drivers/media/platform/vsp1/vsp1_brx.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_brx.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_clu.c | 71 ++------ > >> drivers/media/platform/vsp1/vsp1_clu.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_dl.c | 8 +- > >> drivers/media/platform/vsp1/vsp1_dl.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_drm.c | 127 ++++++++++++-- > >> drivers/media/platform/vsp1/vsp1_drm.h | 15 +- > >> drivers/media/platform/vsp1/vsp1_drv.c | 26 ++- > >> drivers/media/platform/vsp1/vsp1_entity.c | 103 +++++++++++- > >> drivers/media/platform/vsp1/vsp1_entity.h | 13 +- > >> drivers/media/platform/vsp1/vsp1_hgo.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_hgo.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_hgt.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_hgt.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_histo.c | 65 +------ > >> drivers/media/platform/vsp1/vsp1_histo.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_hsit.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_hsit.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_lif.c | 71 ++------ > >> drivers/media/platform/vsp1/vsp1_lif.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_lut.c | 71 ++------ > >> drivers/media/platform/vsp1/vsp1_lut.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_pipe.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_pipe.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_regs.h | 46 ++++- > >> drivers/media/platform/vsp1/vsp1_rpf.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_rwpf.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_rwpf.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_sru.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_sru.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_uds.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_uds.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_uif.c | 271 ++++++++++++++++++++++++ > >> drivers/media/platform/vsp1/vsp1_uif.h | 32 ++++ > >> drivers/media/platform/vsp1/vsp1_video.c | 6 +- > >> drivers/media/platform/vsp1/vsp1_video.h | 6 +- > >> drivers/media/platform/vsp1/vsp1_wpf.c | 6 +- > >> include/media/vsp1.h | 45 ++++- > >> 44 files changed, 892 insertions(+), 417 deletions(-) > >> create mode 100644 drivers/media/platform/vsp1/vsp1_uif.c > >> create mode 100644 drivers/media/platform/vsp1/vsp1_uif.h -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel