* Re: [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch
2026-02-19 15:05 [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Kamil Konieczny
@ 2026-02-19 15:23 ` Boris Brezillon
2026-02-19 17:00 ` Daniel Almeida
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Boris Brezillon @ 2026-02-19 15:23 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: igt-dev, Daniel Almeida
On Thu, 19 Feb 2026 16:05:24 +0100
Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
> Compilation of Panthor was broken on big-endian due to a guard in
> pathor lib against such arch. Fix this and create and use
> function for skipping all panthor tests on such machines.
>
> Also while at it, init fd so it could be safely used at last
> fixture.
>
> v2: simplify test for big-endian, fix typo (Boris)
>
> Cc: Daniel Almeida <daniel.almeida@collabora.com>
> Cc: Boris Brezillon <boris.brezillon@collabora.com>
> Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/200
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Thanks!
Boris
> ---
> lib/igt_panthor.c | 11 +++++++++++
> lib/igt_panthor.h | 6 ++----
> tests/panthor/panthor_gem.c | 3 ++-
> tests/panthor/panthor_group.c | 3 ++-
> tests/panthor/panthor_query.c | 3 ++-
> tests/panthor/panthor_vm.c | 3 ++-
> 6 files changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/lib/igt_panthor.c b/lib/igt_panthor.c
> index 49b427d4f..7ffb61eb3 100644
> --- a/lib/igt_panthor.c
> +++ b/lib/igt_panthor.c
> @@ -6,6 +6,17 @@
> #include "ioctl_wrappers.h"
> #include "panthor_drm.h"
>
> +/**
> + * igt_panthor_skip_on_big_endian:
> + *
> + * Skip Panthor test on big-endian machines.
> + */
> +void igt_panthor_skip_on_big_endian(void)
> +{
> + igt_skip_on_f(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__,
> + "Panthor is unsupported on big-endian arch\n");
> +}
> +
> /**
> * igt_panthor_group_create:
> * @fd: device file descriptor
> diff --git a/lib/igt_panthor.h b/lib/igt_panthor.h
> index 97a2b7497..be8490840 100644
> --- a/lib/igt_panthor.h
> +++ b/lib/igt_panthor.h
> @@ -61,11 +61,9 @@ enum cs_flush_mode {
> };
>
> /* There's no plan to support big endian in the UMD, so keep
> - * things simple and don't bother supporting it here either.
> + * things simple and don't bother supporting it.
> */
> -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> -#error "big endian not supported"
> -#endif
> +void igt_panthor_skip_on_big_endian(void);
>
> struct cs_instr {
> union {
> diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
> index 57ba4bc82..6388addb0 100644
> --- a/tests/panthor/panthor_gem.c
> +++ b/tests/panthor/panthor_gem.c
> @@ -8,9 +8,10 @@
> #include "igt_panthor.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
> index 13636e60c..c79f8d629 100644
> --- a/tests/panthor/panthor_group.c
> +++ b/tests/panthor/panthor_group.c
> @@ -41,9 +41,10 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
> }
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
> index fa4f8ef26..afd58a5bd 100644
> --- a/tests/panthor/panthor_query.c
> +++ b/tests/panthor/panthor_query.c
> @@ -8,9 +8,10 @@
> #include <stdint.h>
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
> index 76a669843..92b105b9e 100644
> --- a/tests/panthor/panthor_vm.c
> +++ b/tests/panthor/panthor_vm.c
> @@ -7,9 +7,10 @@
> #include "panthor_drm.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch
2026-02-19 15:05 [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Kamil Konieczny
2026-02-19 15:23 ` Boris Brezillon
@ 2026-02-19 17:00 ` Daniel Almeida
2026-02-19 17:35 ` ✗ Fi.CI.BAT: failure for panthor: Enable compilation on big-endian arch (rev2) Patchwork
2026-02-23 10:49 ` [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Jani Nikula
3 siblings, 0 replies; 6+ messages in thread
From: Daniel Almeida @ 2026-02-19 17:00 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: igt-dev, Boris Brezillon
> On 19 Feb 2026, at 12:05, Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
>
> Compilation of Panthor was broken on big-endian due to a guard in
> pathor lib against such arch. Fix this and create and use
> function for skipping all panthor tests on such machines.
>
> Also while at it, init fd so it could be safely used at last
> fixture.
>
> v2: simplify test for big-endian, fix typo (Boris)
>
> Cc: Daniel Almeida <daniel.almeida@collabora.com>
> Cc: Boris Brezillon <boris.brezillon@collabora.com>
> Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/200
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> lib/igt_panthor.c | 11 +++++++++++
> lib/igt_panthor.h | 6 ++----
> tests/panthor/panthor_gem.c | 3 ++-
> tests/panthor/panthor_group.c | 3 ++-
> tests/panthor/panthor_query.c | 3 ++-
> tests/panthor/panthor_vm.c | 3 ++-
> 6 files changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/lib/igt_panthor.c b/lib/igt_panthor.c
> index 49b427d4f..7ffb61eb3 100644
> --- a/lib/igt_panthor.c
> +++ b/lib/igt_panthor.c
> @@ -6,6 +6,17 @@
> #include "ioctl_wrappers.h"
> #include "panthor_drm.h"
>
> +/**
> + * igt_panthor_skip_on_big_endian:
> + *
> + * Skip Panthor test on big-endian machines.
> + */
> +void igt_panthor_skip_on_big_endian(void)
> +{
> + igt_skip_on_f(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__,
> + "Panthor is unsupported on big-endian arch\n");
> +}
> +
> /**
> * igt_panthor_group_create:
> * @fd: device file descriptor
> diff --git a/lib/igt_panthor.h b/lib/igt_panthor.h
> index 97a2b7497..be8490840 100644
> --- a/lib/igt_panthor.h
> +++ b/lib/igt_panthor.h
> @@ -61,11 +61,9 @@ enum cs_flush_mode {
> };
>
> /* There's no plan to support big endian in the UMD, so keep
> - * things simple and don't bother supporting it here either.
> + * things simple and don't bother supporting it.
> */
> -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> -#error "big endian not supported"
> -#endif
> +void igt_panthor_skip_on_big_endian(void);
>
> struct cs_instr {
> union {
> diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
> index 57ba4bc82..6388addb0 100644
> --- a/tests/panthor/panthor_gem.c
> +++ b/tests/panthor/panthor_gem.c
> @@ -8,9 +8,10 @@
> #include "igt_panthor.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
> index 13636e60c..c79f8d629 100644
> --- a/tests/panthor/panthor_group.c
> +++ b/tests/panthor/panthor_group.c
> @@ -41,9 +41,10 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
> }
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
> index fa4f8ef26..afd58a5bd 100644
> --- a/tests/panthor/panthor_query.c
> +++ b/tests/panthor/panthor_query.c
> @@ -8,9 +8,10 @@
> #include <stdint.h>
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
> index 76a669843..92b105b9e 100644
> --- a/tests/panthor/panthor_vm.c
> +++ b/tests/panthor/panthor_vm.c
> @@ -7,9 +7,10 @@
> #include "panthor_drm.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> --
> 2.53.0
>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
^ permalink raw reply [flat|nested] 6+ messages in thread* ✗ Fi.CI.BAT: failure for panthor: Enable compilation on big-endian arch (rev2)
2026-02-19 15:05 [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Kamil Konieczny
2026-02-19 15:23 ` Boris Brezillon
2026-02-19 17:00 ` Daniel Almeida
@ 2026-02-19 17:35 ` Patchwork
2026-02-23 10:49 ` [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Jani Nikula
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2026-02-19 17:35 UTC (permalink / raw)
To: Kamil Konieczny; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 245 bytes --]
== Series Details ==
Series: panthor: Enable compilation on big-endian arch (rev2)
URL : https://patchwork.freedesktop.org/series/161768/
State : failure
== Summary ==
Series 161768 revision 2 was fully merged or fully failed: no git log
[-- Attachment #2: Type: text/html, Size: 714 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch
2026-02-19 15:05 [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Kamil Konieczny
` (2 preceding siblings ...)
2026-02-19 17:35 ` ✗ Fi.CI.BAT: failure for panthor: Enable compilation on big-endian arch (rev2) Patchwork
@ 2026-02-23 10:49 ` Jani Nikula
2026-03-02 10:45 ` Boris Brezillon
3 siblings, 1 reply; 6+ messages in thread
From: Jani Nikula @ 2026-02-23 10:49 UTC (permalink / raw)
To: Kamil Konieczny, igt-dev; +Cc: Kamil Konieczny, Daniel Almeida, Boris Brezillon
On Thu, 19 Feb 2026, Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
> Compilation of Panthor was broken on big-endian due to a guard in
> pathor lib against such arch. Fix this and create and use
> function for skipping all panthor tests on such machines.
>
> Also while at it, init fd so it could be safely used at last
> fixture.
What about DRIVER_ANY tests?
Seems like the cleaner option would be to amend drm_open_driver() with
something like:
if (chipset & DRIVER_PANTHOR)
skip on big endian
instead of sprinkling the skips everywhere.
>
> v2: simplify test for big-endian, fix typo (Boris)
>
> Cc: Daniel Almeida <daniel.almeida@collabora.com>
> Cc: Boris Brezillon <boris.brezillon@collabora.com>
> Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/200
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> ---
> lib/igt_panthor.c | 11 +++++++++++
> lib/igt_panthor.h | 6 ++----
> tests/panthor/panthor_gem.c | 3 ++-
> tests/panthor/panthor_group.c | 3 ++-
> tests/panthor/panthor_query.c | 3 ++-
> tests/panthor/panthor_vm.c | 3 ++-
> 6 files changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/lib/igt_panthor.c b/lib/igt_panthor.c
> index 49b427d4f..7ffb61eb3 100644
> --- a/lib/igt_panthor.c
> +++ b/lib/igt_panthor.c
> @@ -6,6 +6,17 @@
> #include "ioctl_wrappers.h"
> #include "panthor_drm.h"
>
> +/**
> + * igt_panthor_skip_on_big_endian:
> + *
> + * Skip Panthor test on big-endian machines.
> + */
> +void igt_panthor_skip_on_big_endian(void)
> +{
> + igt_skip_on_f(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__,
> + "Panthor is unsupported on big-endian arch\n");
> +}
Why does this have to encode Panthor in the name, when it in fact does
not check anything about Panthor? What the function *does* is skip on
big endian, regardless of GPU, so the function name is misleading.
> +
> /**
> * igt_panthor_group_create:
> * @fd: device file descriptor
> diff --git a/lib/igt_panthor.h b/lib/igt_panthor.h
> index 97a2b7497..be8490840 100644
> --- a/lib/igt_panthor.h
> +++ b/lib/igt_panthor.h
> @@ -61,11 +61,9 @@ enum cs_flush_mode {
> };
>
> /* There's no plan to support big endian in the UMD, so keep
> - * things simple and don't bother supporting it here either.
> + * things simple and don't bother supporting it.
> */
> -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> -#error "big endian not supported"
> -#endif
> +void igt_panthor_skip_on_big_endian(void);
>
> struct cs_instr {
> union {
> diff --git a/tests/panthor/panthor_gem.c b/tests/panthor/panthor_gem.c
> index 57ba4bc82..6388addb0 100644
> --- a/tests/panthor/panthor_gem.c
> +++ b/tests/panthor/panthor_gem.c
> @@ -8,9 +8,10 @@
> #include "igt_panthor.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_group.c b/tests/panthor/panthor_group.c
> index 13636e60c..c79f8d629 100644
> --- a/tests/panthor/panthor_group.c
> +++ b/tests/panthor/panthor_group.c
> @@ -41,9 +41,10 @@ issue_store_multiple(uint8_t *cs, uint64_t kernel_va, uint32_t constant)
> }
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_query.c b/tests/panthor/panthor_query.c
> index fa4f8ef26..afd58a5bd 100644
> --- a/tests/panthor/panthor_query.c
> +++ b/tests/panthor/panthor_query.c
> @@ -8,9 +8,10 @@
> #include <stdint.h>
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
>
> diff --git a/tests/panthor/panthor_vm.c b/tests/panthor/panthor_vm.c
> index 76a669843..92b105b9e 100644
> --- a/tests/panthor/panthor_vm.c
> +++ b/tests/panthor/panthor_vm.c
> @@ -7,9 +7,10 @@
> #include "panthor_drm.h"
>
> int igt_main() {
> - int fd;
> + int fd = -1;
>
> igt_fixture() {
> + igt_panthor_skip_on_big_endian();
> fd = drm_open_driver(DRIVER_PANTHOR);
> }
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch
2026-02-23 10:49 ` [PATCH i-g-t v2] panthor: Enable compilation on big-endian arch Jani Nikula
@ 2026-03-02 10:45 ` Boris Brezillon
0 siblings, 0 replies; 6+ messages in thread
From: Boris Brezillon @ 2026-03-02 10:45 UTC (permalink / raw)
To: Jani Nikula; +Cc: Kamil Konieczny, igt-dev, Daniel Almeida
On Mon, 23 Feb 2026 12:49:38 +0200
Jani Nikula <jani.nikula@intel.com> wrote:
> On Thu, 19 Feb 2026, Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:
> > Compilation of Panthor was broken on big-endian due to a guard in
> > pathor lib against such arch. Fix this and create and use
> > function for skipping all panthor tests on such machines.
> >
> > Also while at it, init fd so it could be safely used at last
> > fixture.
>
> What about DRIVER_ANY tests?
>
> Seems like the cleaner option would be to amend drm_open_driver() with
> something like:
>
> if (chipset & DRIVER_PANTHOR)
> skip on big endian
>
> instead of sprinkling the skips everywhere.
FWIW, I'm fine with this approach too.
^ permalink raw reply [flat|nested] 6+ messages in thread