From: Swati Sharma <swati2.sharma@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t 4/5] lib/dsc: Add helpers for VDSC output format debugfs entry
Date: Tue, 24 Jan 2023 12:21:51 +0530 [thread overview]
Message-ID: <20230124065152.19747-5-swati2.sharma@intel.com> (raw)
In-Reply-To: <20230124065152.19747-1-swati2.sharma@intel.com>
Helper functions are added for VDSC output format debugfs entry.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
---
lib/igt_dsc.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_dsc.h | 5 +++++
lib/igt_kms.h | 8 ++++++++
3 files changed, 67 insertions(+)
diff --git a/lib/igt_dsc.c b/lib/igt_dsc.c
index 64dd6b29a..6c4ffae26 100644
--- a/lib/igt_dsc.c
+++ b/lib/igt_dsc.c
@@ -134,3 +134,57 @@ int igt_get_dsc_debugfs_fd(int drmfd, char *connector_name)
return openat(igt_debugfs_dir(drmfd), file_name, O_WRONLY);
}
+
+/*
+ * igt_is_dsc_output_format_supported_by_sink:
+ * @drmfd: A drm file descriptor
+ * @connector_name: Name of the libdrm connector we're going to use
+ * @output_format: Output format
+ *
+ * Returns: True if DSC output format is supported for the given connector,
+ * false otherwise.
+ */
+bool igt_is_dsc_output_format_supported_by_sink(int drmfd, char *connector_name,
+ enum dsc_output_format output_format)
+{
+ const char *check_str = "OUTPUTFORMATNOTFOUND";
+
+ switch(output_format) {
+ case DSC_FORMAT_DEFAULT:
+ return true;
+ case DSC_FORMAT_RGB:
+ check_str = "RGB: yes";
+ break;
+ case DSC_FORMAT_YCBCR420:
+ check_str = "YCBCR420: yes";
+ break;
+ case DSC_FORMAT_YCBCR422:
+ check_str = "YCBCR422: yes";
+ break;
+ case DSC_FORMAT_YCBCR444:
+ check_str = "YCBCR444: yes";
+ break;
+ default:
+ break;
+ }
+
+ return check_dsc_debugfs(drmfd, connector_name, check_str);
+}
+
+/*
+ * igt_force_dsc_output_format:
+ * @drmfd: A drm file descriptor
+ * @connector_name: Name of the libdrm connector we're going to use
+ * @output_format: Output format
+ *
+ * Returns: 0 on success or negative error code, in case of failure.
+ */
+int igt_force_dsc_output_format(int drmfd, char *connector_name,
+ enum dsc_output_format output_format)
+{
+ char buf[20] = {0};
+
+ sprintf(buf, "%d", output_format);
+
+ return write_dsc_debugfs(drmfd, connector_name, "i915_dsc_output_format", buf);
+}
diff --git a/lib/igt_dsc.h b/lib/igt_dsc.h
index 291c2cdea..9608aad44 100644
--- a/lib/igt_dsc.h
+++ b/lib/igt_dsc.h
@@ -7,6 +7,7 @@
#define IGT_DSC_H
#include "igt_fb.h"
+#include "igt_kms.h"
bool igt_is_dsc_supported(int drmfd, char *connector_name);
bool igt_is_fec_supported(int drmfd, char *connector_name);
@@ -15,5 +16,9 @@ bool igt_is_force_dsc_enabled(int drmfd, char *connector_name);
int igt_force_dsc_enable(int drmfd, char *connector_name);
int igt_force_dsc_enable_bpc(int drmfd, char *connector_name, int bpc);
int igt_get_dsc_debugfs_fd(int drmfd, char *connector_name);
+bool igt_is_dsc_output_format_supported_by_sink(int drmfd, char *connector_name,
+ enum dsc_output_format output_format);
+int igt_force_dsc_output_format(int drmfd, char *connector_name,
+ enum dsc_output_format output_format);
#endif
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index be5482e08..d677d39f9 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -106,6 +106,14 @@ enum igt_custom_edid_type {
*/
#define kmstest_port_name(port) ((port) + 'A')
+enum dsc_output_format {
+ DSC_FORMAT_DEFAULT,
+ DSC_FORMAT_RGB,
+ DSC_FORMAT_YCBCR420,
+ DSC_FORMAT_YCBCR422,
+ DSC_FORMAT_YCBCR444
+};
+
const char *kmstest_encoder_type_str(int type);
const char *kmstest_connector_status_str(int status);
const char *kmstest_connector_type_str(int type);
--
2.25.1
next prev parent reply other threads:[~2023-01-24 6:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-24 6:51 [igt-dev] [PATCH i-g-t 0/5] Enable VDSC output formats validation Swati Sharma
2023-01-24 6:51 ` [igt-dev] [PATCH i-g-t 1/5] lib/dsc: Fix return value Swati Sharma
2023-01-24 6:51 ` [igt-dev] [PATCH i-g-t 2/5] tests/i915/kms_dsc: Add plane_format as struct data_t member Swati Sharma
2023-01-24 6:51 ` [igt-dev] [PATCH i-g-t 3/5] tests/i915/kms_dsc: Remove pointless struct Swati Sharma
2023-01-24 10:47 ` Hogander, Jouni
2023-01-24 10:51 ` Swati Sharma
2023-01-24 6:51 ` Swati Sharma [this message]
2023-01-24 6:51 ` [igt-dev] [PATCH i-g-t 5/5] tests/i915/kms_dsc: Enable validation for VDSC output formats Swati Sharma
2023-01-24 10:53 ` Hogander, Jouni
2023-01-24 11:32 ` Swati Sharma
2023-01-24 7:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for Enable VDSC output formats validation Patchwork
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=20230124065152.19747-5-swati2.sharma@intel.com \
--to=swati2.sharma@intel.com \
--cc=igt-dev@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.