From patchwork Tue Jun 26 06:22:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kumar, Mahesh" X-Patchwork-Id: 10488005 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 09F70602D8 for ; Tue, 26 Jun 2018 06:22:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EED7F2875E for ; Tue, 26 Jun 2018 06:22:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E3D8528763; Tue, 26 Jun 2018 06:22:01 +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=-5.2 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A6F912875E for ; Tue, 26 Jun 2018 06:22:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 173D26E358; Tue, 26 Jun 2018 06:21:54 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51A9389B69; Tue, 26 Jun 2018 06:21:47 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jun 2018 23:21:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,273,1526367600"; d="scan'208";a="240307329" Received: from unknown (HELO localhost.localdomain) ([10.223.25.241]) by fmsmga005.fm.intel.com with ESMTP; 25 Jun 2018 23:21:42 -0700 From: Mahesh Kumar To: intel-gfx@lists.freedesktop.org Date: Tue, 26 Jun 2018 11:52:52 +0530 Message-Id: <20180626062259.15563-4-mahesh1.kumar@intel.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180626062259.15563-1-mahesh1.kumar@intel.com> References: <20180626062259.15563-1-mahesh1.kumar@intel.com> Subject: [Intel-gfx] [PATCH 03/10] drm: crc: Introduce get_crc_sources callback X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP This patch implements a callback function "get_crc_sources" which will be called during read of control node. It is an optional callback function and if driver implements this callback, driver should print list of available CRC sources in seq_file privided as an input to the callback. Signed-off-by: Mahesh Kumar Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/drm_debugfs_crc.c | 3 +++ include/drm/drm_crtc.h | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c index 2b4a737c5aeb..2751d124387d 100644 --- a/drivers/gpu/drm/drm_debugfs_crc.c +++ b/drivers/gpu/drm/drm_debugfs_crc.c @@ -68,6 +68,9 @@ static int crc_control_show(struct seq_file *m, void *data) { struct drm_crtc *crtc = m->private; + if (crtc->funcs->get_crc_sources) + crtc->funcs->get_crc_sources(m, crtc); + seq_printf(m, "%s\n", crtc->crc.source); return 0; diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index bae432469616..b3824f92c190 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -690,6 +690,16 @@ struct drm_crtc_funcs { * 0 on success or a negative error code on failure. */ int (*pre_crc_read)(struct drm_crtc *crtc); + /** + * @get_crc_sources: + * + * prints a list of available valid sources for CRC generation on + * seq_file + * + * This callback is optional if the driver does not support exporting of + * possible CRC sources list + */ + void (*get_crc_sources)(struct seq_file *m, struct drm_crtc *crtc); /** * @atomic_print_state: