From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D5CB10E353 for ; Wed, 21 Jun 2023 19:32:56 +0000 (UTC) Date: Wed, 21 Jun 2023 12:32:03 -0700 Message-ID: <87ttv0sjbg.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Anshuman Gupta In-Reply-To: <20230615083216.1861288-2-anshuman.gupta@intel.com> References: <20230615083216.1861288-1-anshuman.gupta@intel.com> <20230615083216.1861288-2-anshuman.gupta@intel.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Subject: Re: [igt-dev] [PATCH i-g-t 1/2] lib/igt_aux: Disable console suspend for suspend test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: igt-dev@lists.freedesktop.org, badal.nilawar@intel.com Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: On Thu, 15 Jun 2023 01:32:15 -0700, Anshuman Gupta wrote: > > We need no_console_suspend to be enable in order to dump the suspend > logs over serial console before attempting the suspend during > CI Execution. > Therefore disable the console_suspend using printk module parameters > while executing suspend test. > > v2: > - Keep console_suspend restore only in exit handler. [Ashutosh] > - Don't skip the test on open error, while opening printk parameters, > instead print warning. [Kmail] > > Signed-off-by: Anshuman Gupta > --- > lib/igt_aux.c | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/lib/igt_aux.c b/lib/igt_aux.c > index 672d7d4b0..425a1f911 100644 > --- a/lib/igt_aux.c > +++ b/lib/igt_aux.c > @@ -694,6 +694,10 @@ void igt_print_activity(void) > } > > static int autoresume_delay; > +bool __console_suspend_saved_state; > + > +#define SYSFS_MODULE_PRINTK "/sys/module/printk/parameters/" > +#define CONSOLE_SUSPEND_DISABLE false > > static const char *suspend_state_name[] = { > [SUSPEND_STATE_FREEZE] = "freeze", > @@ -899,6 +903,35 @@ static bool is_mem_sleep_state_supported(int power_dir, enum igt_mem_sleep state > return str; > } > > +static void igt_aux_pm_suspend_dbg_restore_exit_handler(int sig) > +{ > + int sysfs_fd; > + > + sysfs_fd = open(SYSFS_MODULE_PRINTK, O_RDONLY); > + > + if (sysfs_fd < 0) ^ Remove extra space ___| > + return; > + > + igt_sysfs_set_boolean(sysfs_fd, "console_suspend", __console_suspend_saved_state); > + close(sysfs_fd); > +} > + > +static void igt_aux_enable_pm_suspend_dbg(void) > +{ > + int sysfs_fd; > + > + sysfs_fd = open(SYSFS_MODULE_PRINTK, O_RDONLY); > + if (sysfs_fd > 0) { > + __console_suspend_saved_state = igt_sysfs_get_boolean(sysfs_fd, "console_suspend"); > + igt_sysfs_set_boolean(sysfs_fd, "console_suspend", CONSOLE_SUSPEND_DISABLE); Check the return here too and igt_warn? > + igt_install_exit_handler(igt_aux_pm_suspend_dbg_restore_exit_handler); > + } else { > + igt_warn("Unable to open printk parameters Err:%d\n", errno); > + } > + > + close(sysfs_fd); > +} > + > /** > * igt_system_suspend_autoresume: > * @state: an #igt_suspend_state, the target suspend state > @@ -937,6 +970,7 @@ void igt_system_suspend_autoresume(enum igt_suspend_state state, > "Suspend to disk requires swap space.\n"); > > orig_test = get_suspend_test(power_dir); > + igt_aux_enable_pm_suspend_dbg(); Another idea is to call this during IGT initialization itself, but since IGT tests always suspend/resume via igt_system_suspend_autoresume, this is fine. Therefore, after taking care of the couple of nits above this is: Reviewed-by: Ashutosh Dixit > > if (state == SUSPEND_STATE_S3) { > orig_mem_sleep = get_mem_sleep(); > -- > 2.25.1 >