From patchwork Mon Sep 10 08:34:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Verkuil X-Patchwork-Id: 10593681 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 416766CB for ; Mon, 10 Sep 2018 08:35:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 305AA28C09 for ; Mon, 10 Sep 2018 08:35:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 23C8128DE8; Mon, 10 Sep 2018 08:35:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3BA228C09 for ; Mon, 10 Sep 2018 08:34:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727727AbeIJN1x (ORCPT ); Mon, 10 Sep 2018 09:27:53 -0400 Received: from lb2-smtp-cloud7.xs4all.net ([194.109.24.28]:39327 "EHLO lb2-smtp-cloud7.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727488AbeIJN1x (ORCPT ); Mon, 10 Sep 2018 09:27:53 -0400 Received: from [192.168.2.10] ([212.251.195.8]) by smtp-cloud7.xs4all.net with ESMTPA id zHenf0y78w2L8zHeqfJJKH; Mon, 10 Sep 2018 10:34:56 +0200 From: Hans Verkuil Subject: [GIT PULL FOR v4.20 (request_api branch)] Add Allwinner cedrus decoder driver To: Linux Media Mailing List Cc: Paul Kocialkowski , Maxime Ripard Message-ID: <8c00abfd-3f15-eab5-7d0b-5a4f7580d1f0@xs4all.nl> Date: Mon, 10 Sep 2018 10:34:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Language: en-US X-CMAE-Envelope: MS4wfLycU5rHdC11lhw8vWXYvPUbaVij+47EwmT7AY7FOGqfUngfhWZNA5D6IZ1RcCouSqYNqVZE1zkWLsNbf/9GD+XGtN9ARVsqB6Dfjg6no3TfXB9k0Xq4 Max2RqwEDxjssKoKgvjzXLs8svv4wqk0DhWmDWRtW9Vb03Ih+7Y/xauRn+R6CwNxpp4VJEdSlBT1f8FS67rlBX/OhwMDNdCQ8KmKTG3x2f0ty13F9OhAPy5+ G5LAeX4QYrItLnx3uvmlRjk7Z+JfIx+g7uX8TA423kc= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Mauro, This is the cedrus Allwinner decoder driver. It is for the request_api topic branch, but it assumes that this pull request is applied first: https://patchwork.linuxtv.org/patch/51889/ The last two patches could optionally be squashed with the main driver patch: they fix COMPILE_TEST issues. I decided not to squash them and leave the choice to you. This won't fully fix the COMPILE_TEST problems, for that another patch is needed: https://lore.kernel.org/patchwork/patch/983848/ But that's going through another subsystem. Many, many thanks go to Paul for working on this, trying to keep up to date with the Request API changes at the same time. It was a pleasure working with you on this! Regards, Hans The following changes since commit 051dfd971de1317626d322581546257b748ebde1: media-request: update documentation (2018-09-04 11:34:57 +0200) are available in the Git repository at: git://linuxtv.org/hverkuil/media_tree.git cedrus for you to fetch changes up to e035b190fac3735e5f9d3c96cee5afc82aa1a94d: media: cedrus: Select the sunxi SRAM driver in Kconfig (2018-09-10 10:22:07 +0200) ---------------------------------------------------------------- Paul Kocialkowski (13): media: videobuf2-core: Rework and rename helper for request buffer count media: v4l: Add definitions for MPEG-2 slice format and metadata media: v4l: Add definition for the Sunxi tiled NV12 format dt-bindings: media: Document bindings for the Cedrus VPU driver media: platform: Add Cedrus VPU decoder driver ARM: dts: sun5i: Add Video Engine and reserved memory nodes ARM: dts: sun7i-a20: Add Video Engine and reserved memory nodes ARM: dts: sun8i-a33: Add Video Engine and reserved memory nodes ARM: dts: sun8i-h3: Add Video Engine and reserved memory nodes media: cedrus: Fix error reporting in request validation media: cedrus: Add TODO file with tasks to complete before unstaging media: cedrus: Wrap PHYS_PFN_OFFSET with ifdef and add dedicated comment media: cedrus: Select the sunxi SRAM driver in Kconfig Documentation/devicetree/bindings/media/cedrus.txt | 54 +++++ Documentation/media/uapi/v4l/extended-controls.rst | 176 ++++++++++++++++ Documentation/media/uapi/v4l/pixfmt-compressed.rst | 16 ++ Documentation/media/uapi/v4l/pixfmt-reserved.rst | 15 +- Documentation/media/uapi/v4l/vidioc-queryctrl.rst | 14 +- Documentation/media/videodev2.h.rst.exceptions | 2 + MAINTAINERS | 7 + arch/arm/boot/dts/sun5i.dtsi | 26 +++ arch/arm/boot/dts/sun7i-a20.dtsi | 26 +++ arch/arm/boot/dts/sun8i-a33.dtsi | 26 +++ arch/arm/boot/dts/sun8i-h3.dtsi | 25 +++ drivers/media/common/videobuf2/videobuf2-core.c | 18 +- drivers/media/common/videobuf2/videobuf2-v4l2.c | 2 +- drivers/media/v4l2-core/v4l2-ctrls.c | 63 ++++++ drivers/media/v4l2-core/v4l2-ioctl.c | 2 + drivers/staging/media/Kconfig | 2 + drivers/staging/media/Makefile | 1 + drivers/staging/media/sunxi/Kconfig | 15 ++ drivers/staging/media/sunxi/Makefile | 1 + drivers/staging/media/sunxi/cedrus/Kconfig | 14 ++ drivers/staging/media/sunxi/cedrus/Makefile | 3 + drivers/staging/media/sunxi/cedrus/TODO | 7 + drivers/staging/media/sunxi/cedrus/cedrus.c | 431 +++++++++++++++++++++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus.h | 165 +++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_dec.c | 70 +++++++ drivers/staging/media/sunxi/cedrus/cedrus_dec.h | 27 +++ drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 327 +++++++++++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_hw.h | 30 +++ drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c | 237 +++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_regs.h | 233 +++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_video.c | 544 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_video.h | 30 +++ include/media/v4l2-ctrls.h | 18 +- include/media/videobuf2-core.h | 4 +- include/uapi/linux/v4l2-controls.h | 65 ++++++ include/uapi/linux/videodev2.h | 6 + 36 files changed, 2679 insertions(+), 23 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/cedrus.txt create mode 100644 drivers/staging/media/sunxi/Kconfig create mode 100644 drivers/staging/media/sunxi/Makefile create mode 100644 drivers/staging/media/sunxi/cedrus/Kconfig create mode 100644 drivers/staging/media/sunxi/cedrus/Makefile create mode 100644 drivers/staging/media/sunxi/cedrus/TODO create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus.c create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus.h create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_dec.c create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_dec.h create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_hw.c create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_hw.h create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_regs.h create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_video.c create mode 100644 drivers/staging/media/sunxi/cedrus/cedrus_video.h