From: Abhinav Kumar <quic_abhinavk@quicinc.com>
To: Jessica Zhang <quic_jesszhan@quicinc.com>,
Rob Clark <robdclark@gmail.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
"Sean Paul" <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
"David Airlie" <airlied@gmail.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Simona Vetter <simona@ffwll.ch>,
Simona Vetter <simona.vetter@ffwll.ch>
Cc: quic_ebharadw@quicinc.com, linux-arm-msm@vger.kernel.org,
dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
linux-kernel@vger.kernel.org,
"Rob Clark" <robdclark@chromium.org>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>
Subject: Re: [PATCH v4 02/25] drm/tests: Add test for drm_crtc_in_clone_mode()
Date: Mon, 16 Dec 2024 18:06:20 -0800 [thread overview]
Message-ID: <44fbe707-c4e4-48fe-9a15-16e3c78db5d6@quicinc.com> (raw)
In-Reply-To: <20241216-concurrent-wb-v4-2-fe220297a7f0@quicinc.com>
On 12/16/2024 4:43 PM, Jessica Zhang wrote:
> Add kunit test to validate drm_crtc_in_clone_mode() helper
>
> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
> drivers/gpu/drm/tests/drm_atomic_state_test.c | 62 ++++++++++++++++++++++++++-
> 1 file changed, 61 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/tests/drm_atomic_state_test.c b/drivers/gpu/drm/tests/drm_atomic_state_test.c
> index be1f780249450ead7fbfd19ea98c96b442a94478..79bc5a9aedbf77aaf4b369a5fe62b6344e6859cf 100644
> --- a/drivers/gpu/drm/tests/drm_atomic_state_test.c
> +++ b/drivers/gpu/drm/tests/drm_atomic_state_test.c
> @@ -17,6 +17,12 @@
>
> #define DRM_TEST_CONN_0 BIT(0)
>
> +struct drm_clone_mode_test {
> + const char *name;
> + u32 encoder_mask;
> + int expected_result;
> +};
> +
> static const struct drm_display_mode drm_atomic_test_mode = {
> DRM_MODE("1024x768", 0, 65000, 1024, 1048,
> 1184, 1344, 0, 768, 771, 777, 806, 0,
> @@ -227,17 +233,71 @@ static void drm_test_check_connector_changed_modeset(struct kunit *test)
> KUNIT_ASSERT_EQ(test, modeset_counter, initial_modeset_count + 1);
> }
>
> +/*
> + * Test that the drm_crtc_in_clone_mode() helper can detect if a given CRTC
> + * state is in clone mode
> + */
> +static void drm_test_check_in_clone_mode(struct kunit *test)
> +{
> + bool ret;
> + const struct drm_clone_mode_test *param = test->param_value;
> + struct drm_crtc_state *crtc_state;
> +
> + crtc_state = kunit_kzalloc(test, sizeof(*crtc_state), GFP_KERNEL);
> + KUNIT_ASSERT_NOT_NULL(test, crtc_state);
> +
> + crtc_state->encoder_mask = param->encoder_mask;
> +
> + ret = drm_crtc_in_clone_mode(crtc_state);
> +
> + KUNIT_ASSERT_EQ(test, ret, param->expected_result);
> +}
> +
> +static void drm_check_in_clone_mode_desc(const struct drm_clone_mode_test *t,
> + char *desc)
> +{
> + sprintf(desc, "%s", t->name);
> +}
> +
> +static const struct drm_clone_mode_test drm_clone_mode_tests[] = {
> + {
> + .name = "in_clone_mode",
> + .encoder_mask = DRM_TEST_ENC_0 | DRM_TEST_ENC_1,
> + .expected_result = true,
> + },
> + {
> + .name = "not_in_clone_mode",
> + .encoder_mask = DRM_TEST_ENC_0,
> + .expected_result = false,
> + },
> +};
I think now, this series also depends on
https://patchwork.kernel.org/project/dri-devel/list/?series=916960 for
these ENC defines. Please indicate it in the cover letter and if we get
an ack to merge it through msm tree, we can absorb in in this series itself.
LGTM otherwise,
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> +
> +KUNIT_ARRAY_PARAM(drm_check_in_clone_mode, drm_clone_mode_tests,
> + drm_check_in_clone_mode_desc);
> +
> static struct kunit_case drm_test_check_modeset_test[] = {
> KUNIT_CASE(drm_test_check_connector_changed_modeset),
> {}
> };
>
> +static struct kunit_case drm_in_clone_mode_check_test[] = {
> + KUNIT_CASE_PARAM(drm_test_check_in_clone_mode,
> + drm_check_in_clone_mode_gen_params),
> + {}
> +};
> +
> static struct kunit_suite drm_test_check_modeset_test_suite = {
> .name = "drm_validate_modeset",
> .test_cases = drm_test_check_modeset_test,
> };
>
> -kunit_test_suite(drm_test_check_modeset_test_suite);
> +static struct kunit_suite drm_in_clone_mode_check_test_suite = {
> + .name = "drm_validate_clone_mode",
> + .test_cases = drm_in_clone_mode_check_test,
> +};
> +
> +kunit_test_suites(&drm_in_clone_mode_check_test_suite,
> + &drm_test_check_modeset_test_suite);
>
> MODULE_AUTHOR("Jessica Zhang <quic_jesszhan@quicinc.com");
> MODULE_DESCRIPTION("Test cases for the drm_atomic_helper functions");
>
next prev parent reply other threads:[~2024-12-17 2:06 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-17 0:43 [PATCH v4 00/25] drm/msm/dpu: Add Concurrent Writeback Support for DPU 10.x+ Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 01/25] drm: add clone mode check for CRTC Jessica Zhang
2024-12-17 1:49 ` Abhinav Kumar
2024-12-17 17:16 ` Maxime Ripard
2024-12-17 0:43 ` [PATCH v4 02/25] drm/tests: Add test for drm_crtc_in_clone_mode() Jessica Zhang
2024-12-17 2:06 ` Abhinav Kumar [this message]
2024-12-17 17:17 ` Maxime Ripard
2024-12-17 0:43 ` [PATCH v4 03/25] drm: Add valid clones check Jessica Zhang
2024-12-17 17:17 ` Maxime Ripard
2024-12-17 0:43 ` [PATCH v4 04/25] drm/tests: Add test for drm_atomic_helper_check_modeset() Jessica Zhang
2024-12-17 12:14 ` Maxime Ripard
2024-12-17 0:43 ` [PATCH v4 05/25] drm/msm/dpu: get rid of struct dpu_rm_requirements Jessica Zhang
2024-12-17 1:26 ` Dmitry Baryshkov
2024-12-17 2:11 ` Abhinav Kumar
2024-12-17 0:43 ` [PATCH v4 06/25] drm/msm/dpu: switch RM to use crtc_id rather than enc_id for allocation Jessica Zhang
2024-12-24 4:45 ` Dmitry Baryshkov
2024-12-24 20:00 ` Dmitry Baryshkov
2025-01-15 5:28 ` Jessica Zhang
2025-01-15 9:56 ` Dmitry Baryshkov
2025-01-16 4:13 ` Jessica Zhang
2025-01-16 7:32 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 07/25] drm/msm/dpu: move resource allocation to CRTC Jessica Zhang
2024-12-17 1:47 ` Abhinav Kumar
2024-12-20 2:32 ` Dmitry Baryshkov
2024-12-20 2:50 ` Dmitry Baryshkov
2024-12-24 5:02 ` Dmitry Baryshkov
2024-12-26 18:14 ` Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 08/25] drm/msm/dpu: fill CRTC resources in dpu_crtc.c Jessica Zhang
2024-12-17 1:39 ` Abhinav Kumar
2024-12-20 2:40 ` Dmitry Baryshkov
2024-12-20 2:52 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 09/25] drm/msm/dpu: Add CWB entry to catalog for SM8650 Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 10/25] drm/msm/dpu: Specify dedicated CWB pingpong blocks Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 11/25] drm/msm/dpu: add devcoredumps for cwb registers Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 12/25] drm/msm/dpu: Add dpu_hw_cwb abstraction for CWB block Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 13/25] drm/msm/dpu: add CWB support to dpu_hw_wb Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 14/25] drm/msm/dpu: Add RM support for allocating CWB Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 15/25] drm/msm/dpu: Add CWB to msm_display_topology Jessica Zhang
2024-12-20 5:03 ` Dmitry Baryshkov
2025-01-03 18:03 ` Jessica Zhang
2025-01-03 18:16 ` Dmitry Baryshkov
2025-01-09 22:34 ` Jessica Zhang
2025-01-10 0:00 ` Dmitry Baryshkov
2025-01-10 0:30 ` Jessica Zhang
2025-01-10 1:42 ` Dmitry Baryshkov
2025-01-10 1:50 ` Jessica Zhang
2025-01-10 2:10 ` Dmitry Baryshkov
2025-01-10 22:08 ` Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 16/25] drm/msm/dpu: Require modeset if clone mode status changes Jessica Zhang
2024-12-20 5:41 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 17/25] drm/msm/dpu: Fail atomic_check if CWB and CDM are enabled Jessica Zhang
2024-12-20 5:44 ` Dmitry Baryshkov
2024-12-26 22:51 ` Jessica Zhang
2024-12-30 23:59 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 18/25] drm/msm/dpu: Reserve resources for CWB Jessica Zhang
2024-12-20 5:52 ` Dmitry Baryshkov
2024-12-21 0:12 ` Jessica Zhang
2024-12-21 1:07 ` Dmitry Baryshkov
2024-12-26 22:49 ` Jessica Zhang
2024-12-29 4:47 ` Dmitry Baryshkov
2025-01-09 21:26 ` Jessica Zhang
2025-01-09 22:13 ` Dmitry Baryshkov
2025-01-09 22:53 ` Jessica Zhang
2025-01-10 0:02 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 19/25] drm/msm/dpu: Configure CWB in writeback encoder Jessica Zhang
2024-12-20 5:55 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 20/25] drm/msm/dpu: Support CWB in dpu_hw_ctl Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 21/25] drm/msm/dpu: Adjust writeback phys encoder setup for CWB Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 22/25] drm/msm/dpu: Start frame done timer after encoder kickoff Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 23/25] drm/msm/dpu: Skip trigger flush and start for CWB Jessica Zhang
2024-12-17 0:43 ` [PATCH v4 24/25] drm/msm/dpu: Reorder encoder kickoff " Jessica Zhang
2024-12-20 6:00 ` Dmitry Baryshkov
2024-12-17 0:43 ` [PATCH v4 25/25] drm/msm/dpu: Set possible clones for all encoders Jessica Zhang
2024-12-20 5:11 ` [PATCH v4 00/25] drm/msm/dpu: Add Concurrent Writeback Support for DPU 10.x+ Dmitry Baryshkov
2024-12-20 18:46 ` Jessica Zhang
2024-12-24 20:41 ` Dmitry Baryshkov
2025-01-07 23:50 ` (subset) " Dmitry Baryshkov
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=44fbe707-c4e4-48fe-9a15-16e3c78db5d6@quicinc.com \
--to=quic_abhinavk@quicinc.com \
--cc=airlied@gmail.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marijn.suijten@somainline.org \
--cc=mripard@kernel.org \
--cc=quic_ebharadw@quicinc.com \
--cc=quic_jesszhan@quicinc.com \
--cc=robdclark@chromium.org \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=simona.vetter@ffwll.ch \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=ville.syrjala@linux.intel.com \
/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
all inboxes | Powered by JetHome®