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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 16A4BC433F5 for ; Tue, 15 Feb 2022 07:55:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Mz8FqArgERV1JtwWxlZDWCEQ2CBjM9k4a+Up3oIwumY=; b=Si6lsB2WqNZpx/ towSQpKIh4GD8EE2hEm8jec/e4DzkJe2bj/SyNcz6zrxfiuStY0XRHJ7boscPKZAYTjqhvVJrMbeo f8z4kold79Ztap9minnIDo1jKhwZU/6mcdZjBSEQldJSuApxI3ghm2jHDlp9Aa5pXENmZ9VnROI+j rOLDzxlvfu9eOuWMPi3c86pmuwJor8OWm6ThA2AeD9wGKmHEZiQQLxwyJhmWZro3Yp3Pq5MyI5Q4b izDnciLfv66O6z9xcsJrFDlqAmN0zhWfreb6Krgh/DQW8boNzp+fQMxhk7qg164jH51f8R1Uwvxpp 9W03mn/Vn8626UHTnqLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJses-001O76-6K; Tue, 15 Feb 2022 07:53:58 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJseo-001O4m-Jx for linux-arm-kernel@lists.infradead.org; Tue, 15 Feb 2022 07:53:56 +0000 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id F311B315; Tue, 15 Feb 2022 08:53:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1644911633; bh=7ATJ6C51d10GiKyu3AsQFR7KYr0FiUdZtqe/hL2xLBo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Fe8h4Ix/bI8W5/Z518PktjodKQWprEafFzmdjQO64loctLTShcE01zvI215HqabWs iV/Ad8chC5Luez5pEDoo+gK1SHRvYQb/+R44+lZqWTBsCkhdrdeitZTpb7Y2eq8rED TcViXBDl93VZjB3FTpYO3ae20e16kWkKlI/OqVSI= Date: Tue, 15 Feb 2022 09:53:46 +0200 From: Laurent Pinchart To: Alexander Stein Cc: Steve Longerbeam , Philipp Zabel , Mauro Carvalho Chehab , Greg Kroah-Hartman , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Rui Miguel Silva , Dorota Czaplejewicz , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/9] media: imx: Store the type of hardware implementation Message-ID: References: <20220211142752.779952-1-alexander.stein@ew.tq-group.com> <20220211142752.779952-2-alexander.stein@ew.tq-group.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220211142752.779952-2-alexander.stein@ew.tq-group.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220214_235354_835162_88940FDD X-CRM114-Status: GOOD ( 25.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Alexander and Dorota, Thank you for the patch. On Fri, Feb 11, 2022 at 03:27:44PM +0100, Alexander Stein wrote: > From: Dorota Czaplejewicz > > The driver covers i.MX5/6, as well as i.MX7/8 hardware. > Those implementations differ, e.g. in the sizes of buffers they accept. > > Some functionality should be abstracted, and storing type achieves that. As much as I'd love it one of you would pick https://gitlab.com/ideasonboard/nxp/linux/-/tree/pinchartl/csi-bridge/destage and bring it to completion, I won't ask for yak shaving. Could you however mention in the commit message that this is a temporary solution ? Maybe as follows: This is a temporary solution until the imx7-media-csi driver gets decoupled from the helpers shared with the i.MX6 implementation, and should be reverted once this happens. With that, Reviewed-by: Laurent Pinchart > Signed-off-by: Dorota Czaplejewicz > Signed-off-by: Alexander Stein > --- > Changes in v2: > * Switch back to using enum > > drivers/staging/media/imx/imx-ic-prpencvf.c | 3 ++- > drivers/staging/media/imx/imx-media-capture.c | 5 ++++- > drivers/staging/media/imx/imx-media-csi.c | 3 ++- > drivers/staging/media/imx/imx-media.h | 8 +++++++- > drivers/staging/media/imx/imx7-media-csi.c | 3 ++- > 5 files changed, 17 insertions(+), 5 deletions(-) > > diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c b/drivers/staging/media/imx/imx-ic-prpencvf.c > index 9b81cfbcd777..671bb9a681aa 100644 > --- a/drivers/staging/media/imx/imx-ic-prpencvf.c > +++ b/drivers/staging/media/imx/imx-ic-prpencvf.c > @@ -1266,7 +1266,8 @@ static int prp_registered(struct v4l2_subdev *sd) > > priv->vdev = imx_media_capture_device_init(ic_priv->ipu_dev, > &ic_priv->sd, > - PRPENCVF_SRC_PAD, true); > + PRPENCVF_SRC_PAD, true, > + DEVICE_TYPE_IMX56); > if (IS_ERR(priv->vdev)) > return PTR_ERR(priv->vdev); > > diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c > index 93ba09236010..65dc95a48ecc 100644 > --- a/drivers/staging/media/imx/imx-media-capture.c > +++ b/drivers/staging/media/imx/imx-media-capture.c > @@ -34,6 +34,7 @@ struct capture_priv { > > struct imx_media_video_dev vdev; /* Video device */ > struct media_pad vdev_pad; /* Video device pad */ > + enum imx_media_device_type type; /* Type of hardware implementation */ > > struct v4l2_subdev *src_sd; /* Source subdev */ > int src_sd_pad; /* Source subdev pad */ > @@ -957,7 +958,8 @@ EXPORT_SYMBOL_GPL(imx_media_capture_device_unregister); > > struct imx_media_video_dev * > imx_media_capture_device_init(struct device *dev, struct v4l2_subdev *src_sd, > - int pad, bool legacy_api) > + int pad, bool legacy_api, > + enum imx_media_device_type type) > { > struct capture_priv *priv; > struct video_device *vfd; > @@ -972,6 +974,7 @@ imx_media_capture_device_init(struct device *dev, struct v4l2_subdev *src_sd, > priv->src_sd_pad = pad; > priv->dev = dev; > priv->legacy_api = legacy_api; > + priv->type = type; > > mutex_init(&priv->mutex); > INIT_LIST_HEAD(&priv->ready_q); > diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c > index bd7f156f2d52..d5557bb4913d 100644 > --- a/drivers/staging/media/imx/imx-media-csi.c > +++ b/drivers/staging/media/imx/imx-media-csi.c > @@ -1803,7 +1803,8 @@ static int csi_registered(struct v4l2_subdev *sd) > } > > priv->vdev = imx_media_capture_device_init(priv->sd.dev, &priv->sd, > - CSI_SRC_PAD_IDMAC, true); > + CSI_SRC_PAD_IDMAC, true, > + DEVICE_TYPE_IMX56); > if (IS_ERR(priv->vdev)) { > ret = PTR_ERR(priv->vdev); > goto free_fim; > diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h > index f263fc3adbb9..e4c22b3ccd57 100644 > --- a/drivers/staging/media/imx/imx-media.h > +++ b/drivers/staging/media/imx/imx-media.h > @@ -96,6 +96,11 @@ enum imx_pixfmt_sel { > PIXFMT_SEL_ANY = PIXFMT_SEL_YUV | PIXFMT_SEL_RGB | PIXFMT_SEL_BAYER, > }; > > +enum imx_media_device_type { > + DEVICE_TYPE_IMX56, > + DEVICE_TYPE_IMX78, > +}; > + > struct imx_media_buffer { > struct vb2_v4l2_buffer vbuf; /* v4l buffer must be first */ > struct list_head list; > @@ -282,7 +287,8 @@ int imx_media_ic_unregister(struct v4l2_subdev *sd); > /* imx-media-capture.c */ > struct imx_media_video_dev * > imx_media_capture_device_init(struct device *dev, struct v4l2_subdev *src_sd, > - int pad, bool legacy_api); > + int pad, bool legacy_api, > + enum imx_media_device_type type); > void imx_media_capture_device_remove(struct imx_media_video_dev *vdev); > int imx_media_capture_device_register(struct imx_media_video_dev *vdev, > u32 link_flags); > diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c > index 32311fc0e2a4..173dd014c2d6 100644 > --- a/drivers/staging/media/imx/imx7-media-csi.c > +++ b/drivers/staging/media/imx/imx7-media-csi.c > @@ -1039,7 +1039,8 @@ static int imx7_csi_registered(struct v4l2_subdev *sd) > } > > csi->vdev = imx_media_capture_device_init(csi->sd.dev, &csi->sd, > - IMX7_CSI_PAD_SRC, false); > + IMX7_CSI_PAD_SRC, false, > + DEVICE_TYPE_IMX78); > if (IS_ERR(csi->vdev)) > return PTR_ERR(csi->vdev); > -- Regards, Laurent Pinchart _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel