From: Paul Kocialkowski <paul.kocialkowski@linux.intel.com>
To: Martin Peres <martin.peres@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Cc: Lyude <lyude@redhat.com>
Subject: Re: [PATCH i-g-t 4/7] lib/igt_chamelium: Add support for configurable DUT suspend/resume delay
Date: Tue, 27 Jun 2017 10:33:51 +0300 [thread overview]
Message-ID: <1498548831.1405.5.camel@linux.intel.com> (raw)
In-Reply-To: <ae566a83-c664-9f22-5f6f-e97c24cd5c28@linux.intel.com>
On Mon, 2017-06-26 at 18:15 +0300, Martin Peres wrote:
> On 26/06/17 17:33, Paul Kocialkowski wrote:
> > On Mon, 2017-06-26 at 17:25 +0300, Martin Peres wrote:
> > > On 26/06/17 16:59, Paul Kocialkowski wrote:
> > > > This adds support for reading a SuspendResumeDelay property (under
> > > > [DUT]) in the IGT configuration (igtrc) and exposing it through a
> > > > chamelium_get_suspend_resume_delay function.
> > > >
> > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com>
> > > > ---
> > > > lib/igt_chamelium.c | 31 ++++++++++++++++++++++++++++++-
> > > > lib/igt_chamelium.h | 1 +
> > > > 2 files changed, 31 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c
> > > > index 225f98c3..a1aaf405 100644
> > > > --- a/lib/igt_chamelium.c
> > > > +++ b/lib/igt_chamelium.c
> > > > @@ -58,7 +58,7 @@
> > > > * [Chamelium]
> > > > * URL=http://chameleon:9992 # The URL used for connecting to
> > > > the
> > > > Chamelium's RPC server
> > > > *
> > > > - * # The rest of the sections are used for defining connector
> > > > mappings.
> > > > + * # The following sections are used for defining connector
> > > > mappings.
> > > > * # This is required so any tests using the Chamelium know
> > > > which
> > > > connector
> > > > * # on the test machine should be connected to each Chamelium
> > > > port.
> > > > * #
> > > > @@ -70,12 +70,19 @@
> > > > *
> > > > * [Chamelium:HDMI-A-1]
> > > > * ChameliumPortID=3
> > > > + *
> > > > + * # The following section is used for configuring the Device
> > > > Under
> > > > Test.
> > > > + * # It is not mandatory and allows overriding default values.
> > > > + * [DUT]
> > > > + * SuspendResumeDelay=10
> > > > * ]|
> > > > *
> > > > * By default, this file is expected to exist in ~/.igtrc . The
> > > > directory
> > > > for
> > > > * this can be overriden by setting the environment variable
> > > > %IGT_CONFIG_PATH.
> > > > */
> > > >
> > > > +#define SUSPEND_RESUME_DELAY_DEFAULT 20 /* seconds */
> > > > +
> > > > struct chamelium_edid {
> > > > int id;
> > > > struct igt_list link;
> > > > @@ -100,6 +107,7 @@ struct chamelium {
> > > > xmlrpc_env env;
> > > > xmlrpc_client *client;
> > > > char *url;
> > > > + int suspend_resume_delay;
> > > >
> > > > /* Indicates the last port to have been used for capturing
> > > > video
> > > > */
> > > > struct chamelium_port *capturing_port;
> > > > @@ -114,6 +122,20 @@ struct chamelium {
> > > > static struct chamelium *cleanup_instance;
> > >
> > > Why do you make this part of the chamelium configuration? This should be
> > > common to all the suspend tests.
> >
> > Fair enough, but at this point, only lib/igt_chamelium.c is using igtrc and
> > all
> > the parsing is implemented there.
> >
> > So one course of action here would be to move igtrc parsing outside of
> > igt_chamelium (maybe to igt_core?) and use some global variable for storing
> > this
> > value. What do you think?
> >
>
> That seems like a plan, except you can just call a function that will do
> the parsing for you and return a structure with all the parameters. If
> it is called a second time, just return the cached value.
Thinking about it twice, I think it would make a lot more sense to delegate (at
least some of) the parsing to specific parts of the code. For instance for
chamelium, the data structures are really only defined in igt_chamelium and I
don't think it would make a lot of sense to make those common just for the sake
of returning a common configuration structure. We could also have some
intermediate representation of that data for that structure, which isn't very
straightforward either.
So I would suggest making GKeyFile *igt_key_file; a global (instead of the
parsed parameters) so that specific parts of IGT can use it to get the keys they
want.
Then, having a common parsing function for common things (suspend/resume delay
would fit well there). Also, we already have igt_set_autoresume_delay so no
extra global variable would be needed for that (or rather, it already exists).
Does that seem agreeable?
--
Paul Kocialkowski <paul.kocialkowski@linux.intel.com>
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-06-27 7:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-26 13:59 [PATCH i-g-t 1/7] tests/chamelium: Update connector state without reprobe when possible Paul Kocialkowski
2017-06-26 13:59 ` [PATCH i-g-t 2/7] tests/chamelium: Check all connectors state for basic hotplug Paul Kocialkowski
2017-06-26 21:35 ` Lyude Paul
2017-06-26 13:59 ` [PATCH i-g-t 3/7] tests/chamelium: Use 50 ms delay to wait for connector change Paul Kocialkowski
2017-06-26 21:36 ` Lyude Paul
2017-06-26 13:59 ` [PATCH i-g-t 4/7] lib/igt_chamelium: Add support for configurable DUT suspend/resume delay Paul Kocialkowski
2017-06-26 14:25 ` Martin Peres
2017-06-26 14:33 ` Paul Kocialkowski
2017-06-26 15:15 ` Martin Peres
2017-06-26 21:14 ` Lyude Paul
2017-06-27 7:33 ` Paul Kocialkowski [this message]
2017-06-27 7:45 ` Paul Kocialkowski
2017-06-27 10:16 ` Paul Kocialkowski
2017-06-26 13:59 ` [PATCH i-g-t 5/7] tests/chamelium: Use " Paul Kocialkowski
2017-06-26 13:59 ` [PATCH i-g-t 6/7] tests/chamelium: Reduce the simple hotplug test toggle count for VGA Paul Kocialkowski
2017-06-26 13:59 ` [PATCH i-g-t 7/7] tests/chamelium: Disconnect connectors without extra reset Paul Kocialkowski
2017-06-26 22:17 ` Lyude Paul
2017-06-27 7:22 ` Paul Kocialkowski
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=1498548831.1405.5.camel@linux.intel.com \
--to=paul.kocialkowski@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=lyude@redhat.com \
--cc=martin.peres@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;
as well as URLs for NNTP newsgroup(s).