From: Mahesh Kumar <mahesh1.kumar@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Mahesh Kumar <mahesh1.kumar@intel.com>, dri-devel@lists.freedesktop.org
Subject: [PATCH 03/10] drm: crc: Introduce get_crc_sources callback
Date: Wed, 27 Jun 2018 20:14:09 +0530 [thread overview]
Message-ID: <20180627144416.23081-4-mahesh1.kumar@intel.com> (raw)
In-Reply-To: <20180627144416.23081-1-mahesh1.kumar@intel.com>
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.
Changes Since V1: (Daniel)
- return const pointer to an array of crc sources list
- do validation of sources in CRC-core
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: dri-devel@lists.freedesktop.org
---
drivers/gpu/drm/drm_debugfs_crc.c | 20 +++++++++++++++++++-
include/drm/drm_crtc.h | 16 ++++++++++++++++
2 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c
index 2b4a737c5aeb..a7b6d5de81de 100644
--- a/drivers/gpu/drm/drm_debugfs_crc.c
+++ b/drivers/gpu/drm/drm_debugfs_crc.c
@@ -67,9 +67,27 @@
static int crc_control_show(struct seq_file *m, void *data)
{
struct drm_crtc *crtc = m->private;
+ size_t count;
+
+ if (crtc->funcs->get_crc_sources) {
+ const char *const *sources = crtc->funcs->get_crc_sources(crtc,
+ &count);
+ size_t values_cnt;
+ int i;
+
+ if (count <= 0 || !sources)
+ goto out;
+
+ seq_puts(m, "[");
+ for (i = 0; i < count; i++)
+ if (!crtc->funcs->verify_crc_source(crtc, sources[i],
+ &values_cnt))
+ seq_printf(m, "%s ", sources[i]);
+ seq_puts(m, "] ");
+ }
+out:
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..594326664abe 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -690,6 +690,22 @@ 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:
+ *
+ * Driver callback for getting a list of all the available sources for
+ * CRC generation.
+ *
+ * This callback is optional if the driver does not support exporting of
+ * possible CRC sources list. CRC-core does the verification of sources.
+ *
+ * RETURNS:
+ *
+ * a constant character pointer to the list of all the available CRC
+ * sources
+ */
+ const char *const *(*get_crc_sources)(struct drm_crtc *crtc,
+ size_t *count);
/**
* @atomic_print_state:
--
2.16.2
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-06-27 14:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-27 14:44 [PATCH 00/10] Improve crc-core driver interface Mahesh Kumar
2018-06-27 14:44 ` [PATCH 01/10] drm: crc: Introduce verify_crc_source callback Mahesh Kumar
2018-06-27 14:44 ` [PATCH 02/10] drm: crc: Introduce pre_crc_read function Mahesh Kumar
2018-06-27 15:18 ` Maarten Lankhorst
2018-06-27 15:22 ` Kumar, Mahesh
2018-06-27 14:44 ` Mahesh Kumar [this message]
2018-06-27 14:44 ` [PATCH 04/10] drm/rockchip/crc: Implement verify_crc_source callback Mahesh Kumar
2018-06-27 14:44 ` [PATCH 05/10] drm/amdgpu_dm/crc: " Mahesh Kumar
2018-06-27 14:44 ` [PATCH 06/10] drm/rcar-du/crc: " Mahesh Kumar
2018-06-27 14:44 ` [PATCH 07/10] drm/i915/crc: implement " Mahesh Kumar
2018-06-27 14:44 ` [PATCH 08/10] drm/i915/crc: implement get_crc_sources callback Mahesh Kumar
2018-06-27 14:44 ` [PATCH 09/10] drm/crc: Cleanup crtc_crc_open function Mahesh Kumar
2018-06-27 14:44 ` [PATCH 10/10] Revert "drm: crc: Wait for a frame before returning from open()" Mahesh Kumar
2018-06-27 15:23 ` Maarten Lankhorst
2018-06-27 17:46 ` ✗ Fi.CI.BAT: failure for Improve crc-core driver interface (rev3) Patchwork
-- strict thread matches above, loose matches on Subject: below --
2018-06-26 6:22 [PATCH 00/10] Improve crc-core driver interface Mahesh Kumar
2018-06-26 6:22 ` [PATCH 03/10] drm: crc: Introduce get_crc_sources callback Mahesh Kumar
2018-06-22 10:41 [PATCH 00/10] Improve crc-core driver interface Mahesh Kumar
2018-06-22 10:41 ` [PATCH 03/10] drm: crc: Introduce get_crc_sources callback Mahesh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180627144416.23081-4-mahesh1.kumar@intel.com \
--to=mahesh1.kumar@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox