From patchwork Wed Aug 1 15:55:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 10552579 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 418B9139A for ; Wed, 1 Aug 2018 15:55:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 305A62A163 for ; Wed, 1 Aug 2018 15:55:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 248BA2A262; Wed, 1 Aug 2018 15:55:27 +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.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID 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 9EEE52A163 for ; Wed, 1 Aug 2018 15:55:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389972AbeHARlr (ORCPT ); Wed, 1 Aug 2018 13:41:47 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:56540 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389950AbeHARlo (ORCPT ); Wed, 1 Aug 2018 13:41:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Sender:Message-Id:Date:Subject:Cc:To: From:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=3AqQzcY4wloR9Vb/y9h3WVqdbLyFpH0gVT/EvYY83X0=; b=FEtIYqlhPq3dAHruui9pcz5pTp CholZi4embtliWWa22BOLc1m9Sh/UV7V6xUJerZ4ho2b678q3bTbVhSlM2moVcXRWyKbWCdDjYYTM dQ2F+Io091BGZvrgMhK/FvglAQgpAGdxowVXfTfKD+PNmlw4UMzIXVIAAD9tMnsQLQv/FYfler1ws nGAW2NnzAit17QBrHoQlUxux1veDgFccYtmKuKKkWLQIhTkr/+6fTSuSk08GJb7fksJC8cl26lFAf HFT0FlXUUFZ2EH4yFssV+6+xI8v+f2KOZ5v5nmPSk3/D+fvMJVe7fcPhivMWC1zHxDBpHZv9phxnt Sh1W/9lA==; Received: from [179.182.165.210] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1fktT7-0005o5-L7; Wed, 01 Aug 2018 15:55:21 +0000 Received: from mchehab by bombadil.infradead.org with local (Exim 4.91) (envelope-from ) id 1fktT5-0003wK-01; Wed, 01 Aug 2018 12:55:19 -0300 From: Mauro Carvalho Chehab To: Linux Media Mailing List Cc: Mauro Carvalho Chehab , Mauro Carvalho Chehab , Kees Cook , Devin Heitmueller , Philippe Ombredanne , Pravin Shedge , Brian Warner , Bhumika Goyal , Kate Stewart , Max Kellermann , Shuah Khan , Michael Krufky , Laurent Pinchart , Sakari Ailus , Antti Palosaari , Nasser Afshin , Marco Felsch , Javier Martinez Canillas , Hans Verkuil , Philipp Zabel , "Gustavo A. R. Silva" , Thomas Gleixner , Hans Verkuil , Greg Kroah-Hartman Subject: [PATCH 00/13] Better handle pads for tuning/decoder part of the devices Date: Wed, 1 Aug 2018 12:55:02 -0300 Message-Id: X-Mailer: git-send-email 2.17.1 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 At PC consumer devices, it is very common that the bridge same driver to be attached to different types of tuners and demods. We need a way for the Kernel to properly identify what kind of signal is provided by each PAD, in order to properly setup the pipelines. The previous approach were to hardcode a fixed number of PADs for all elements of the same type. This is not good, as different devices may actually have a different number of pads. It was acceptable in the past, as there were a promisse of adding "soon" a properties API that would allow to identify the type for each PADs, but this was never merged (or even a patchset got submitted). So, replace this approach by another one: add a "taint" mark to pads that contain different types of signals. I tried to minimize the number of signals, in order to make it simpler to convert from the past way. For now, it is tested only with a simple grabber device. I intend to do more tests before merging it, but it would be interesting to have this merged for Kernel 4.19, as we'll now be exposing the pad index via the MC API version 2. Mauro Carvalho Chehab (13): media: v4l2: remove VBI output pad media: v4l2: taint pads with the signal types for consumer devices v4l2-mc: switch it to use the new approach to setup pipelines media: dvb: use signals to discover pads media: au0828: use signals instead of hardcoding a pad number media: au8522: declare its own pads media: msp3400: declare its own pads media: saa7115: declare its own pads media: tvp5150: declare its own pads media: si2157: declare its own pads media: saa7134: declare its own pads media: mxl111sf: declare its own pads media: v4l2-mc: get rid of global pad indexes drivers/media/dvb-core/dvbdev.c | 19 +++-- drivers/media/dvb-frontends/au8522_decoder.c | 10 ++- drivers/media/dvb-frontends/au8522_priv.h | 9 ++- drivers/media/i2c/msp3400-driver.c | 6 +- drivers/media/i2c/msp3400-driver.h | 8 +- drivers/media/i2c/saa7115.c | 18 +++-- drivers/media/i2c/tvp5150.c | 21 ++++-- drivers/media/media-entity.c | 26 +++++++ drivers/media/pci/saa7134/saa7134-core.c | 9 ++- drivers/media/pci/saa7134/saa7134.h | 8 +- drivers/media/tuners/si2157.c | 11 ++- drivers/media/tuners/si2157_priv.h | 9 ++- drivers/media/usb/au0828/au0828-core.c | 12 +-- drivers/media/usb/dvb-usb-v2/mxl111sf.c | 8 +- drivers/media/usb/dvb-usb-v2/mxl111sf.h | 8 +- drivers/media/v4l2-core/tuner-core.c | 18 +++++ drivers/media/v4l2-core/v4l2-mc.c | 73 +++++++++++++----- include/media/media-entity.h | 54 ++++++++++++++ include/media/v4l2-mc.h | 78 -------------------- 19 files changed, 266 insertions(+), 139 deletions(-) Acked-by: Hans Verkuil