From patchwork Fri Sep 14 12:35:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Verkuil X-Patchwork-Id: 10600721 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 C1CE114DA for ; Fri, 14 Sep 2018 12:35:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A6A1A2B29C for ; Fri, 14 Sep 2018 12:35:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9A9172B55F; Fri, 14 Sep 2018 12:35:56 +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 103672B29C for ; Fri, 14 Sep 2018 12:35:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728159AbeINRuL (ORCPT ); Fri, 14 Sep 2018 13:50:11 -0400 Received: from lb2-smtp-cloud9.xs4all.net ([194.109.24.26]:47952 "EHLO lb2-smtp-cloud9.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727803AbeINRuL (ORCPT ); Fri, 14 Sep 2018 13:50:11 -0400 Received: from [IPv6:2001:420:44c1:2579:7dc9:1ab4:bb2d:4241] ([IPv6:2001:420:44c1:2579:7dc9:1ab4:bb2d:4241]) by smtp-cloud9.xs4all.net with ESMTPA id 0nK9gTHfirjlY0nKDgsrjG; Fri, 14 Sep 2018 14:35:53 +0200 To: Linux Media Mailing List Cc: Paul Kocialkowski , Maxime Ripard From: Hans Verkuil Subject: [GIT PULL FOR v4.20 (request_api branch)] Add Allwinner cedrus decoder driver (v2) Message-ID: Date: Fri, 14 Sep 2018 14:35:49 +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: MS4wfH2QDeSNBQDrpiidiJIyXEeip1jYkw3bnUq//Oz5g2Sbep+EeEXs3ZpKR2EQ/kedCr1ftp3TDEftxuQh0QqzvIEYAQJZYJzz/bRGnxEaMcfozCxe+ZI2 SQzTG1F1IXbTWZZPKZ55XeRFt+/GX6BXKUngvaBvIGAHeP7i6lV3KjNIk2qZA64fchh2wbDqW525/qLKQdMx/TniwOGD6j+4y7srvpIdKEKMsfw0B6d2D8+/ ZR+M77/a1Z1PJsXt2jQKooQz3iBRRuc+rvn81eILi1lgdKZ1aJleKkcytHAf3V/AlE+mghTlqOU96TAWlccZ9396BKQRg1TdzmADuDTEp/VdcCMEr+X5c0hq 9rl4bOMig2R/krZT4cRsqJbTv63IEA== 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. Note that there is a COMPILE_TEST issue with sram functions, for that another patch is needed: https://lore.kernel.org/patchwork/patch/983848/ But that's going through another subsystem and is already queued up for 4.20. The first two patches fix two trivial sparse and smatch issues. 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! I'm now using a signed tag, let me know if this works or not. Regards, Hans The following changes since commit d4215edbd4b170b207b0e5a1d8ae42fb49f5c470: media: media-request: update documentation (2018-09-11 09:58:43 -0400) are available in the Git repository at: git://linuxtv.org/hverkuil/media_tree.git tags/br-cedrus for you to fetch changes up to 615ba78ac81ce76edf5ae84981e404fd4eee3ee0: media: platform: Add Cedrus VPU decoder driver (2018-09-14 14:27:45 +0200) ---------------------------------------------------------------- Tag cedrus branch ---------------------------------------------------------------- Hans Verkuil (2): v4l2-compat-ioctl32.c: fix sparse warning v4l2-ctrls.c: fix smatch error Paul Kocialkowski (5): 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 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 + drivers/media/common/videobuf2/videobuf2-core.c | 18 +-- drivers/media/common/videobuf2/videobuf2-v4l2.c | 2 +- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 1 + drivers/media/v4l2-core/v4l2-ctrls.c | 65 +++++++- 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 | 167 +++++++++++++++++++++ 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 | 246 ++++++++++++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_regs.h | 235 +++++++++++++++++++++++++++++ drivers/staging/media/sunxi/cedrus/cedrus_video.c | 542 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 + 33 files changed, 2589 insertions(+), 24 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