From patchwork Fri Oct 7 16:00:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philipp Zabel X-Patchwork-Id: 9366483 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 220D660752 for ; Fri, 7 Oct 2016 16:01:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 146A22973F for ; Fri, 7 Oct 2016 16:01:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0801929743; Fri, 7 Oct 2016 16:01:22 +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=-6.9 required=2.0 tests=BAYES_00,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 AB0BB2973F for ; Fri, 7 Oct 2016 16:01:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932421AbcJGQBT (ORCPT ); Fri, 7 Oct 2016 12:01:19 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:53298 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935466AbcJGQBP (ORCPT ); Fri, 7 Oct 2016 12:01:15 -0400 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7] helo=dude.pengutronix.de.) by metis.ext.pengutronix.de with esmtp (Exim 4.80) (envelope-from ) id 1bsXaD-0002OS-De; Fri, 07 Oct 2016 18:01:13 +0200 From: Philipp Zabel To: linux-media@vger.kernel.org Cc: Steve Longerbeam , Marek Vasut , Hans Verkuil , kernel@pengutronix.de, Philipp Zabel Subject: [PATCH 04/22] [media] v4l2-subdev.h: add prepare_stream op Date: Fri, 7 Oct 2016 18:00:49 +0200 Message-Id: <20161007160107.5074-5-p.zabel@pengutronix.de> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20161007160107.5074-1-p.zabel@pengutronix.de> References: <20161007160107.5074-1-p.zabel@pengutronix.de> X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 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-media@vger.kernel.org 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 In some cases, for example MIPI CSI-2 input on i.MX6, the sending and receiving subdevice need to be prepared in lock-step before the actual streaming can start. In the i.MX6 MIPI CSI-2 case, the sender needs to put its MIPI CSI-2 transmitter lanes into stop state, and the receiver needs to configure its D-PHY and detect the stop state on all active lanes. Only then the sender can be enabled to stream data and the receiver can lock its PLL to the clock lane. This patch adds a prepare_stream(sd) callback that can be issued to all v4l2_subdevs before calling s_stream(sd, 1). Signed-off-by: Philipp Zabel --- include/media/v4l2-subdev.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index cf778c5..6502f43 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h @@ -395,6 +395,7 @@ struct v4l2_subdev_video_ops { int (*g_tvnorms)(struct v4l2_subdev *sd, v4l2_std_id *std); int (*g_tvnorms_output)(struct v4l2_subdev *sd, v4l2_std_id *std); int (*g_input_status)(struct v4l2_subdev *sd, u32 *status); + int (*prepare_stream)(struct v4l2_subdev *sd); int (*s_stream)(struct v4l2_subdev *sd, int enable); int (*g_pixelaspect)(struct v4l2_subdev *sd, struct v4l2_fract *aspect); int (*g_parm)(struct v4l2_subdev *sd, struct v4l2_streamparm *param);