From patchwork Wed Sep 5 10:00:14 2018
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Philipp Zabel
X-Patchwork-Id: 10588727
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 F162414BD
for ;
Wed, 5 Sep 2018 10:10:19 +0000 (UTC)
Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CD6652987C
for ;
Wed, 5 Sep 2018 10:10:19 +0000 (UTC)
Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
id C1997298FB; Wed, 5 Sep 2018 10:10:19 +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=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=unavailable
version=3.3.1
Received: from bombadil.infradead.org (bombadil.infradead.org
[198.137.202.133])
(using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4C00D2987C
for ;
Wed, 5 Sep 2018 10:10:19 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=lists.infradead.org; s=bombadil.20170209; h=Sender:
Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
References:List-Owner; bh=rMt4ZFsF0hxayBpzyXmO/1ikrQqO7RdCUCXefHfKaHo=; b=IkS
3UgbcIBXvEaOfElCCiZ8cVr3lHiBg4BCmn3iAez8VzBsNurW2j6zK9kRAMQ4BOp8b0sm3/MHavlZh
5Jc/0t7DjrutiZ/eoUIwxdM9SkYQkm7OAJ0NYwTK5k7F5LIeYb67GebyflMjXnTnUDZY5ekAblBR4
p1Lm8AeMBnwqV0y7w7OY8a5/RPiSZ+vctSrgynW4OopTbU5o/sKFNe6nAvpGViIx/lFVILvOHSDps
aP6ZhYOH2AOxdWriWjB/npl+E/tJeA9VhZCb61+s0gQu9gbkQLCCbtuxVtrjbgZsPg1gDtQsD6bSI
k7ePDi4PYSsCoh1leSSn+Rbl43I9ZMw==;
Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
id 1fxUlE-0002PM-DX; Wed, 05 Sep 2018 10:10:08 +0000
Received: from metis.ext.pengutronix.de
([2001:67c:670:201:290:27ff:fe1d:cc33])
by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
id 1fxUce-0005tv-Kk
for linux-arm-kernel@lists.infradead.org; Wed, 05 Sep 2018 10:01:35 +0000
Received: from lupine.hi.pengutronix.de
([2001:67c:670:100:3ad5:47ff:feaf:1a17] helo=lupine.pengutronix.de.)
by metis.ext.pengutronix.de with esmtp (Exim 4.89)
(envelope-from )
id 1fxUcL-0000OZ-Qh; Wed, 05 Sep 2018 12:00:57 +0200
From: Philipp Zabel
To: linux-media@vger.kernel.org
Subject: [PATCH v2 0/4] i.MX PXP scaler/CSC driver
Date: Wed, 5 Sep 2018 12:00:14 +0200
Message-Id: <20180905100018.27556-1-p.zabel@pengutronix.de>
X-Mailer: git-send-email 2.11.0
X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17
X-SA-Exim-Mail-From: p.zabel@pengutronix.de
X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de);
SAEximRunCond expanded to false
X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
X-CRM114-CacheID: sfid-20180905_030116_951619_AA997FA4
X-CRM114-Status: GOOD ( 13.90 )
X-BeenThere: linux-arm-kernel@lists.infradead.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id:
List-Unsubscribe:
,
List-Archive:
List-Post:
List-Help:
List-Subscribe:
,
Cc: Jacopo Mondi , Hans Verkuil ,
kernel@pengutronix.de, Mauro Carvalho Chehab ,
Shawn Guo , linux-arm-kernel@lists.infradead.org
MIME-Version: 1.0
Sender: "linux-arm-kernel"
Errors-To:
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
X-Virus-Scanned: ClamAV using ClamSMTP
The Pixel Pipeline (PXP) is a memory-to-memory graphics processing
engine that supports scaling, colorspace conversion, alpha blending,
rotation, and pixel conversion via lookup table. Different versions are
present on various i.MX SoCs from i.MX23 to i.MX7. The latest versions
on i.MX6ULL and i.MX7D have grown an additional pipeline for dithering
and e-ink update processing that is ignored by this driver.
This series adds a V4L2 mem-to-mem scaler/CSC driver for the PXP version
found on i.MX6ULL SoCs which is a size reduced variant of the i.MX7 PXP.
The driver uses only the legacy pipeline, so it should be reasonably
easy to extend it to work with the older PXP versions found on i.MX6UL,
i.MX6SX, i.MX6SL, i.MX28, and i.MX23. The driver supports scaling and
colorspace conversion. There is currently no support for rotation,
alpha-blending, and the LUTs.
Changes since v1:
- fix node address order in imx6ul.dtsi
- add Rec.709, BT.2020, and SMPTE 240m YCbCr encoding coefficients,
list quantization errors in comments
- split ycbcr_enc and quantization into per-queue configuration,
use default encoding and quantization on capture queue
- replace strncpy with strlcpy
- use struct video_device .device_caps
- remove buffer count reduction, reqbufs will just -ENOMEM if there's not
enough memory
- register video device after m2m init
- disable clocks on failed probe
- remove superfluous whitespace
- fix YUV32 depth
- rename vidioc_* functions to pxp_*
- keep default colorimetry when set
- force ycbcr_enc and quantization to be equal for CSC bypass (RGB<->RGB
and YUV<->YUV conversions)
regards
Philipp
Philipp Zabel (4):
dt-bindings: media: Add i.MX Pixel Pipeline binding
ARM: dts: imx6ull: add pxp support
media: imx-pxp: add i.MX Pixel Pipeline driver
MAINTAINERS: add entry for i.MX PXP media mem2mem driver
.../devicetree/bindings/media/fsl-pxp.txt | 26 +
MAINTAINERS | 7 +
arch/arm/boot/dts/imx6ul.dtsi | 8 +
arch/arm/boot/dts/imx6ull.dtsi | 6 +
drivers/media/platform/Kconfig | 9 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/imx-pxp.c | 1774 +++++++++++++++++
drivers/media/platform/imx-pxp.h | 1685 ++++++++++++++++
8 files changed, 3517 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/fsl-pxp.txt
create mode 100644 drivers/media/platform/imx-pxp.c
create mode 100644 drivers/media/platform/imx-pxp.h