From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E9EB4C3A59D for ; Fri, 16 Aug 2019 23:17:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9C1D5206C2 for ; Fri, 16 Aug 2019 23:17:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="tnBYT6Hn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727742AbfHPXRL (ORCPT ); Fri, 16 Aug 2019 19:17:11 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:35656 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727696AbfHPXRK (ORCPT ); Fri, 16 Aug 2019 19:17:10 -0400 Received: by mail-wr1-f68.google.com with SMTP id k2so2983512wrq.2 for ; Fri, 16 Aug 2019 16:17:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=2FpRJgtAOrAX8H0/6JvVtio/6bKbY2VXKF7znTPfbOg=; b=tnBYT6HnD/SqocpASJgvV3DL2W/gOokFLZw+shGNc2aUNxYaY5+VwOcAk1P3j/+0M0 KXSZQ34mtd2Q+bkhYMd+0pRwMXdM4ybagWFNFsz6kPG8EdTVFHJS8CTctyV5KpfTHiVN 3c2kWrSK0z2+c0ashraddMDGgS78Ku/YvppkMRGbfJa+z75nvPY81abw9vJZ2DaGRnAW lX9ZGCD2Xfoh7UP/ES1uq/fmljrtzfcNusv+BWbHf4r01uEP2dOHgQ/ogg/5+M3AdAVZ vF8x85SLYodsghG4dLLQ+8US8PqC1cfj6eoE8FTmoXDE1wfBOq2xsdKZijIjQo7h51Ob LfRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=2FpRJgtAOrAX8H0/6JvVtio/6bKbY2VXKF7znTPfbOg=; b=nYhrVr4rmSebxy7lwoz5rHOdMrpmUR7ygyKXGzZlrumWyQsv447LlwtyEpqTqftiyv AURP/r38PQFJxDxRtlhwkdzHUUPrxxXjjHkJV+CLjaNS7qxtWyFn70q4/UdZBbplsnVi FVmpPnxYpieSP2Wqdw0bEORWTWqVg8VzTjzf7N9mBKfYjgybsjwq5vDVuMFsRNDJqJkx vM6P0OaxrZbFui74RYWAFSvYdCIiT+ZXmnQoEoZws2ra82N01hdMzEPXF5OLWTX5p7Em oT3Sd9Sm/TA7y+QkSUQQ+OPpYlzlvFpZkHrVXQjCy3W884+7fxM5zI7P7WQ6+kN4+UrE L4fw== X-Gm-Message-State: APjAAAVLYnIIrId0VgyzP9DZBUPJOPXmiR6jYgUKczc+Fze08wJjTj7v 9zdZKacRmhtBUY4smCq8N10= X-Google-Smtp-Source: APXvYqyNSNrCLVWu5sn0y93x0+Tz2xfeNJ0WLjpPXYwwGmy8ZFiU0zF4Q7Cv7Y89s3PXZ+XBkfMDYQ== X-Received: by 2002:a5d:6b84:: with SMTP id n4mr13417545wrx.118.1565997424124; Fri, 16 Aug 2019 16:17:04 -0700 (PDT) Received: from [172.30.88.84] (sjewanfw1-nat.mentorg.com. [139.181.7.34]) by smtp.gmail.com with ESMTPSA id f10sm5200107wrs.22.2019.08.16.16.17.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Aug 2019 16:17:03 -0700 (PDT) Subject: Re: [PATCH v9] media: imx: add csc/scaler mem2mem device To: Philipp Zabel , linux-media@vger.kernel.org Cc: kernel@pengutronix.de References: <20190814122444.17920-1-p.zabel@pengutronix.de> From: Steve Longerbeam Message-ID: <0da375f8-f4b8-fc13-74a0-9dd480688327@gmail.com> Date: Fri, 16 Aug 2019 16:17:00 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190814122444.17920-1-p.zabel@pengutronix.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hi Philipp, If you haven't already, can you please test rotation with this version, with both non-tiled and tiled scaling conversions. I found rotation was broken in v8. Steve On 8/14/19 5:24 AM, Philipp Zabel wrote: > Add a single imx-media mem2mem video device that uses the IPU IC PP > (image converter post processing) task for scaling and colorspace > conversion. > On i.MX6Q/DL SoCs with two IPUs currently only the first IPU is used. > > The hardware only supports writing to destination buffers up to > 1024x1024 pixels in a single pass, arbitrary sizes can be achieved > by rendering multiple tiles per frame. > > Signed-off-by: Philipp Zabel > [slongerbeam@gmail.com: use ipu_image_convert_adjust(), fix > device_run() error handling, add missing media-device header, > unregister and remove the mem2mem device in error paths in > imx_media_probe_complete() and in imx_media_remove(), updated > for sync subdev registration] > Signed-off-by: Steve Longerbeam > --- > Changes since v8 [1]: > - Change subject to be more descriptive. > - Call video_unregister_device unconditionally, it handles gracefully > handles unregistered video devices. > - Rebased onto commit 6d01b7ff5233 ("media: staging/imx: Switch to sync > registration for IPU subdevs") > - propagate colorimetry info from queue format to image converter > - replace devm_kzalloc by kzalloc and release on video_device.release > to avoid priv being freed immediately when the driver is unbound > while a video device is still opened. This allows to get rid of > imx_media_csc_scaler_device_remove() altogether. > - update SPDX license identifier > > [1] https://patchwork.linuxtv.org/patch/55776/ > --- > drivers/staging/media/imx/Kconfig | 1 + > drivers/staging/media/imx/Makefile | 3 +- > .../staging/media/imx/imx-media-csc-scaler.c | 925 ++++++++++++++++++ > drivers/staging/media/imx/imx-media-dev.c | 28 +- > .../staging/media/imx/imx-media-internal-sd.c | 4 + > drivers/staging/media/imx/imx-media.h | 12 + > 6 files changed, 971 insertions(+), 2 deletions(-) > create mode 100644 drivers/staging/media/imx/imx-media-csc-scaler.c > > diff --git a/drivers/staging/media/imx/Kconfig b/drivers/staging/media/imx/Kconfig > index 4c726345dc25..56b4d7ea3022 100644 > --- a/drivers/staging/media/imx/Kconfig > +++ b/drivers/staging/media/imx/Kconfig > @@ -7,6 +7,7 @@ config VIDEO_IMX_MEDIA > depends on HAS_DMA > select VIDEOBUF2_DMA_CONTIG > select V4L2_FWNODE > + select V4L2_MEM2MEM_DEV > help > Say yes here to enable support for video4linux media controller > driver for the i.MX5/6 SOC. > diff --git a/drivers/staging/media/imx/Makefile b/drivers/staging/media/imx/Makefile > index aa6c4b4ad37e..9bd9e873ba7c 100644 > --- a/drivers/staging/media/imx/Makefile > +++ b/drivers/staging/media/imx/Makefile > @@ -1,6 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0 > imx6-media-objs := imx-media-dev.o imx-media-internal-sd.o \ > - imx-ic-common.o imx-ic-prp.o imx-ic-prpencvf.o imx-media-vdic.o > + imx-ic-common.o imx-ic-prp.o imx-ic-prpencvf.o imx-media-vdic.o \ > + imx-media-csc-scaler.o > > imx-media-common-objs := imx-media-capture.o imx-media-dev-common.o \ > imx-media-of.o imx-media-utils.o > diff --git a/drivers/staging/media/imx/imx-media-csc-scaler.c b/drivers/staging/media/imx/imx-media-csc-scaler.c > new file mode 100644 > index 000000000000..0cebb013831d > --- /dev/null > +++ b/drivers/staging/media/imx/imx-media-csc-scaler.c > @@ -0,0 +1,925 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > +/* > + * i.MX IPUv3 IC PP mem2mem CSC/Scaler driver > + * > + * Copyright (C) 2011 Pengutronix, Sascha Hauer > + * Copyright (C) 2018 Pengutronix, Philipp Zabel > + */ > +#include > +#include > +#include > +#include > +#include > +#include > +#include