From: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
To: Moahmmed Bilal <mohammed.bilal@intel.com>,
<igt-dev@lists.freedesktop.org>
Cc: <jeevan.b@intel.com>, <kunal1.joshi@intel.com>
Subject: Re: [PATCH i-g-t 2/2] RFC: chamelium/kms_chamelium_hpd: use helper function for connector lookup in DP/HDMI/VGA tests
Date: Fri, 5 Dec 2025 11:29:13 +0100 [thread overview]
Message-ID: <DEQ7NZ3TEKXT.2WOLP25UXM7HS@intel.com> (raw)
In-Reply-To: <20251205074602.658783-3-mohammed.bilal@intel.com>
Hi Moahmmed
On Fri Dec 5, 2025 at 8:46 AM CET, Moahmmed Bilal wrote:
> From: Mohammed Bilal <mohammed.bilal@intel.com>
>
> Use the new get_port() helper to retrieve the appropriate connector for each
> hotplug subtest, ensuring consistent connector handling across DP/HDMI/VGA
> tests. Also remove the per-connector igt_fixture blocks, as they were being
> executed regardless of which subtest was run. The helper-based approach avoids
> unwanted fixture execution and keeps connector selection simple and reliable.
>
> Signed-off-by: Mohammed Bilal <mohammed.bilal@intel.com>
> ---
> tests/chamelium/kms_chamelium_hpd.c | 411 +++++++++++++++++++---------
> 1 file changed, 288 insertions(+), 123 deletions(-)
>
> diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
> index 3c8af63bd..840363311 100644
> --- a/tests/chamelium/kms_chamelium_hpd.c
> +++ b/tests/chamelium/kms_chamelium_hpd.c
> @@ -440,7 +440,6 @@ static void test_hpd_storm_detect(chamelium_data_t *data,
> igt_hpd_storm_set_threshold(data->drm_fd, 1);
> chamelium_fire_hpd_pulses(data->chamelium, port, width, 10);
> igt_assert(igt_hpd_storm_detected(data->drm_fd));
> -
Please preserve the existing line breaks.
> mon = igt_watch_uevents();
> chamelium_fire_hpd_pulses(data->chamelium, port, width, 10);
>
> @@ -478,156 +477,327 @@ IGT_TEST_DESCRIPTION("Testing HPD with a Chamelium board");
> igt_main
> {
> chamelium_data_t data;
> - struct chamelium_port *port;
> - int p;
>
> igt_fixture {
> chamelium_init_test(&data);
> }
>
> - igt_describe("DisplayPort tests");
> - igt_subtest_group {
> - igt_fixture {
> - chamelium_require_connector_present(
> - data.ports, DRM_MODE_CONNECTOR_DisplayPort,
> - data.port_count, 1);
> - }
> +igt_describe("DP tests");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("dp-hpd", DisplayPort)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_DP_HDMI,
> - TEST_MODESET_OFF);
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("dp-hpd")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("dp-hpd-fast", DisplayPort) test_hotplug(
> - &data, port, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("dp-hpd-enable-disable-mode", DisplayPort)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON_OFF);
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_DP_HDMI, TEST_MODESET_OFF);
> + }
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("dp-hpd-with-enabled-mode", DisplayPort)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON);
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("dp-hpd-fast")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_hotplug_for_each_pipe_desc);
> - connector_subtest("dp-hpd-for-each-pipe", DisplayPort)
> - test_hotplug_for_each_pipe(&data, port);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("dp-hpd-after-suspend", DisplayPort)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_MEM,
> - SUSPEND_TEST_NONE);
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + }
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("dp-hpd-after-hibernate", DisplayPort)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_DISK,
> - SUSPEND_TEST_DEVICES);
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("dp-hpd-enable-disable-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_hpd_storm_detect_desc);
> - connector_subtest("dp-hpd-storm", DisplayPort)
> - test_hpd_storm_detect(&data, port,
> - HPD_STORM_PULSE_INTERVAL_DP);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_hpd_storm_disable_desc);
> - connector_subtest("dp-hpd-storm-disable", DisplayPort)
> - test_hpd_storm_disable(&data, port,
> - HPD_STORM_PULSE_INTERVAL_DP);
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON_OFF);
> }
>
> - igt_describe("HDMI tests");
> - igt_subtest_group {
> - igt_fixture {
> - chamelium_require_connector_present(
> - data.ports, DRM_MODE_CONNECTOR_HDMIA,
> - data.port_count, 1);
> - }
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("dp-hpd-with-enabled-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
> +
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("hdmi-hpd", HDMIA)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_DP_HDMI,
> - TEST_MODESET_OFF);
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON);
> + }
> +
> + igt_describe(test_hotplug_for_each_pipe_desc);
> + igt_subtest("dp-hpd-for-each-pipe")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("hdmi-hpd-fast", HDMIA) test_hotplug(
> - &data, port, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("hdmi-hpd-enable-disable-mode", HDMIA)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON_OFF);
> + test_hotplug_for_each_pipe(&data, hport);
> + }
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("hdmi-hpd-with-enabled-mode", HDMIA)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON);
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("dp-hpd-after-suspend")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_hotplug_for_each_pipe_desc);
> - connector_subtest("hdmi-hpd-for-each-pipe", HDMIA)
> - test_hotplug_for_each_pipe(&data, port);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("hdmi-hpd-after-suspend", HDMIA)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_MEM,
> - SUSPEND_TEST_NONE);
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
> + }
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("hdmi-hpd-after-hibernate", HDMIA)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_DISK,
> - SUSPEND_TEST_DEVICES);
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("dp-hpd-after-hibernate")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_hpd_storm_detect_desc);
> - connector_subtest("hdmi-hpd-storm", HDMIA)
> - test_hpd_storm_detect(&data, port,
> - HPD_STORM_PULSE_INTERVAL_HDMI);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_hpd_storm_disable_desc);
> - connector_subtest("hdmi-hpd-storm-disable", HDMIA)
> - test_hpd_storm_disable(&data, port,
> - HPD_STORM_PULSE_INTERVAL_HDMI);
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_DISK, SUSPEND_TEST_DEVICES);
> }
>
> - igt_describe("VGA tests");
> - igt_subtest_group {
> - igt_fixture {
> - chamelium_require_connector_present(
> - data.ports, DRM_MODE_CONNECTOR_VGA,
> - data.port_count, 1);
> - }
> + igt_describe(test_hpd_storm_detect_desc);
> + igt_subtest("dp-hpd-storm")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
> +
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("vga-hpd", VGA) test_hotplug(
> - &data, port, HPD_TOGGLE_COUNT_VGA, TEST_MODESET_OFF);
> + test_hpd_storm_detect(&data, hport, HPD_STORM_PULSE_INTERVAL_DP);
> + }
> +
> + igt_describe(test_hpd_storm_disable_desc);
> + igt_subtest("dp-hpd-storm-disable")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_DisplayPort);
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("vga-hpd-fast", VGA) test_hotplug(
> - &data, port, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + if (!hport)
> + igt_skip("DP connector not available\n");
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("vga-hpd-enable-disable-mode", VGA)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON_OFF);
> + test_hpd_storm_disable(&data, hport, HPD_STORM_PULSE_INTERVAL_DP);
> + }
>
> - igt_describe(test_basic_hotplug_desc);
> - connector_subtest("vga-hpd-with-enabled-mode", VGA)
> - test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> - TEST_MODESET_ON);
> +igt_describe("HDMI tests");
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("vga-hpd-after-suspend", VGA)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_MEM,
> - SUSPEND_TEST_NONE);
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("hdmi-hpd")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
>
> - igt_describe(test_suspend_resume_hpd_desc);
> - connector_subtest("vga-hpd-after-hibernate", VGA)
> - test_suspend_resume_hpd(&data, port, SUSPEND_STATE_DISK,
> - SUSPEND_TEST_DEVICES);
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
>
> - igt_describe(test_hpd_without_ddc_desc);
> - connector_subtest("vga-hpd-without-ddc", VGA)
> - test_hpd_without_ddc(&data, port);
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_DP_HDMI, TEST_MODESET_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("hdmi-hpd-fast")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("hdmi-hpd-enable-disable-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("hdmi-hpd-with-enabled-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON);
> + }
> +
> + igt_describe(test_hotplug_for_each_pipe_desc);
> + igt_subtest("hdmi-hpd-for-each-pipe")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hotplug_for_each_pipe(&data, hport);
> + }
> +
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("hdmi-hpd-after-suspend")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
> + }
> +
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("hdmi-hpd-after-hibernate")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_DISK, SUSPEND_TEST_DEVICES);
> + }
> +
> + igt_describe(test_hpd_storm_detect_desc);
> + igt_subtest("hdmi-hpd-storm")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hpd_storm_detect(&data, hport, HPD_STORM_PULSE_INTERVAL_HDMI);
> + }
> +
> + igt_describe(test_hpd_storm_disable_desc);
> + igt_subtest("hdmi-hpd-storm-disable")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_HDMIA);
> +
> + if (!hport)
> + igt_skip("HDMI connector not available\n");
> +
> + test_hpd_storm_disable(&data, hport, HPD_STORM_PULSE_INTERVAL_HDMI);
> + }
> +
> +igt_describe("VGA tests");
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("vga-hpd")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_VGA, TEST_MODESET_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("vga-hpd-fast")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("vga-hpd-enable-disable-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON_OFF);
> + }
> +
> + igt_describe(test_basic_hotplug_desc);
> + igt_subtest("vga-hpd-with-enabled-mode")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hotplug(&data, hport, HPD_TOGGLE_COUNT_FAST, TEST_MODESET_ON);
> + }
> +
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("vga-hpd-after-suspend")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
> + }
> +
> + igt_describe(test_suspend_resume_hpd_desc);
> + igt_subtest("vga-hpd-after-hibernate")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_suspend_resume_hpd(&data, hport, SUSPEND_STATE_DISK, SUSPEND_TEST_DEVICES);
> + }
> +
> + igt_describe(test_hpd_without_ddc_desc);
> + igt_subtest("vga-hpd-without-ddc")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hpd_without_ddc(&data, hport);
> + }
> +
> + igt_describe(test_hotplug_for_each_pipe_desc);
> + igt_subtest("vga-hpd-for-each-pipe")
> + {
> + struct chamelium_port *hport =
> + get_port(data.ports, data.port_count, DRM_MODE_CONNECTOR_VGA);
> +
> + if (!hport)
> + igt_skip("VGA connector not available\n");
> +
> + test_hotplug_for_each_pipe(&data, hport);
> }
>
> igt_describe("Tests that operate on all connectors");
> @@ -643,15 +813,10 @@ igt_main
>
> igt_describe(test_suspend_resume_hpd_common_desc);
> igt_subtest("common-hpd-after-hibernate")
> - test_suspend_resume_hpd_common(&data,
> - SUSPEND_STATE_DISK,
> + test_suspend_resume_hpd_common(&data, SUSPEND_STATE_DISK,
> SUSPEND_TEST_DEVICES);
> }
>
> - igt_describe(test_hotplug_for_each_pipe_desc);
> - connector_subtest("vga-hpd-for-each-pipe", VGA)
> - test_hotplug_for_each_pipe(&data, port);
> -
> igt_fixture {
> igt_display_fini(&data.display);
> drm_close_driver(data.drm_fd);
This appears quite repetitive. You might want to define this
once, perhaps something like this:
```
#define connector_test(name, connector_type, test_fn, ...) \
igt_subtest(name) \
{ \
struct chamelium_port *hport = \
get_port(data.ports, data.port_count, \
DRM_MODE_CONNECTOR_##connector_type); \
\
if (!hport) \
igt_skip("%s connector not available\n", #connector_type); \
\
test_fn(&data, hport, ##__VA_ARGS__); \
}
```
BR
Seba
next prev parent reply other threads:[~2025-12-05 9:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-05 7:46 [PATCH i-g-t 0/2] RFC: Fix chamelium port allocation during igt_fixture Moahmmed Bilal
2025-12-05 7:46 ` [PATCH i-g-t 1/2] RFC: chamelium/kms_chamelium_hpd: add helper function to select connector port Moahmmed Bilal
2025-12-05 10:15 ` Sebastian Brzezinka
2025-12-05 7:46 ` [PATCH i-g-t 2/2] RFC: chamelium/kms_chamelium_hpd: use helper function for connector lookup in DP/HDMI/VGA tests Moahmmed Bilal
2025-12-05 10:29 ` Sebastian Brzezinka [this message]
2025-12-08 5:31 ` B, Jeevan
2025-12-05 22:54 ` ✓ Xe.CI.BAT: success for RFC: Fix chamelium port allocation during igt_fixture (rev2) Patchwork
2025-12-05 23:19 ` ✓ i915.CI.BAT: " Patchwork
2025-12-06 9:30 ` ✗ Xe.CI.Full: failure " Patchwork
2025-12-07 3:34 ` ✗ i915.CI.Full: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2025-12-05 7:32 [PATCH i-g-t 0/2] RFC: Fix chamelium port allocation during igt_fixture Moahmmed Bilal
2025-12-05 7:32 ` [PATCH i-g-t 2/2] RFC: chamelium/kms_chamelium_hpd: use helper function for connector lookup in DP/HDMI/VGA tests Moahmmed Bilal
2025-12-04 15:17 [PATCH i-g-t 0/2] RFC: Fix chamelium port allocation during igt_fixture Moahmmed Bilal
2025-12-04 15:17 ` [PATCH i-g-t 2/2] RFC: chamelium/kms_chamelium_hpd: use helper function for connector lookup in DP/HDMI/VGA tests Moahmmed Bilal
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=DEQ7NZ3TEKXT.2WOLP25UXM7HS@intel.com \
--to=sebastian.brzezinka@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=jeevan.b@intel.com \
--cc=kunal1.joshi@intel.com \
--cc=mohammed.bilal@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