* [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
@ 2018-09-05 20:38 Rodrigo Siqueira
2018-09-05 22:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Rodrigo Siqueira @ 2018-09-05 20:38 UTC (permalink / raw)
To: Petri Latvala, Arkadiusz Hiler; +Cc: igt-dev, gustavo, intel-gfx
This commit adds a new option for forcing the use of a specific driver
indicated via an environment variable.
Changes since V1:
Petri:
- Use an environment variable instead of command line
- Refactor the loop in __search_and_open to accept forced module
- Don't try to load kernel modules
Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
---
lib/drmtest.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
lib/drmtest.h | 2 ++
lib/igt_core.c | 5 +++++
3 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/lib/drmtest.c b/lib/drmtest.c
index bfa2e0f0..6e35d1be 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
return true;
}
+static char _forced_driver[5] = "";
+
+/**
+ * __set_forced_driver:
+ * @name: name of driver to forcibly use
+ *
+ * Set the name of a driver to use when calling #drm_open_driver with
+ * the #DRIVER_ANY flag.
+ */
+void __set_forced_driver(const char *name)
+{
+ if (!strcmp(name, "")) {
+ igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
+ "ignoring force option\n");
+ return;
+ }
+
+ igt_info("Attempt to force module %s\n", name);
+
+ strncpy(_forced_driver, name, 4);
+}
+
+static const char *forced_driver(void)
+{
+ if (_forced_driver[0])
+ return _forced_driver;
+
+ return NULL;
+}
+
#define LOCAL_I915_EXEC_VEBOX (4 << 0)
/**
* gem_quiescent_gpu:
@@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
sprintf(name, "%s%u", base, i + offset);
fd = open_device(name, chipset);
- if (fd != -1)
- return fd;
+ if (fd == -1)
+ continue;
+
+ // Force module
+ if (chipset == DRIVER_ANY && forced_driver()) {
+ if (__is_device(fd, forced_driver()))
+ return fd;
+ close(fd);
+ continue;
+ }
+
+ return fd;
}
return -1;
diff --git a/lib/drmtest.h b/lib/drmtest.h
index 949865ee..62f53ec3 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -51,6 +51,8 @@
*/
#define DRIVER_ANY ~(DRIVER_VGEM)
+void __set_forced_driver(const char *name);
+
/**
* ARRAY_SIZE:
* @arr: static array
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 23bb858f..8e65b5e3 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -647,6 +647,11 @@ static void common_init_env(void)
igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
+
+ env = getenv("IGT_FORCE_DRIVER");
+ if (env) {
+ __set_forced_driver(env);
+ }
}
static int common_init(int *argc, char **argv,
--
2.18.0
--
Rodrigo Siqueira
http://siqueira.tech
Graduate Student
Department of Computer Science
University of São Paulo
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for Add support for forcing specific module
2018-09-05 20:38 [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Rodrigo Siqueira
@ 2018-09-05 22:27 ` Patchwork
2018-09-05 22:49 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-09-05 22:27 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: igt-dev
== Series Details ==
Series: Add support for forcing specific module
URL : https://patchwork.freedesktop.org/series/49233/
State : failure
== Summary ==
= CI Bug Log - changes from CI_DRM_4772 -> IGTPW_1795 =
== Summary - FAILURE ==
Serious unknown changes coming with IGTPW_1795 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1795, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/49233/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1795:
=== IGT changes ===
==== Possible regressions ====
igt@gem_exec_suspend@basic-s3:
fi-snb-2600: PASS -> INCOMPLETE
fi-icl-u: PASS -> INCOMPLETE
== Known issues ==
Here are the changes found in IGTPW_1795 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@kms_frontbuffer_tracking@basic:
fi-byt-clapper: PASS -> FAIL (fdo#103167)
==== Possible fixes ====
igt@gem_exec_suspend@basic-s4-devices:
fi-kbl-7500u: DMESG-WARN (fdo#105128, fdo#107139) -> PASS
igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
fi-ilk-650: DMESG-WARN (fdo#106387) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS
fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
fdo#106387 https://bugs.freedesktop.org/show_bug.cgi?id=106387
fdo#107139 https://bugs.freedesktop.org/show_bug.cgi?id=107139
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
== Participating hosts (54 -> 49) ==
Missing (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u
== Build changes ==
* IGT: IGT_4629 -> IGTPW_1795
CI_DRM_4772: 1351ee8f3aacdb8f4a71cd17a7035556065c59a9 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1795: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1795/
IGT_4629: c3b6d69aa3dd2d1a6c1f2e787670a0aef78f2ea5 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1795/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-09-05 20:38 [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Rodrigo Siqueira
2018-09-05 22:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
@ 2018-09-05 22:49 ` Chris Wilson
2018-09-05 22:58 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add support for forcing specific module (rev2) Patchwork
2018-12-17 15:49 ` [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Daniel Vetter
3 siblings, 0 replies; 9+ messages in thread
From: Chris Wilson @ 2018-09-05 22:49 UTC (permalink / raw)
To: Arkadiusz Hiler, Petri Latvala, Rodrigo Siqueira
Cc: igt-dev, gustavo, intel-gfx
Quoting Rodrigo Siqueira (2018-09-05 21:38:27)
> This commit adds a new option for forcing the use of a specific driver
> indicated via an environment variable.
>
> Changes since V1:
> Petri:
> - Use an environment variable instead of command line
> - Refactor the loop in __search_and_open to accept forced module
> - Don't try to load kernel modules
I am still not convinced this is a good solution to the problem of
running tests against all applicable devices, along with generic
filtering of that set (both from the test profile and user config).
Short term wise I'd rather see DRIVER_ANY translated into a known
DRIVER_X selector (so that we have a complete list of drivers for later
exploitation), say
diff --git a/lib/drmtest.c b/lib/drmtest.c
index bfa2e0f..5c96c1d 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -257,11 +257,16 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
return -1;
}
+static unsigned int driver_any_chipset = DRIVER_ANY; // give me a better name
+
static int __open_driver(const char *base, int offset, unsigned int chipset)
{
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
int fd;
+ if (chipset == DRIVER_ANY)
+ chipset = driver_any_chipset;
+
fd = __search_and_open(base, offset, chipset);
if (fd != -1)
return fd;
@@ -428,3 +433,21 @@ void igt_require_intel(int fd)
{
igt_require(is_i915_device(fd) && has_known_intel_chipset(fd));
}
+
+bool set_driver_any(const char *name)
+{
+ for (int start = 0, end = ARRAY_SIZE(modules) - 1; start < end; ) { // repetitive much?
+ int mid = start + (end - start) / 2;
+ int ret = strcmp(modules[mid].module, name);
+ if (ret < 0) {
+ start = mid + 1;
+ } else if (ret > 0) {
+ end = mid;
+ } else {
+ driver_any_chipset = modules[mid].bit;
+ return true;
+ }
+ }
+
+ return false;
+}
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [igt-dev] ✗ Fi.CI.BAT: failure for Add support for forcing specific module (rev2)
2018-09-05 20:38 [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Rodrigo Siqueira
2018-09-05 22:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2018-09-05 22:49 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
@ 2018-09-05 22:58 ` Patchwork
2018-12-17 15:49 ` [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Daniel Vetter
3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-09-05 22:58 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
== Series Details ==
Series: Add support for forcing specific module (rev2)
URL : https://patchwork.freedesktop.org/series/49233/
State : failure
== Summary ==
Applying: Add support for forcing specific module
Using index info to reconstruct a base tree...
Patch failed at 0001 Add support for forcing specific module
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-09-05 20:38 [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Rodrigo Siqueira
` (2 preceding siblings ...)
2018-09-05 22:58 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add support for forcing specific module (rev2) Patchwork
@ 2018-12-17 15:49 ` Daniel Vetter
2018-12-17 16:45 ` Rodrigo Siqueira
2018-12-17 17:22 ` Lucas De Marchi
3 siblings, 2 replies; 9+ messages in thread
From: Daniel Vetter @ 2018-12-17 15:49 UTC (permalink / raw)
To: Rodrigo Siqueira; +Cc: igt-dev, gustavo, intel-gfx, Petri Latvala
On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> This commit adds a new option for forcing the use of a specific driver
> indicated via an environment variable.
>
> Changes since V1:
> Petri:
> - Use an environment variable instead of command line
> - Refactor the loop in __search_and_open to accept forced module
> - Don't try to load kernel modules
>
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
Note: You can't drop the s-o-b line if your patch contains work by other
people, like from Petri here. Proper way to resend a patch by someone else
is to just add a subject prefix of "PATCH RESEND" and otherwise keep
everything unchanged (including author and everything).
https://patchwork.freedesktop.org/patch/245532/
Cheers, Daniel
> ---
> lib/drmtest.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
> lib/drmtest.h | 2 ++
> lib/igt_core.c | 5 +++++
> 3 files changed, 49 insertions(+), 2 deletions(-)
>
> diff --git a/lib/drmtest.c b/lib/drmtest.c
> index bfa2e0f0..6e35d1be 100644
> --- a/lib/drmtest.c
> +++ b/lib/drmtest.c
> @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
> return true;
> }
>
> +static char _forced_driver[5] = "";
> +
> +/**
> + * __set_forced_driver:
> + * @name: name of driver to forcibly use
> + *
> + * Set the name of a driver to use when calling #drm_open_driver with
> + * the #DRIVER_ANY flag.
> + */
> +void __set_forced_driver(const char *name)
> +{
> + if (!strcmp(name, "")) {
> + igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> + "ignoring force option\n");
> + return;
> + }
> +
> + igt_info("Attempt to force module %s\n", name);
> +
> + strncpy(_forced_driver, name, 4);
> +}
> +
> +static const char *forced_driver(void)
> +{
> + if (_forced_driver[0])
> + return _forced_driver;
> +
> + return NULL;
> +}
> +
> #define LOCAL_I915_EXEC_VEBOX (4 << 0)
> /**
> * gem_quiescent_gpu:
> @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
>
> sprintf(name, "%s%u", base, i + offset);
> fd = open_device(name, chipset);
> - if (fd != -1)
> - return fd;
> + if (fd == -1)
> + continue;
> +
> + // Force module
> + if (chipset == DRIVER_ANY && forced_driver()) {
> + if (__is_device(fd, forced_driver()))
> + return fd;
> + close(fd);
> + continue;
> + }
> +
> + return fd;
> }
>
> return -1;
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index 949865ee..62f53ec3 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -51,6 +51,8 @@
> */
> #define DRIVER_ANY ~(DRIVER_VGEM)
>
> +void __set_forced_driver(const char *name);
> +
> /**
> * ARRAY_SIZE:
> * @arr: static array
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 23bb858f..8e65b5e3 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -647,6 +647,11 @@ static void common_init_env(void)
> igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
>
> stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> +
> + env = getenv("IGT_FORCE_DRIVER");
> + if (env) {
> + __set_forced_driver(env);
> + }
> }
>
> static int common_init(int *argc, char **argv,
> --
> 2.18.0
>
>
> --
> Rodrigo Siqueira
> http://siqueira.tech
> Graduate Student
> Department of Computer Science
> University of São Paulo
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-12-17 15:49 ` [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Daniel Vetter
@ 2018-12-17 16:45 ` Rodrigo Siqueira
2018-12-17 17:22 ` Lucas De Marchi
1 sibling, 0 replies; 9+ messages in thread
From: Rodrigo Siqueira @ 2018-12-17 16:45 UTC (permalink / raw)
To: Daniel Vetter; +Cc: igt-dev, gustavo, intel-gfx, Petri Latvala
[-- Attachment #1.1: Type: text/plain, Size: 4141 bytes --]
On 12/17, Daniel Vetter wrote:
> On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > This commit adds a new option for forcing the use of a specific driver
> > indicated via an environment variable.
> >
> > Changes since V1:
> > Petri:
> > - Use an environment variable instead of command line
> > - Refactor the loop in __search_and_open to accept forced module
> > - Don't try to load kernel modules
> >
> > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
>
> Note: You can't drop the s-o-b line if your patch contains work by other
> people, like from Petri here. Proper way to resend a patch by someone else
> is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> everything unchanged (including author and everything).
>
> https://patchwork.freedesktop.org/patch/245532/
Hi,
Thanks for your feedback.
Next time I will take care for not make this mistake again.
Best Regards
Rodrigo Siqueira
> Cheers, Daniel
>
> > ---
> > lib/drmtest.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
> > lib/drmtest.h | 2 ++
> > lib/igt_core.c | 5 +++++
> > 3 files changed, 49 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index bfa2e0f0..6e35d1be 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
> > return true;
> > }
> >
> > +static char _forced_driver[5] = "";
> > +
> > +/**
> > + * __set_forced_driver:
> > + * @name: name of driver to forcibly use
> > + *
> > + * Set the name of a driver to use when calling #drm_open_driver with
> > + * the #DRIVER_ANY flag.
> > + */
> > +void __set_forced_driver(const char *name)
> > +{
> > + if (!strcmp(name, "")) {
> > + igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> > + "ignoring force option\n");
> > + return;
> > + }
> > +
> > + igt_info("Attempt to force module %s\n", name);
> > +
> > + strncpy(_forced_driver, name, 4);
> > +}
> > +
> > +static const char *forced_driver(void)
> > +{
> > + if (_forced_driver[0])
> > + return _forced_driver;
> > +
> > + return NULL;
> > +}
> > +
> > #define LOCAL_I915_EXEC_VEBOX (4 << 0)
> > /**
> > * gem_quiescent_gpu:
> > @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
> >
> > sprintf(name, "%s%u", base, i + offset);
> > fd = open_device(name, chipset);
> > - if (fd != -1)
> > - return fd;
> > + if (fd == -1)
> > + continue;
> > +
> > + // Force module
> > + if (chipset == DRIVER_ANY && forced_driver()) {
> > + if (__is_device(fd, forced_driver()))
> > + return fd;
> > + close(fd);
> > + continue;
> > + }
> > +
> > + return fd;
> > }
> >
> > return -1;
> > diff --git a/lib/drmtest.h b/lib/drmtest.h
> > index 949865ee..62f53ec3 100644
> > --- a/lib/drmtest.h
> > +++ b/lib/drmtest.h
> > @@ -51,6 +51,8 @@
> > */
> > #define DRIVER_ANY ~(DRIVER_VGEM)
> >
> > +void __set_forced_driver(const char *name);
> > +
> > /**
> > * ARRAY_SIZE:
> > * @arr: static array
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 23bb858f..8e65b5e3 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -647,6 +647,11 @@ static void common_init_env(void)
> > igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
> >
> > stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> > +
> > + env = getenv("IGT_FORCE_DRIVER");
> > + if (env) {
> > + __set_forced_driver(env);
> > + }
> > }
> >
> > static int common_init(int *argc, char **argv,
> > --
> > 2.18.0
> >
> >
> > --
> > Rodrigo Siqueira
> > http://siqueira.tech
> > Graduate Student
> > Department of Computer Science
> > University of São Paulo
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-12-17 15:49 ` [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Daniel Vetter
2018-12-17 16:45 ` Rodrigo Siqueira
@ 2018-12-17 17:22 ` Lucas De Marchi
2018-12-18 12:08 ` Petri Latvala
1 sibling, 1 reply; 9+ messages in thread
From: Lucas De Marchi @ 2018-12-17 17:22 UTC (permalink / raw)
To: Daniel Vetter
Cc: Petri Latvala, Rodrigo Siqueira, Gustavo F. Padovan, intel-gfx,
igt-dev
On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > This commit adds a new option for forcing the use of a specific driver
> > indicated via an environment variable.
> >
> > Changes since V1:
> > Petri:
> > - Use an environment variable instead of command line
> > - Refactor the loop in __search_and_open to accept forced module
> > - Don't try to load kernel modules
> >
> > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
>
> Note: You can't drop the s-o-b line if your patch contains work by other
> people, like from Petri here. Proper way to resend a patch by someone else
> is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> everything unchanged (including author and everything).
>
> https://patchwork.freedesktop.org/patch/245532/
Last time I was told I have to _add_ my s-o-b nonetheless, even if
just re-sending the patch.
I don't think I should, but in the end I had to change the series, add
and change patches,
so it didn't matter.
Maybe we need some clarification on this?
https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html
Lucas De Marchi
>
> Cheers, Daniel
>
> > ---
> > lib/drmtest.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
> > lib/drmtest.h | 2 ++
> > lib/igt_core.c | 5 +++++
> > 3 files changed, 49 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/drmtest.c b/lib/drmtest.c
> > index bfa2e0f0..6e35d1be 100644
> > --- a/lib/drmtest.c
> > +++ b/lib/drmtest.c
> > @@ -123,6 +123,36 @@ static bool has_known_intel_chipset(int fd)
> > return true;
> > }
> >
> > +static char _forced_driver[5] = "";
> > +
> > +/**
> > + * __set_forced_driver:
> > + * @name: name of driver to forcibly use
> > + *
> > + * Set the name of a driver to use when calling #drm_open_driver with
> > + * the #DRIVER_ANY flag.
> > + */
> > +void __set_forced_driver(const char *name)
> > +{
> > + if (!strcmp(name, "")) {
> > + igt_warn("IGT_FORCE_DRIVER flag specified without a value,"
> > + "ignoring force option\n");
> > + return;
> > + }
> > +
> > + igt_info("Attempt to force module %s\n", name);
> > +
> > + strncpy(_forced_driver, name, 4);
> > +}
> > +
> > +static const char *forced_driver(void)
> > +{
> > + if (_forced_driver[0])
> > + return _forced_driver;
> > +
> > + return NULL;
> > +}
> > +
> > #define LOCAL_I915_EXEC_VEBOX (4 << 0)
> > /**
> > * gem_quiescent_gpu:
> > @@ -250,8 +280,18 @@ static int __search_and_open(const char *base, int offset, unsigned int chipset)
> >
> > sprintf(name, "%s%u", base, i + offset);
> > fd = open_device(name, chipset);
> > - if (fd != -1)
> > - return fd;
> > + if (fd == -1)
> > + continue;
> > +
> > + // Force module
> > + if (chipset == DRIVER_ANY && forced_driver()) {
> > + if (__is_device(fd, forced_driver()))
> > + return fd;
> > + close(fd);
> > + continue;
> > + }
> > +
> > + return fd;
> > }
> >
> > return -1;
> > diff --git a/lib/drmtest.h b/lib/drmtest.h
> > index 949865ee..62f53ec3 100644
> > --- a/lib/drmtest.h
> > +++ b/lib/drmtest.h
> > @@ -51,6 +51,8 @@
> > */
> > #define DRIVER_ANY ~(DRIVER_VGEM)
> >
> > +void __set_forced_driver(const char *name);
> > +
> > /**
> > * ARRAY_SIZE:
> > * @arr: static array
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 23bb858f..8e65b5e3 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -647,6 +647,11 @@ static void common_init_env(void)
> > igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH");
> >
> > stderr_needs_sentinel = getenv("IGT_SENTINEL_ON_STDERR") != NULL;
> > +
> > + env = getenv("IGT_FORCE_DRIVER");
> > + if (env) {
> > + __set_forced_driver(env);
> > + }
> > }
> >
> > static int common_init(int *argc, char **argv,
> > --
> > 2.18.0
> >
> >
> > --
> > Rodrigo Siqueira
> > http://siqueira.tech
> > Graduate Student
> > Department of Computer Science
> > University of São Paulo
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Lucas De Marchi
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-12-17 17:22 ` Lucas De Marchi
@ 2018-12-18 12:08 ` Petri Latvala
2018-12-18 13:33 ` Daniel Vetter
0 siblings, 1 reply; 9+ messages in thread
From: Petri Latvala @ 2018-12-18 12:08 UTC (permalink / raw)
To: Lucas De Marchi
Cc: Rodrigo Siqueira, Gustavo F. Padovan, intel-gfx, igt-dev,
Daniel Vetter
On Mon, Dec 17, 2018 at 09:22:31AM -0800, Lucas De Marchi wrote:
> On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> >
> > On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > > This commit adds a new option for forcing the use of a specific driver
> > > indicated via an environment variable.
> > >
> > > Changes since V1:
> > > Petri:
> > > - Use an environment variable instead of command line
> > > - Refactor the loop in __search_and_open to accept forced module
> > > - Don't try to load kernel modules
> > >
> > > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> >
> > Note: You can't drop the s-o-b line if your patch contains work by other
> > people, like from Petri here. Proper way to resend a patch by someone else
> > is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> > everything unchanged (including author and everything).
> >
> > https://patchwork.freedesktop.org/patch/245532/
>
> Last time I was told I have to _add_ my s-o-b nonetheless, even if
> just re-sending the patch.
> I don't think I should, but in the end I had to change the series, add
> and change patches,
> so it didn't matter.
Communication error here? Rodrigo's resend didn't have my S-o-b,
that's what Daniel was pointing at. Removing S-o-b is never
ok. Whether it's correct and/or required to add your own S-o-b to
resends is another matter.
> Maybe we need some clarification on this?
>
> https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html
That was about a kernel patch, and kernel patches are _very_ strict
about having to add your S-o-b.
--
Petri Latvala
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module
2018-12-18 12:08 ` Petri Latvala
@ 2018-12-18 13:33 ` Daniel Vetter
0 siblings, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2018-12-18 13:33 UTC (permalink / raw)
To: Lucas De Marchi, Daniel Vetter, Rodrigo Siqueira, igt-dev,
Gustavo F. Padovan, intel-gfx, Chris Wilson
On Tue, Dec 18, 2018 at 02:08:21PM +0200, Petri Latvala wrote:
> On Mon, Dec 17, 2018 at 09:22:31AM -0800, Lucas De Marchi wrote:
> > On Mon, Dec 17, 2018 at 7:49 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> > >
> > > On Wed, Sep 05, 2018 at 05:38:27PM -0300, Rodrigo Siqueira wrote:
> > > > This commit adds a new option for forcing the use of a specific driver
> > > > indicated via an environment variable.
> > > >
> > > > Changes since V1:
> > > > Petri:
> > > > - Use an environment variable instead of command line
> > > > - Refactor the loop in __search_and_open to accept forced module
> > > > - Don't try to load kernel modules
> > > >
> > > > Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
> > >
> > > Note: You can't drop the s-o-b line if your patch contains work by other
> > > people, like from Petri here. Proper way to resend a patch by someone else
> > > is to just add a subject prefix of "PATCH RESEND" and otherwise keep
> > > everything unchanged (including author and everything).
> > >
> > > https://patchwork.freedesktop.org/patch/245532/
> >
> > Last time I was told I have to _add_ my s-o-b nonetheless, even if
> > just re-sending the patch.
> > I don't think I should, but in the end I had to change the series, add
> > and change patches,
> > so it didn't matter.
>
>
> Communication error here? Rodrigo's resend didn't have my S-o-b,
> that's what Daniel was pointing at. Removing S-o-b is never
> ok. Whether it's correct and/or required to add your own S-o-b to
> resends is another matter.
Correct.
> > Maybe we need some clarification on this?
> >
> > https://lists.freedesktop.org/archives/intel-gfx/2018-November/183291.html
>
> That was about a kernel patch, and kernel patches are _very_ strict
> about having to add your S-o-b.
Yes, for the kernel even just sending a patch around by someone, even if
you change nothing, needs your sob.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-12-18 13:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-05 20:38 [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Rodrigo Siqueira
2018-09-05 22:27 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2018-09-05 22:49 ` [igt-dev] [PATCH i-g-t v2] " Chris Wilson
2018-09-05 22:58 ` [igt-dev] ✗ Fi.CI.BAT: failure for Add support for forcing specific module (rev2) Patchwork
2018-12-17 15:49 ` [igt-dev] [PATCH i-g-t v2] Add support for forcing specific module Daniel Vetter
2018-12-17 16:45 ` Rodrigo Siqueira
2018-12-17 17:22 ` Lucas De Marchi
2018-12-18 12:08 ` Petri Latvala
2018-12-18 13:33 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox