public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Manna, Animesh" <animesh.manna@intel.com>
To: Anshuman Gupta <anshuman.gupta@intel.com>, igt-dev@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: Re: [igt-dev] [PATCH i-g-t v6 6/6] tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_data
Date: Thu, 7 May 2020 11:45:43 +0530	[thread overview]
Message-ID: <ce57e944-255b-ab17-3974-f60d284fa90d@intel.com> (raw)
In-Reply-To: <20200505132032.827-7-anshuman.gupta@intel.com>


[-- Attachment #1.1: Type: text/plain, Size: 6109 bytes --]


On 05-05-2020 18:50, Anshuman Gupta wrote:
> Initialize the mode set params for lpsp/non-lpsp screen
> based upon their output lpsp capability instead
> of edp/non-edp output type.
>
> v2:
> - CI failures fixup.
> v3:
> - changes according to lib function igt_output_is_lpsp_capable
>    prefix chnaged to i915_output_is_lpsp_capable.
>
> Acked-by: Martin Peres <martin.peres@linux.intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>

Changes looks good to me.
Reviewed-by: Animesh Manna <animesh.manna@intel.com>

> ---
>   tests/i915/i915_pm_rpm.c | 53 +++++++++++++++++++++++-----------------
>   1 file changed, 30 insertions(+), 23 deletions(-)
>
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index fedef872..cb355a53 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -94,6 +94,7 @@ struct mode_set_data {
>   	drmModeResPtr res;
>   	drmModeConnectorPtr connectors[MAX_CONNECTORS];
>   	drmModePropertyBlobPtr edids[MAX_CONNECTORS];
> +	igt_display_t display;
>   
>   	uint32_t devid;
>   };
> @@ -254,29 +255,29 @@ static bool init_modeset_params_for_type(struct mode_set_data *data,
>   {
>   	drmModeConnectorPtr connector = NULL;
>   	drmModeModeInfoPtr mode = NULL;
> +	igt_output_t *output = NULL;
> +	igt_display_t *display = &data->display;
>   
> -	if (!data->res)
> +	if (!data->res || !display)
>   		return false;
>   
> -	for (int i = 0; i < data->res->count_connectors; i++) {
> -		drmModeConnectorPtr c = data->connectors[i];
> +	for_each_connected_output(display, output) {
> +		drmModeConnectorPtr c = output->config.connector;
>   
>   		if (type == SCREEN_TYPE_LPSP &&
> -		    c->connector_type != DRM_MODE_CONNECTOR_eDP)
> +		     !i915_output_is_lpsp_capable(drm_fd, output))
>   			continue;
>   
>   		if (type == SCREEN_TYPE_NON_LPSP &&
> -		    c->connector_type == DRM_MODE_CONNECTOR_eDP)
> +		    i915_output_is_lpsp_capable(drm_fd, output))
>   			continue;
>   
> -		if (c->connection == DRM_MODE_CONNECTED && c->count_modes) {
> -			connector = c;
> -			mode = &c->modes[0];
> -			break;
> -		}
> +		connector = c;
> +		mode = igt_output_get_mode(output);
> +		break;
>   	}
>   
> -	if (!connector)
> +	if (!connector || !mode)
>   		return false;
>   
>   	igt_create_pattern_fb(drm_fd, mode->hdisplay, mode->vdisplay,
> @@ -397,6 +398,7 @@ static void init_mode_set_data(struct mode_set_data *data)
>   		kmstest_set_vt_graphics_mode();
>   	}
>   
> +	igt_display_require(&data->display, drm_fd);
>   	data->devid = intel_get_drm_devid(drm_fd);
>   	init_modeset_cached_params(&ms_data);
>   }
> @@ -410,6 +412,8 @@ static void fini_mode_set_data(struct mode_set_data *data)
>   		}
>   		drmModeFreeResources(data->res);
>   	}
> +
> +	igt_display_fini(&data->display);
>   }
>   
>   static void get_drm_info(struct compare_data *data)
> @@ -760,7 +764,7 @@ static void dump_file(int dir, const char *filename)
>   	free(contents);
>   }
>   
> -static bool setup_environment(void)
> +static bool setup_environment(bool display_disabled)
>   {
>   	if (has_runtime_pm)
>   		goto out;
> @@ -772,7 +776,8 @@ static bool setup_environment(void)
>   	debugfs = igt_debugfs_dir(drm_fd);
>   	igt_require(debugfs != -1);
>   
> -	init_mode_set_data(&ms_data);
> +	if (!display_disabled)
> +		init_mode_set_data(&ms_data);
>   
>   	igt_pm_enable_sata_link_power_management();
>   
> @@ -785,13 +790,14 @@ static bool setup_environment(void)
>   	igt_require(igt_pm_dmc_loaded(debugfs));
>   
>   out:
> -	disable_all_screens(&ms_data);
> +	if (!display_disabled)
> +		disable_all_screens(&ms_data);
>   	dump_file(debugfs, "i915_runtime_pm_status");
>   
>   	return wait_for_suspended();
>   }
>   
> -static void teardown_environment(void)
> +static void teardown_environment(bool display_disabled)
>   {
>   	close(msr_fd);
>   	if (has_pc8)
> @@ -801,7 +807,8 @@ static void teardown_environment(void)
>   
>   	igt_pm_restore_sata_link_power_management();
>   
> -	fini_mode_set_data(&ms_data);
> +	if (!display_disabled)
> +		fini_mode_set_data(&ms_data);
>   
>   	close(debugfs);
>   	close(drm_fd);
> @@ -2004,7 +2011,7 @@ static struct option long_options[] = {
>   igt_main_args("", long_options, help_str, opt_handler, NULL)
>   {
>   	igt_subtest("basic-rte") {
> -		igt_assert(setup_environment());
> +		igt_assert(setup_environment(false));
>   		basic_subtest();
>   	}
>   
> @@ -2012,7 +2019,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   	 * PC8+. We don't want bug reports from cases where the machine is just
>   	 * not properly configured. */
>   	igt_fixture
> -		igt_require(setup_environment());
> +		igt_require(setup_environment(false));
>   
>   	if (stay)
>   		igt_subtest("stay")
> @@ -2142,7 +2149,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   	}
>   
>   	igt_fixture
> -		teardown_environment();
> +		teardown_environment(false);
>   
>   	igt_subtest("module-reload") {
>   		igt_debug("Reload w/o display\n");
> @@ -2151,9 +2158,9 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   		igt_kmsg(KMSG_INFO "Reloading i915 w/o display\n");
>   		igt_assert_eq(igt_i915_driver_load("disable_display=1 mmio_debug=-1"), 0);
>   
> -		igt_assert(setup_environment());
> +		igt_assert(setup_environment(true));
>   		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
> -		teardown_environment();
> +		teardown_environment(true);
>   
>   		igt_debug("Reload as normal\n");
>   		igt_i915_driver_unload();
> @@ -2161,11 +2168,11 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>   		igt_kmsg(KMSG_INFO "Reloading i915 as normal\n");
>   		igt_assert_eq(igt_i915_driver_load("mmio_debug=-1"), 0);
>   
> -		igt_assert(setup_environment());
> +		igt_assert(setup_environment(false));
>   		igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
>   		if (enable_one_screen_with_type(&ms_data, SCREEN_TYPE_ANY))
>   			drm_resources_equal_subtest();
> -		teardown_environment();
> +		teardown_environment(false);
>   
>   		/* Remove our mmio_debugging module */
>   		igt_i915_driver_unload();

[-- Attachment #1.2: Type: text/html, Size: 6547 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2020-05-07  6:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-05 13:20 [igt-dev] [PATCH i-g-t v6 0/6] lpsp platform agnostic support Anshuman Gupta
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 1/6] tests/i915_pm_lpsp: Nuke the panel-fitter test Anshuman Gupta
2020-05-07  5:56   ` Manna, Animesh
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 2/6] lib/igt_pm: Add lib func to get lpsp capability Anshuman Gupta
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 3/6] tests/i915_pm_lpsp: lpsp platform agnostic support Anshuman Gupta
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 4/6] test/i915_pm_lpsp: Skip screens-disabled test for DC state platforms Anshuman Gupta
2020-05-07  6:26   ` Manna, Animesh
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 5/6] tests/i915_pm_lpsp: screens-disabled subtest use igt_wait Anshuman Gupta
2020-05-07  6:05   ` Manna, Animesh
2020-05-05 13:20 ` [igt-dev] [PATCH i-g-t v6 6/6] tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_data Anshuman Gupta
2020-05-07  6:15   ` Manna, Animesh [this message]
2020-05-05 14:11 ` [igt-dev] ✓ Fi.CI.BAT: success for lpsp platform agnostic support (rev9) Patchwork
2020-05-06  1:49 ` [igt-dev] ✓ Fi.CI.IGT: " 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=ce57e944-255b-ab17-3974-f60d284fa90d@intel.com \
    --to=animesh.manna@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jani.nikula@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