Re: [linux-sunxi] Cedrus driver
Hi Maxime, > > So there's a couple of issues with those patches (the pull request > itself is fine though :)) > > I'll try to break them down as much as possible. > > A) If you want to have proper commit logs, you will usually do two >things: first create a commit title, which is what appears in the >above summary. That commit title should not be longer than 72 >characters, and it should explain roughly what you're trying to >do. The actual description should be in the commit log itself, and >you should document what is the issue you're trying to fix / >improve, how you're doing it and why you've done it that way. Ah, so the pull-request commits are not proper, I will try do that from now on. these last ones are quite bad. > >The final line of that commit log shoud be your Signed-off-by, >which is your agreement to the Developer Certificate of Origin >(DCO), that you'll find documented here: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst#n429 > > B) Please base your work on a known release (4.14) and not the middle >of Linus' branch. Should be fixed now. > > C) I'm not sure what you tried to do with the application of the >request API patches (such as e1ca861c168f) but we want to have the >whole commits in there, and not a patch adding all of them. This >will make the work so much easier to rebase to a later version when >some patches wouldn't have been merged and some would have. > > D) Rebase :) Thank you. Giulio asked before if I could add a repo and commit the patches so that is what I did. I will push a different code where the full history is present in commits. So, I got it setup. As I did test it before on the slightly newer branch, I did not verify, again, if the video-decoder worked on this specific state of the linux kernel, 4.14. But it should x: If you rather wait for me to tell if it work let me know, but we could do a pull request then again anyway. So here is the new pull-request The following changes since commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4: Linux 4.14 (2017-11-12 10:46:13 -0800) are available in the git repository at: https://github.com/thomas-vitsch/linux-a20-cedrus.git linux-sunxi-cedrus for you to fetch changes up to 26701eca67a07ab002c7fd18038fa299b9589939: Fix the sun5i and sun8i dts files (2017-11-29 15:18:05 +0100) Bob Ham (1): sunxi-cedrus: Fix compilation errors from bad types under GCC 6.2 Florent Revest (8): Both mainline and cedrus had added their own formats with both are added. v4l: Add MPEG2 low-level decoder API control v4l: Add MPEG4 low-level decoder API control media: platform: Add Sunxi Cedrus decoder driver sunxi-cedrus: Add a MPEG 2 codec sunxi-cedrus: Add a MPEG 4 codec sunxi-cedrus: Add device tree binding document ARM: dts: sun5i: Use video-engine node Hans Verkuil (15): videodev2.h: add max_reqs to struct v4l2_query_ext_ctrl videodev2.h: add request to v4l2_ext_controls videodev2.h: add request field to v4l2_buffer. vb2: add allow_requests flag v4l2-ctrls: add request support v4l2-ctrls: add function to apply a request. v4l2-ctrls: implement delete request(s) v4l2-ctrls: add VIDIOC_REQUEST_CMD v4l2: add initial V4L2_REQ_CMD_QUEUE support vb2: add helper function to queue request-specific buffer. v4l2-device: keep track of registered video_devices v4l2-device: add v4l2_device_req_queue vivid: add request support for video capture. v4l2-ctrls: add REQ_KEEP flag Documentation: add v4l2-requests.txt Icenowy Zheng (2): sunxi-cedrus: add syscon support ARM: dts: sun8i: add video engine support for A33 Thomas van Kleef (4): Merged requests2 into linux 4.14 Fix merge error Remove reject file from merge Fix the sun5i and sun8i dts files .../devicetree/bindings/media/sunxi-cedrus.txt | 44 ++ Documentation/video4linux/v4l2-requests.txt| 233 arch/arm/boot/dts/sun5i-a13-difrnce-dit4350.dts| 50 -- arch/arm/boot/dts/sun5i-a13.dtsi | 30 ++ arch/arm/boot/dts/sun8i-a33.dtsi | 39 ++ drivers/media/platform/Kconfig | 13 + drivers/media/platform/Makefile| 1 + drivers/media/platform/sunxi-cedrus/Makefile | 4 + drivers/media/platform/sunxi-cedrus/sunxi_cedrus.c | 285 ++ .../platform/sunxi-cedrus/sunxi_cedrus_common.h| 104 .../media/platform/sunxi-cedrus/sunxi_cedrus_dec.c | 588 + .../media/platform/sunxi-cedrus/sunxi_cedrus_dec.h | 33 ++ .../media/platform/sunxi-cedrus/sunxi_cedrus_hw.c | 180 +++ .../media/platfor
Re: [linux-sunxi] Cedrus driver
On 28-11-17 13:26, Maxime Ripard wrote: > On Tue, Nov 28, 2017 at 12:20:59PM +0100, Thomas van Kleef wrote: >>> So, I have been rebasing to 4.14.0 and have the cedrus driver working. >> I have pulled linux-mainline 4.14.0. Then pulled the requests2 branch from >> Hans >> Verkuil's media_tree. I have a patch available of the merge between these 2 >> branches. >> After this I pulled the sunxi-cedrus repository from Florent Revests github. >> I >> believe this one is the same as the ones you are cloning right now. >> I have merged this and have a patch available for this as well. >> >> So to summarize: >> o pulled linux 4.14 from: >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >> o pulled requests2 from: >> https://git.linuxtv.org/hverkuil/media_tree.git?h=requests2 >> will be replaced with the work, when it is done, in: >> https://git.linuxtv.org/hverkuil/media_tree.git?h=ctrl-req-v2 >> o pulled linux-sunxi-cedrus from: >> https://github.com/FlorentRevest/linux-sunxi-cedrus >> >> o merged and made patch between linux4.14 and requests2 >> o merged and made patch with linux-sunxi-cedrus >> o Verified that the video-engine is decofing mpeg-2 on the Allwinner A20. >> >> So maybe if someone is interested in this, I could place the patches >> somewhere? >> Just let me know. > > Please create a pull request on the github repo. The point we set it > up was to share code. Forking repos and so on is kind of pointless. > So, I started with linux-mainline 4.14 and created a pull request with that commit. Never made one before so if I did something wrong tell me. The following changes since commit e1d1ea549b57790a3d8cf6300e6ef86118d692a3: Merge tag 'fbdev-v4.15' of git://github.com/bzolnier/linux (2017-11-20 21:50:24 -1000) are available in the git repository at: https://github.com/thomas-vitsch/linux-a20-cedrus.git for you to fetch changes up to 508ad12eb737fde07f4a25446ed941a01480d6dc: Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-sunxi-cedrus-a20 (2017-11-28 15:28:18 +0100) Bob Ham (1): sunxi-cedrus: Fix compilation errors from bad types under GCC 6.2 Florent Revest (8): cherry-pick sunxi_cedrus cherry-pick sunxi_cedrus v4l: Add MPEG4 low-level decoder API control media: platform: Add Sunxi Cedrus decoder driver sunxi-cedrus: Add a MPEG 2 codec sunxi-cedrus: Add a MPEG 4 codec sunxi-cedrus: Add device tree binding document cherry-pick sunxi_cedrus Hans Verkuil (15): videodev2.h: add max_reqs to struct v4l2_query_ext_ctrl videodev2.h: add request to v4l2_ext_controls videodev2.h: add request field to v4l2_buffer. vb2: add allow_requests flag v4l2-ctrls: add request support v4l2-ctrls: add function to apply a request. v4l2-ctrls: implement delete request(s) v4l2-ctrls: add VIDIOC_REQUEST_CMD v4l2: add initial V4L2_REQ_CMD_QUEUE support vb2: add helper function to queue request-specific buffer. v4l2-device: keep track of registered video_devices v4l2-device: add v4l2_device_req_queue vivid: add request support for video capture. v4l2-ctrls: add REQ_KEEP flag Documentation: add v4l2-requests.txt Icenowy Zheng (2): sunxi-cedrus: add syscon support cherry-pick sunxi_cedrus Thomas van Kleef (11): Appears that the requests2 API is currently based on linux 3.9 :(. Made some changes that needed to be merged manually, let's hope I did not make to many errors Fixed last missing calls for a buildable kernel with the requests2 API. Tested with a mock mem2mem device which selects the VIDEOBUF2_CORE. Kconfig option used to enable the VIDEOBUF2_CORE Fix sun5i-a13 merge errors. Mainline has moved some device nodes which resulted in nodes existing multiple times in device trees. o Added reserved memory region for the video-engine. o Added device node for the video engine. style commit Apply patch which adds requests2 branch from media-tree: https://git.linuxtv.org/hverkuil/media_tree.git?h=requests2 Apply patch which adds linux-sunxi-cedrus from: https://github.com/FlorentRevest/sunxi-cedrus-drv-video Add reserved region and video-engine node to sun7i.dtsi Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-a20-cedrus Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-sunxi-cedrus-a20 Vitsch Electronics (1): Update README .../devicetree/bindings/media/sunxi-cedrus.txt | 44 + Documentation/video4linux/v4l2-requests.txt| 233 ++ README
Re: [linux-sunxi] Cedrus driver
Hi Giulio On 28-11-17 12:54, Giulio Benetti wrote: > Hi Thomas, > > Il 28/11/2017 12:29, Thomas van Kleef ha scritto: >> Hi, >> >> On 28-11-17 12:26, Giulio Benetti wrote: >>> Hi Thomas, >>> >>> Il 28/11/2017 12:20, Thomas van Kleef ha scritto: >>>> On 28-11-17 10:50, Giulio Benetti wrote: >>>>> Hi Maxime, >>>>> >>>>> Il 28/11/2017 09:35, Maxime Ripard ha scritto: >>>>>> On Tue, Nov 28, 2017 at 01:03:59AM +0100, Giulio Benetti wrote: >>>>>>> Hi Maxime, >>>>>>> >>>>>>> Il 16/11/2017 14:42, Giulio Benetti ha scritto: >>>>>>>> Hi, >>>>>>>> >>>>>>>> Il 16/11/2017 14:39, Maxime Ripard ha scritto: >>>>>>>>> On Thu, Nov 16, 2017 at 02:17:08PM +0100, Giulio Benetti wrote: >>>>>>>>>> Hi Hans, >>>>>>>>>> >>>>>>>>>> Il 16/11/2017 14:12, Hans Verkuil ha scritto: >>>>>>>>>>> On 16/11/17 13:57, Giulio Benetti wrote: >>>>>>>>>>>> Il 16/11/2017 13:53, Maxime Ripard ha scritto: >>>>>>>>>>>>> On Thu, Nov 16, 2017 at 01:30:52PM +0100, Giulio Benetti wrote: >>>>>>>>>>>>>>> On Thu, Nov 16, 2017 at 11:37:30AM +0100, Giulio Benetti wrote: >>>>>>>>>>>>>>>> Il 16/11/2017 11:31, Andreas Baierl ha scritto: >>>>>>>>>>>>>>>>> Am 16.11.2017 um 11:13 schrieb Giulio Benetti: >>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>> I'm wondering why cedrus >>>>>>>>>>>>>>>>>> https://github.com/FlorentRevest/linux-sunxi-cedrus >>>>>>>>>>>>>>>>>> has never been >>>>>>>>>>>>>>>>>> merged with linux-sunxi sunxi-next. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Because it is not ready to be >>>>>>>>>>>>>>>>> merged. It depends on the v4l2 >>>>>>>>>>>>>>>>> request >>>>>>>>>>>>>>>>> API, which was not merged and which is re-worked atm. >>>>>>>>>>>>>>>>> Also, sunxi-cedrus itself is not in >>>>>>>>>>>>>>>>> a finished state and is not as >>>>>>>>>>>>>>>>> feature-complete to be merged. Anyway it might be something >>>>>>>>>>>>>>>>> for >>>>>>>>>>>>>>>>> staging... Has there been a [RFC] on the mailing list at all? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Where can I find a list of TODOs to get it ready to be merged? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Assuming that the request API is in, we'd need to: >>>>>>>>>>>>>>> - Finish the MPEG4 support >>>>>>>>>>>>>>> - Work on more useful codecs (H264 comes to my mind) >>>>>>>>>>>>>>> - Implement the DRM planes support for >>>>>>>>>>>>>>> the custom frame format >>>>>>>>>>>>>>> - Implement the DRM planes support for scaling >>>>>>>>>>>>>>> - Test it on more SoCs >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Or something along those lines. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Lot of work to do >>>>>>>>>>>>> >>>>>>>>>>>>> Well... If it was fast and easy it would have been done already :) >>>>>>>>>>>> >>>>>>>>&g
Re: [linux-sunxi] Cedrus driver
Hi, On 28-11-17 12:26, Giulio Benetti wrote: > Hi Thomas, > > Il 28/11/2017 12:20, Thomas van Kleef ha scritto: >> On 28-11-17 10:50, Giulio Benetti wrote: >>> Hi Maxime, >>> >>> Il 28/11/2017 09:35, Maxime Ripard ha scritto: >>>> On Tue, Nov 28, 2017 at 01:03:59AM +0100, Giulio Benetti wrote: >>>>> Hi Maxime, >>>>> >>>>> Il 16/11/2017 14:42, Giulio Benetti ha scritto: >>>>>> Hi, >>>>>> >>>>>> Il 16/11/2017 14:39, Maxime Ripard ha scritto: >>>>>>> On Thu, Nov 16, 2017 at 02:17:08PM +0100, Giulio Benetti wrote: >>>>>>>> Hi Hans, >>>>>>>> >>>>>>>> Il 16/11/2017 14:12, Hans Verkuil ha scritto: >>>>>>>>> On 16/11/17 13:57, Giulio Benetti wrote: >>>>>>>>>> Il 16/11/2017 13:53, Maxime Ripard ha scritto: >>>>>>>>>>> On Thu, Nov 16, 2017 at 01:30:52PM +0100, Giulio Benetti wrote: >>>>>>>>>>>>> On Thu, Nov 16, 2017 at 11:37:30AM +0100, Giulio Benetti wrote: >>>>>>>>>>>>>> Il 16/11/2017 11:31, Andreas Baierl ha scritto: >>>>>>>>>>>>>>> Am 16.11.2017 um 11:13 schrieb Giulio Benetti: >>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>> I'm wondering why cedrus >>>>>>>>>>>>>>>> https://github.com/FlorentRevest/linux-sunxi-cedrus >>>>>>>>>>>>>>>> has never been >>>>>>>>>>>>>>>> merged with linux-sunxi sunxi-next. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Because it is not ready to be >>>>>>>>>>>>>>> merged. It depends on the v4l2 >>>>>>>>>>>>>>> request >>>>>>>>>>>>>>> API, which was not merged and which is re-worked atm. >>>>>>>>>>>>>>> Also, sunxi-cedrus itself is not in >>>>>>>>>>>>>>> a finished state and is not as >>>>>>>>>>>>>>> feature-complete to be merged. Anyway it might be something for >>>>>>>>>>>>>>> staging... Has there been a [RFC] on the mailing list at all? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Where can I find a list of TODOs to get it ready to be merged? >>>>>>>>>>>>> >>>>>>>>>>>>> Assuming that the request API is in, we'd need to: >>>>>>>>>>>>> - Finish the MPEG4 support >>>>>>>>>>>>> - Work on more useful codecs (H264 comes to my mind) >>>>>>>>>>>>> - Implement the DRM planes support for >>>>>>>>>>>>> the custom frame format >>>>>>>>>>>>> - Implement the DRM planes support for scaling >>>>>>>>>>>>> - Test it on more SoCs >>>>>>>>>>>>> >>>>>>>>>>>>> Or something along those lines. >>>>>>>>>>>> >>>>>>>>>>>> Lot of work to do >>>>>>>>>>> >>>>>>>>>>> Well... If it was fast and easy it would have been done already :) >>>>>>>>>> >>>>>>>>>> :)) >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>>>>> I see it seems to be dead, no commit in 1 year. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Yes, because the author did this >>>>>>>>>>>>>>> during an internship, which ended >>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>> Afaik nobody picked up his work yet. >>>>>>>>>>>>> >>>&g
Re: [linux-sunxi] Cedrus driver
On 28-11-17 10:50, Giulio Benetti wrote: > Hi Maxime, > > Il 28/11/2017 09:35, Maxime Ripard ha scritto: >> On Tue, Nov 28, 2017 at 01:03:59AM +0100, Giulio Benetti wrote: >>> Hi Maxime, >>> >>> Il 16/11/2017 14:42, Giulio Benetti ha scritto: Hi, Il 16/11/2017 14:39, Maxime Ripard ha scritto: > On Thu, Nov 16, 2017 at 02:17:08PM +0100, Giulio Benetti wrote: >> Hi Hans, >> >> Il 16/11/2017 14:12, Hans Verkuil ha scritto: >>> On 16/11/17 13:57, Giulio Benetti wrote: Il 16/11/2017 13:53, Maxime Ripard ha scritto: > On Thu, Nov 16, 2017 at 01:30:52PM +0100, Giulio Benetti wrote: >>> On Thu, Nov 16, 2017 at 11:37:30AM +0100, Giulio Benetti wrote: Il 16/11/2017 11:31, Andreas Baierl ha scritto: > Am 16.11.2017 um 11:13 schrieb Giulio Benetti: >> Hello, >> > Hello, >> I'm wondering why cedrus >> https://github.com/FlorentRevest/linux-sunxi-cedrus >> has never been >> merged with linux-sunxi sunxi-next. >> > Because it is not ready to be > merged. It depends on the v4l2 > request > API, which was not merged and which is re-worked atm. > Also, sunxi-cedrus itself is not in > a finished state and is not as > feature-complete to be merged. Anyway it might be something for > staging... Has there been a [RFC] on the mailing list at all? Where can I find a list of TODOs to get it ready to be merged? >>> >>> Assuming that the request API is in, we'd need to: >>> - Finish the MPEG4 support >>> - Work on more useful codecs (H264 comes to my mind) >>> - Implement the DRM planes support for >>> the custom frame format >>> - Implement the DRM planes support for scaling >>> - Test it on more SoCs >>> >>> Or something along those lines. >> >> Lot of work to do > > Well... If it was fast and easy it would have been done already :) :)) > >> I see it seems to be dead, no commit in 1 year. > > Yes, because the author did this > during an internship, which ended > ... > Afaik nobody picked up his work yet. >>> >>> That's not entirely true. Some work has been >>> done by Thomas (in CC), >>> especially on the display engine side, but last time we talked his >>> work was not really upstreamable. >>> >>> We will also resume that effort starting next march. >> >> Is it possible a preview on a separate >> Reporitory to start working on now? >> Expecially to start porting everything done by >> FlorentRevest to mainline, >> admitted you've not already done. > > I'm not sure what you're asking for. Florent's work > *was* on mainline. and then they took it off because it was unmantained? You've spoken about Thomas(in CC) not ready, maybe I could help on that if it's public to accelerate. If I'm able to of course, this is my primary concern. Otherwise, in which way can I help improving it to make it accept to linux-sunxi? Starting from Florent's work and porting it to sunxi-next to begin? And after that adding all features you've listed? Tell me what I can do(I repeat, if I'm able to). >>> >>> The bottleneck is that the Request API is not mainlined. We >>> restarted work >>> on it after a meeting a few weeks back where we all agreed >>> on the roadmap >>> so hopefully it will go into mainline Q1 or Q2 next year. >>> >>> That said, you can use Florent's patch series for further development. >>> It should be relatively easy to convert it to the final version of the >>> Request API. Just note that the public API of the final >>> Request API will >>> be somewhat different from the old version Florent's patch >>> series is using. >> >> So I'm going to try soon to : >> 1) adapt that patchset to sunxi-next >> 2) add A20 support >> 3) add A33 support >> 4) after mainlined APIs, merge > > That sounds good. Thomas already has the support for the A20, and as I > was saying, there is someone that is going to work full time on this > in a couple monthes on our side. > > I'll set up a git repo on github so that we can collaborate until the > request API is ready. >>> >>> Any news about git repo? >>> When do you plan to do it more or less? >> >> I started to do it yesterday. >> >> https://github.com/free-electrons/linux-cedrus >> https://github.com/free-electrons/libva-cedrus > >