diff options
| author | Imre Deak <imre.deak@intel.com> | 2026-07-01 18:31:59 +0300 |
|---|---|---|
| committer | Imre Deak <imre.deak@intel.com> | 2026-07-09 10:38:03 +0300 |
| commit | df152476d00a46bbc28f5adf046e80ee9ad60c2a (patch) | |
| tree | be039a2e436678b26b88d147377e780638bcb588 /drivers | |
| parent | d5a48b4817810a8278a880845581f8ecf1ccdd73 (diff) | |
| download | linux-next-df152476d00a46bbc28f5adf046e80ee9ad60c2a.tar.gz linux-next-df152476d00a46bbc28f5adf046e80ee9ad60c2a.zip | |
drm/i915/kunit: Setup DP link test context
Initialize a reusable test context for DP link KUnit tests. Sets up
minimal device, connector, encoder, and DP structures, and seeds the
pseudo-random generator for deterministic test runs.
Reviewed-by: MichaĆ Grzelak <michal.grzelak@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20260701153204.4124150-31-imre.deak@intel.com
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c index 62e1844605ac..aa5358c94839 100644 --- a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c +++ b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c @@ -5,7 +5,32 @@ #include <kunit/test.h> +#include <linux/compiler.h> +#include <linux/device.h> +#include <linux/prandom.h> +#include <linux/random.h> + +#include <drm/display/drm_dp_helper.h> + +#include <drm/intel/display_member.h> + +#include "intel_connector.h" +#include "intel_display_core.h" +#include "intel_display_types.h" + struct test_ctx { + struct { + struct intel_display display; + struct device device; + struct __intel_generic_device generic_device; + + struct intel_connector connector; + struct intel_digital_port dig_port; + + struct intel_crtc_state crtc_state; + } dev; + + struct rnd_state rnd; }; static struct kunit_case intel_dp_link_test_cases[] = { @@ -16,6 +41,29 @@ static struct test_ctx test_ctx; static int intel_dp_link_test_init(struct kunit *test) { + struct intel_digital_port *dig_port; + struct intel_encoder *encoder; + struct intel_dp *intel_dp; + + /* Reset the dev state for each test. */ + memset(&test_ctx.dev, 0, sizeof(test_ctx.dev)); + + test_ctx.dev.generic_device.drm.dev = &test_ctx.dev.device; + + test_ctx.dev.display.drm = &test_ctx.dev.generic_device.drm; + test_ctx.dev.generic_device.display = &test_ctx.dev.display; + + encoder = &test_ctx.dev.dig_port.base; + encoder->base.dev = &test_ctx.dev.generic_device.drm; + + dig_port = &test_ctx.dev.dig_port; + dig_port->base.type = INTEL_OUTPUT_DP; + + test_ctx.dev.connector.encoder = encoder; + + intel_dp = &dig_port->dp; + intel_dp->attached_connector = &test_ctx.dev.connector; + test->priv = &test_ctx; return 0; @@ -27,6 +75,8 @@ static void intel_dp_link_test_exit(struct kunit *test) static int intel_dp_link_test_suite_init(struct kunit_suite *test_suite) { + prandom_seed_state(&test_ctx.rnd, 0); + return 0; } |
