* [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-11-23 8:54 [igt-dev] [PATCH i-g-t v3 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
@ 2022-11-28 10:20 ` Anshuman Gupta
2022-11-30 13:09 ` Kamil Konieczny
2022-11-30 13:25 ` Nilawar, Badal
0 siblings, 2 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-11-28 10:20 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Add cold-reset IGT subtest, IGT subtest will use
/sys/bus/pci/slots/$SUN/power sysfs in order to
initiate a cold reset sequence. $SUN value will be
retrieved from PCIe device ACPI firmware node.
v2:
- %s/igt_require(fd > 0)/igt_assert(errno >0)
v3:
- Added Slot Power Controller capability check. [Aravind]
- Check whether slot is powered down before powering up. [Aravind]
v4:
- Check power ctrl presence before slot presence to save CI
execution time.
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
---
lib/igt_pm.c | 40 +++++++++++
lib/igt_pm.h | 1 +
tests/device_reset.c | 156 ++++++++++++++++++++++++++++++++++++++++---
3 files changed, 187 insertions(+), 10 deletions(-)
diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 4f0cfbdd10..9b7ed4be64 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -877,6 +877,46 @@ static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
return dir;
}
+/**
+ * igt_pm_get_pcie_acpihp_slot:
+ * @pci_dev: pci bridge device.
+ * Get pci bridge acpi hotplug slot number, if bridge's ACPI firmware_node
+ * handle supports _SUN method.
+ *
+ * Returns:
+ * PCIe bridge Slot number.
+ * Returns -ENOENT number in case firmware_node/sun is not supported by the
+ * bridge.
+ */
+int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev)
+{
+ int firmware_node_fd, fd, n_read;
+ char sun[8];
+
+ firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
+
+ if (firmware_node_fd < 0 && errno == ENOENT)
+ return -ENOENT;
+
+ igt_require(firmware_node_fd > 0);
+
+ fd = openat(firmware_node_fd, "sun", O_RDONLY);
+ if (fd < 0 && errno == ENOENT) {
+ close(firmware_node_fd);
+ return -ENOENT;
+ }
+
+ igt_assert(errno > 0);
+
+ n_read = read(fd, sun, sizeof(sun));
+ igt_assert(n_read > 0);
+
+ close(firmware_node_fd);
+ close(fd);
+
+ return strtol(sun, NULL, 10);
+}
+
/**
* igt_pm_acpi_d3cold_supported:
* @pci_dev: root port pci_dev.
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index e81fceb897..f65b960c38 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
bool igt_pm_dmc_loaded(int debugfs);
bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
+int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
enum igt_acpi_d_state
igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
diff --git a/tests/device_reset.c b/tests/device_reset.c
index 0c477a02c0..b65395fbb9 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -9,7 +9,9 @@
#include "i915/gem.h"
#include "igt.h"
+#include "igt_device.h"
#include "igt_device_scan.h"
+#include "igt_pci.h"
#include "igt_sysfs.h"
#include "igt_kmod.h"
@@ -33,6 +35,7 @@ struct device_fds {
int dev;
int dev_dir;
int drv_dir;
+ int slot_dir; /* pci hotplug slots fd */
} fds;
char dev_bus_addr[DEV_BUS_ADDR_LEN];
bool snd_unload;
@@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
return __open_sysfs_dir(fd, "device/driver");
}
+static bool is_pci_power_ctrl_present(struct pci_device *dev)
+{
+ int offset;
+ uint32_t slot_cap;
+
+ offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
+ igt_require_f(offset > 0, "PCI Express Capability not found\n");
+ igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset + PCI_SLOT_CAP_OFFSET));
+ igt_debug("slot cap register 0x%x\n", slot_cap);
+
+ return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT;
+}
+
+static bool is_slot_power_ctrl_present(int fd)
+{
+ struct pci_device *root;
+
+ /*
+ * Card root port Slot Capabilities Register
+ * determines Power Controller Presence.
+ */
+ root = igt_device_get_pci_root_port(fd);
+ return is_pci_power_ctrl_present(root);
+}
+
+static int open_slot_sysfs_dir(int fd)
+{
+ struct pci_device *pci_dev = NULL;
+ int slot_fd = -1, slot;
+ char slot_fd_path[PATH_MAX];
+
+ /* Don't search for slot if root port doesn't support power ctrl */
+ if (!is_slot_power_ctrl_present(fd))
+ return slot_fd;
+
+ pci_dev = igt_device_get_pci_device(fd);
+ igt_require(pci_dev);
+
+ while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
+ slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
+ if (slot == -ENOENT) {
+ igt_debug("Bridge PCI device %04x:%02x:%02x.%01x does not support acpihp slot\n",
+ pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
+ continue;
+ }
+
+ /*
+ * Upon getting the valid acpihp slot number break the loop.
+ * It is the desired acpihp slot for gfx card.
+ */
+ if (slot > 0) {
+ igt_debug("Bridge PCI device %04x:%02x:%02x.%01x associated acpihp slot %d\n",
+ pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func, slot);
+ break;
+ }
+ }
+
+ if (!pci_dev)
+ return slot_fd;
+
+ snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
+ slot_fd = open(slot_fd_path, O_RDONLY);
+ if (slot_fd < 0)
+ return -errno;
+
+ return slot_fd;
+}
+
/**
* device_sysfs_path:
* @fd: opened device file descriptor
@@ -124,6 +195,8 @@ static void init_device_fds(struct device_fds *dev)
dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
igt_assert_fd(dev->fds.drv_dir);
+
+ dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
}
static int close_if_opened(int *fd)
@@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds *dev)
igt_ignore_warn(close_if_opened(&dev->fds.dev));
igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
+ igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
}
/**
@@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
return true;
}
+/**
+ * is_sysfs_cold_reset_supported:
+ * @fd: opened device file descriptor
+ *
+ * Check if device supports cold reset based on sysfs file presence.
+ *
+ * Returns:
+ * True if device supports reset, false otherwise.
+ */
+static bool is_sysfs_cold_reset_supported(int slot_fd)
+{
+ struct stat st;
+ int rc;
+ int cold_reset_fd = -1;
+
+ cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
+
+ if (cold_reset_fd < 0)
+ return false;
+
+ rc = fstat(cold_reset_fd, &st);
+ close(cold_reset_fd);
+
+ if (rc || !S_ISREG(st.st_mode))
+ return false;
+
+ return true;
+}
+
/* Unbind the driver from the device */
static void driver_unbind(struct device_fds *dev)
{
@@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds *dev, enum reset type)
{
igt_debug("reset device\n");
- if (type == FLR_RESET)
+ if (type == FLR_RESET) {
igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
+ } else if (type == COLD_RESET) {
+ igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
+ igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir, "power"));
+ igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
+ }
}
@@ -311,17 +419,45 @@ igt_main
igt_skip_on(!is_sysfs_reset_supported(dev.fds.dev));
}
- igt_describe("Unbinds driver from device, initiates reset"
- " then rebinds driver to device");
- igt_subtest("unbind-reset-rebind") {
- unbind_reset_rebind(&dev, FLR_RESET);
- healthcheck(&dev);
+ igt_subtest_group {
+ igt_describe("Unbinds driver from device, initiates reset"
+ " then rebinds driver to device");
+ igt_subtest("unbind-reset-rebind") {
+ unbind_reset_rebind(&dev, FLR_RESET);
+ healthcheck(&dev);
+ }
+
+ igt_describe("Resets device with bound driver");
+ igt_subtest("reset-bound") {
+ initiate_device_reset(&dev, FLR_RESET);
+ /*
+ * Cold reset will initiate card boot sequence again,
+ * therefore let healthcheck() re-epen the dev fd.
+ */
+ dev.fds.dev = -1;
+ healthcheck(&dev);
+ }
}
- igt_describe("Resets device with bound driver");
- igt_subtest("reset-bound") {
- initiate_device_reset(&dev, FLR_RESET);
- healthcheck(&dev);
+ igt_subtest_group {
+ igt_fixture {
+ igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
+ "pcie slot for cold reset\n");
+ igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
+ }
+
+ igt_describe("Unbinds driver from device, initiates cold reset"
+ " then rebinds driver to device");
+ igt_subtest("unbind-cold-reset-rebind") {
+ unbind_reset_rebind(&dev, COLD_RESET);
+ healthcheck(&dev);
+ }
+
+ igt_describe("Cold Resets device with bound driver");
+ igt_subtest("cold-reset-bound") {
+ initiate_device_reset(&dev, COLD_RESET);
+ healthcheck(&dev);
+ }
}
igt_fixture {
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-11-28 10:20 ` [igt-dev] [PATCH i-g-t v4 " Anshuman Gupta
@ 2022-11-30 13:09 ` Kamil Konieczny
2022-11-30 13:25 ` Nilawar, Badal
1 sibling, 0 replies; 18+ messages in thread
From: Kamil Konieczny @ 2022-11-30 13:09 UTC (permalink / raw)
To: igt-dev; +Cc: Badal Nilawar, Rodrigo Vivi
Hi,
please send new version (v5) in complete, e.g. all patches
even those which do not changed.
+cc Marcin
On 2022-11-28 at 15:50:31 +0530, Anshuman Gupta wrote:
> Add cold-reset IGT subtest, IGT subtest will use
> /sys/bus/pci/slots/$SUN/power sysfs in order to
> initiate a cold reset sequence. $SUN value will be
> retrieved from PCIe device ACPI firmware node.
>
> v2:
> - %s/igt_require(fd > 0)/igt_assert(errno >0)
> v3:
> - Added Slot Power Controller capability check. [Aravind]
> - Check whether slot is powered down before powering up. [Aravind]
> v4:
> - Check power ctrl presence before slot presence to save CI
> execution time.
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
> ---
> lib/igt_pm.c | 40 +++++++++++
> lib/igt_pm.h | 1 +
> tests/device_reset.c | 156 ++++++++++++++++++++++++++++++++++++++++---
> 3 files changed, 187 insertions(+), 10 deletions(-)
>
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 4f0cfbdd10..9b7ed4be64 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -877,6 +877,46 @@ static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
> return dir;
> }
>
> +/**
> + * igt_pm_get_pcie_acpihp_slot:
> + * @pci_dev: pci bridge device.
> + * Get pci bridge acpi hotplug slot number, if bridge's ACPI firmware_node
> + * handle supports _SUN method.
> + *
> + * Returns:
> + * PCIe bridge Slot number.
> + * Returns -ENOENT number in case firmware_node/sun is not supported by the
> + * bridge.
> + */
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev)
> +{
> + int firmware_node_fd, fd, n_read;
> + char sun[8];
> +
> + firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
> +
> + if (firmware_node_fd < 0 && errno == ENOENT)
> + return -ENOENT;
> +
> + igt_require(firmware_node_fd > 0);
> +
> + fd = openat(firmware_node_fd, "sun", O_RDONLY);
> + if (fd < 0 && errno == ENOENT) {
> + close(firmware_node_fd);
> + return -ENOENT;
> + }
> +
> + igt_assert(errno > 0);
------- ^
Check for fd > 0 here.
> +
> + n_read = read(fd, sun, sizeof(sun));
> + igt_assert(n_read > 0);
------- ^
Move this assert after close, add also
igt_assert(n_read < 8);
> +
> + close(firmware_node_fd);
> + close(fd);
Add zero to string end, sun[n_read] = 0;
> +
> + return strtol(sun, NULL, 10);
> +}
> +
> /**
> * igt_pm_acpi_d3cold_supported:
> * @pci_dev: root port pci_dev.
> diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> index e81fceb897..f65b960c38 100644
> --- a/lib/igt_pm.h
> +++ b/lib/igt_pm.h
> @@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
> bool igt_pm_dmc_loaded(int debugfs);
> bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
> bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
> bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
> enum igt_acpi_d_state
> igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
> diff --git a/tests/device_reset.c b/tests/device_reset.c
> index 0c477a02c0..b65395fbb9 100644
> --- a/tests/device_reset.c
> +++ b/tests/device_reset.c
> @@ -9,7 +9,9 @@
>
> #include "i915/gem.h"
> #include "igt.h"
> +#include "igt_device.h"
> #include "igt_device_scan.h"
> +#include "igt_pci.h"
> #include "igt_sysfs.h"
> #include "igt_kmod.h"
>
> @@ -33,6 +35,7 @@ struct device_fds {
> int dev;
> int dev_dir;
> int drv_dir;
> + int slot_dir; /* pci hotplug slots fd */
> } fds;
> char dev_bus_addr[DEV_BUS_ADDR_LEN];
> bool snd_unload;
> @@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
> return __open_sysfs_dir(fd, "device/driver");
> }
>
> +static bool is_pci_power_ctrl_present(struct pci_device *dev)
> +{
> + int offset;
> + uint32_t slot_cap;
> +
> + offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
> + igt_require_f(offset > 0, "PCI Express Capability not found\n");
> + igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset + PCI_SLOT_CAP_OFFSET));
> + igt_debug("slot cap register 0x%x\n", slot_cap);
> +
> + return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT;
> +}
> +
> +static bool is_slot_power_ctrl_present(int fd)
> +{
> + struct pci_device *root;
> +
> + /*
> + * Card root port Slot Capabilities Register
> + * determines Power Controller Presence.
> + */
> + root = igt_device_get_pci_root_port(fd);
> + return is_pci_power_ctrl_present(root);
> +}
> +
> +static int open_slot_sysfs_dir(int fd)
> +{
> + struct pci_device *pci_dev = NULL;
> + int slot_fd = -1, slot;
> + char slot_fd_path[PATH_MAX];
> +
> + /* Don't search for slot if root port doesn't support power ctrl */
> + if (!is_slot_power_ctrl_present(fd))
> + return slot_fd;
---------------------- ^
-1 would be better or maybe -ENOTSUP ?
> +
> + pci_dev = igt_device_get_pci_device(fd);
> + igt_require(pci_dev);
> +
> + while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
> + slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
> + if (slot == -ENOENT) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x does not support acpihp slot\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
> + continue;
> + }
> +
> + /*
> + * Upon getting the valid acpihp slot number break the loop.
> + * It is the desired acpihp slot for gfx card.
> + */
> + if (slot > 0) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x associated acpihp slot %d\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func, slot);
> + break;
> + }
> + }
> +
> + if (!pci_dev)
> + return slot_fd;
---------------------- ^
-1 would be better
> +
> + snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
> + slot_fd = open(slot_fd_path, O_RDONLY);
> + if (slot_fd < 0)
> + return -errno;
> +
> + return slot_fd;
> +}
> +
> /**
> * device_sysfs_path:
> * @fd: opened device file descriptor
> @@ -124,6 +195,8 @@ static void init_device_fds(struct device_fds *dev)
>
> dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
> igt_assert_fd(dev->fds.drv_dir);
> +
> + dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
> }
>
> static int close_if_opened(int *fd)
> @@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds *dev)
> igt_ignore_warn(close_if_opened(&dev->fds.dev));
> igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
> igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
> + igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
> }
>
> /**
> @@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
> return true;
> }
>
> +/**
> + * is_sysfs_cold_reset_supported:
> + * @fd: opened device file descriptor
> + *
> + * Check if device supports cold reset based on sysfs file presence.
> + *
> + * Returns:
> + * True if device supports reset, false otherwise.
> + */
> +static bool is_sysfs_cold_reset_supported(int slot_fd)
> +{
> + struct stat st;
> + int rc;
> + int cold_reset_fd = -1;
> +
> + cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
> +
> + if (cold_reset_fd < 0)
> + return false;
> +
> + rc = fstat(cold_reset_fd, &st);
> + close(cold_reset_fd);
> +
> + if (rc || !S_ISREG(st.st_mode))
> + return false;
> +
> + return true;
> +}
> +
> /* Unbind the driver from the device */
> static void driver_unbind(struct device_fds *dev)
> {
> @@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds *dev, enum reset type)
> {
> igt_debug("reset device\n");
>
> - if (type == FLR_RESET)
> + if (type == FLR_RESET) {
> igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> + } else if (type == COLD_RESET) {
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
> + igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir, "power"));
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
> + }
>
> }
>
> @@ -311,17 +419,45 @@ igt_main
> igt_skip_on(!is_sysfs_reset_supported(dev.fds.dev));
> }
>
> - igt_describe("Unbinds driver from device, initiates reset"
> - " then rebinds driver to device");
> - igt_subtest("unbind-reset-rebind") {
> - unbind_reset_rebind(&dev, FLR_RESET);
> - healthcheck(&dev);
> + igt_subtest_group {
Why do you move these into group ?
> + igt_describe("Unbinds driver from device, initiates reset"
> + " then rebinds driver to device");
> + igt_subtest("unbind-reset-rebind") {
> + unbind_reset_rebind(&dev, FLR_RESET);
> + healthcheck(&dev);
> + }
> +
> + igt_describe("Resets device with bound driver");
> + igt_subtest("reset-bound") {
> + initiate_device_reset(&dev, FLR_RESET);
--------------------------------------------------- ^
> + /*
> + * Cold reset will initiate card boot sequence again,
-------------------------- ^
This comment is missplaced.
Regards,
Kamil
> + * therefore let healthcheck() re-epen the dev fd.
> + */
> + dev.fds.dev = -1;
> + healthcheck(&dev);
> + }
> }
>
> - igt_describe("Resets device with bound driver");
> - igt_subtest("reset-bound") {
> - initiate_device_reset(&dev, FLR_RESET);
> - healthcheck(&dev);
> + igt_subtest_group {
> + igt_fixture {
> + igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
> + "pcie slot for cold reset\n");
> + igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
> + }
> +
> + igt_describe("Unbinds driver from device, initiates cold reset"
> + " then rebinds driver to device");
> + igt_subtest("unbind-cold-reset-rebind") {
> + unbind_reset_rebind(&dev, COLD_RESET);
> + healthcheck(&dev);
> + }
> +
> + igt_describe("Cold Resets device with bound driver");
> + igt_subtest("cold-reset-bound") {
> + initiate_device_reset(&dev, COLD_RESET);
> + healthcheck(&dev);
> + }
> }
>
> igt_fixture {
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-11-28 10:20 ` [igt-dev] [PATCH i-g-t v4 " Anshuman Gupta
2022-11-30 13:09 ` Kamil Konieczny
@ 2022-11-30 13:25 ` Nilawar, Badal
2022-12-07 8:38 ` Gupta, Anshuman
1 sibling, 1 reply; 18+ messages in thread
From: Nilawar, Badal @ 2022-11-30 13:25 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev; +Cc: rodrigo.vivi
Hi Anshuman,
On 28-11-2022 15:50, Anshuman Gupta wrote:
> Add cold-reset IGT subtest, IGT subtest will use
> /sys/bus/pci/slots/$SUN/power sysfs in order to
> initiate a cold reset sequence. $SUN value will be
> retrieved from PCIe device ACPI firmware node.
>
> v2:
> - %s/igt_require(fd > 0)/igt_assert(errno >0)
> v3:
> - Added Slot Power Controller capability check. [Aravind]
> - Check whether slot is powered down before powering up. [Aravind]
> v4:
> - Check power ctrl presence before slot presence to save CI
> execution time.
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
> ---
> lib/igt_pm.c | 40 +++++++++++
> lib/igt_pm.h | 1 +
> tests/device_reset.c | 156 ++++++++++++++++++++++++++++++++++++++++---
> 3 files changed, 187 insertions(+), 10 deletions(-)
>
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 4f0cfbdd10..9b7ed4be64 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -877,6 +877,46 @@ static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
> return dir;
> }
>
> +/**
> + * igt_pm_get_pcie_acpihp_slot:
> + * @pci_dev: pci bridge device.
> + * Get pci bridge acpi hotplug slot number, if bridge's ACPI firmware_node
> + * handle supports _SUN method.
> + *
> + * Returns:
> + * PCIe bridge Slot number.
> + * Returns -ENOENT number in case firmware_node/sun is not supported by the
> + * bridge.
> + */
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev)
> +{
> + int firmware_node_fd, fd, n_read;
> + char sun[8];
> +
> + firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
> +
> + if (firmware_node_fd < 0 && errno == ENOENT)
> + return -ENOENT;
> +
> + igt_require(firmware_node_fd > 0);
> +
> + fd = openat(firmware_node_fd, "sun", O_RDONLY);
> + if (fd < 0 && errno == ENOENT) {
> + close(firmware_node_fd);
> + return -ENOENT;
> + }
> +
> + igt_assert(errno > 0);
> +
> + n_read = read(fd, sun, sizeof(sun));
> + igt_assert(n_read > 0);
> +
> + close(firmware_node_fd);
> + close(fd);
> +
> + return strtol(sun, NULL, 10);
> +}
> +
> /**
> * igt_pm_acpi_d3cold_supported:
> * @pci_dev: root port pci_dev.
> diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> index e81fceb897..f65b960c38 100644
> --- a/lib/igt_pm.h
> +++ b/lib/igt_pm.h
> @@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
> bool igt_pm_dmc_loaded(int debugfs);
> bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
> bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
> bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
> enum igt_acpi_d_state
> igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
> diff --git a/tests/device_reset.c b/tests/device_reset.c
> index 0c477a02c0..b65395fbb9 100644
> --- a/tests/device_reset.c
> +++ b/tests/device_reset.c
> @@ -9,7 +9,9 @@
>
> #include "i915/gem.h"
> #include "igt.h"
> +#include "igt_device.h"
> #include "igt_device_scan.h"
> +#include "igt_pci.h"
> #include "igt_sysfs.h"
> #include "igt_kmod.h"
>
> @@ -33,6 +35,7 @@ struct device_fds {
> int dev;
> int dev_dir;
> int drv_dir;
> + int slot_dir; /* pci hotplug slots fd */
> } fds;
> char dev_bus_addr[DEV_BUS_ADDR_LEN];
> bool snd_unload;
> @@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
> return __open_sysfs_dir(fd, "device/driver");
> }
>
> +static bool is_pci_power_ctrl_present(struct pci_device *dev)
> +{
> + int offset;
> + uint32_t slot_cap;
> +
> + offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
> + igt_require_f(offset > 0, "PCI Express Capability not found\n");
> + igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset + PCI_SLOT_CAP_OFFSET));
> + igt_debug("slot cap register 0x%x\n", slot_cap);
> +
> + return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT;
> +}
> +
> +static bool is_slot_power_ctrl_present(int fd)
> +{
> + struct pci_device *root;
> +
> + /*
> + * Card root port Slot Capabilities Register
> + * determines Power Controller Presence.
> + */
> + root = igt_device_get_pci_root_port(fd);
> + return is_pci_power_ctrl_present(root);
Why power controller capability of root port is checked here?
Shouldn't we check the power controller capability of downstream
switch/bridge on which slot is found?
Regards,
Badal
> +}
> +
> +static int open_slot_sysfs_dir(int fd)
> +{
> + struct pci_device *pci_dev = NULL;
> + int slot_fd = -1, slot;
> + char slot_fd_path[PATH_MAX];
> +
> + /* Don't search for slot if root port doesn't support power ctrl */
> + if (!is_slot_power_ctrl_present(fd))
> + return slot_fd;
> +
> + pci_dev = igt_device_get_pci_device(fd);
> + igt_require(pci_dev);
> +
> + while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
> + slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
> + if (slot == -ENOENT) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x does not support acpihp slot\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
> + continue;
> + }
> +
> + /*
> + * Upon getting the valid acpihp slot number break the loop.
> + * It is the desired acpihp slot for gfx card.
> + */
> + if (slot > 0) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x associated acpihp slot %d\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func, slot);
> + break;
> + }
> + }
> +
> + if (!pci_dev)
> + return slot_fd;
> +
> + snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
> + slot_fd = open(slot_fd_path, O_RDONLY);
> + if (slot_fd < 0)
> + return -errno;
> +
> + return slot_fd;
> +}
> +
> /**
> * device_sysfs_path:
> * @fd: opened device file descriptor
> @@ -124,6 +195,8 @@ static void init_device_fds(struct device_fds *dev)
>
> dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
> igt_assert_fd(dev->fds.drv_dir);
> +
> + dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
> }
>
> static int close_if_opened(int *fd)
> @@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds *dev)
> igt_ignore_warn(close_if_opened(&dev->fds.dev));
> igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
> igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
> + igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
> }
>
> /**
> @@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
> return true;
> }
>
> +/**
> + * is_sysfs_cold_reset_supported:
> + * @fd: opened device file descriptor
> + *
> + * Check if device supports cold reset based on sysfs file presence.
> + *
> + * Returns:
> + * True if device supports reset, false otherwise.
> + */
> +static bool is_sysfs_cold_reset_supported(int slot_fd)
> +{
> + struct stat st;
> + int rc;
> + int cold_reset_fd = -1;
> +
> + cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
> +
> + if (cold_reset_fd < 0)
> + return false;
> +
> + rc = fstat(cold_reset_fd, &st);
> + close(cold_reset_fd);
> +
> + if (rc || !S_ISREG(st.st_mode))
> + return false;
> +
> + return true;
> +}
> +
> /* Unbind the driver from the device */
> static void driver_unbind(struct device_fds *dev)
> {
> @@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds *dev, enum reset type)
> {
> igt_debug("reset device\n");
>
> - if (type == FLR_RESET)
> + if (type == FLR_RESET) {
> igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> + } else if (type == COLD_RESET) {
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
> + igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir, "power"));
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
> + }
>
> }
>
> @@ -311,17 +419,45 @@ igt_main
> igt_skip_on(!is_sysfs_reset_supported(dev.fds.dev));
> }
>
> - igt_describe("Unbinds driver from device, initiates reset"
> - " then rebinds driver to device");
> - igt_subtest("unbind-reset-rebind") {
> - unbind_reset_rebind(&dev, FLR_RESET);
> - healthcheck(&dev);
> + igt_subtest_group {
> + igt_describe("Unbinds driver from device, initiates reset"
> + " then rebinds driver to device");
> + igt_subtest("unbind-reset-rebind") {
> + unbind_reset_rebind(&dev, FLR_RESET);
> + healthcheck(&dev);
> + }
> +
> + igt_describe("Resets device with bound driver");
> + igt_subtest("reset-bound") {
> + initiate_device_reset(&dev, FLR_RESET);
> + /*
> + * Cold reset will initiate card boot sequence again,
> + * therefore let healthcheck() re-epen the dev fd.
> + */
> + dev.fds.dev = -1;
> + healthcheck(&dev);
> + }
> }
>
> - igt_describe("Resets device with bound driver");
> - igt_subtest("reset-bound") {
> - initiate_device_reset(&dev, FLR_RESET);
> - healthcheck(&dev);
> + igt_subtest_group {
> + igt_fixture {
> + igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
> + "pcie slot for cold reset\n");
> + igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
> + }
> +
> + igt_describe("Unbinds driver from device, initiates cold reset"
> + " then rebinds driver to device");
> + igt_subtest("unbind-cold-reset-rebind") {
> + unbind_reset_rebind(&dev, COLD_RESET);
> + healthcheck(&dev);
> + }
> +
> + igt_describe("Cold Resets device with bound driver");
> + igt_subtest("cold-reset-bound") {
> + initiate_device_reset(&dev, COLD_RESET);
> + healthcheck(&dev);
> + }
> }
>
> igt_fixture {
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-11-30 13:25 ` Nilawar, Badal
@ 2022-12-07 8:38 ` Gupta, Anshuman
0 siblings, 0 replies; 18+ messages in thread
From: Gupta, Anshuman @ 2022-12-07 8:38 UTC (permalink / raw)
To: Nilawar, Badal, igt-dev@lists.freedesktop.org; +Cc: Vivi, Rodrigo
> -----Original Message-----
> From: Nilawar, Badal <badal.nilawar@intel.com>
> Sent: Wednesday, November 30, 2022 6:55 PM
> To: Gupta, Anshuman <anshuman.gupta@intel.com>; igt-
> dev@lists.freedesktop.org
> Cc: Vivi, Rodrigo <rodrigo.vivi@intel.com>; kamil.konieczny@linux.intel.com;
> Tangudu, Tilak <tilak.tangudu@intel.com>; Iddamsetty, Aravind
> <aravind.iddamsetty@intel.com>; Dixit, Ashutosh
> <ashutosh.dixit@intel.com>
> Subject: Re: [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
>
> Hi Anshuman,
>
> On 28-11-2022 15:50, Anshuman Gupta wrote:
> > Add cold-reset IGT subtest, IGT subtest will use
> > /sys/bus/pci/slots/$SUN/power sysfs in order to initiate a cold reset
> > sequence. $SUN value will be retrieved from PCIe device ACPI firmware
> > node.
> >
> > v2:
> > - %s/igt_require(fd > 0)/igt_assert(errno >0)
> > v3:
> > - Added Slot Power Controller capability check. [Aravind]
> > - Check whether slot is powered down before powering up. [Aravind]
> > v4:
> > - Check power ctrl presence before slot presence to save CI
> > execution time.
> >
> > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
> > ---
> > lib/igt_pm.c | 40 +++++++++++
> > lib/igt_pm.h | 1 +
> > tests/device_reset.c | 156
> ++++++++++++++++++++++++++++++++++++++++---
> > 3 files changed, 187 insertions(+), 10 deletions(-)
> >
> > diff --git a/lib/igt_pm.c b/lib/igt_pm.c index 4f0cfbdd10..9b7ed4be64
> > 100644
> > --- a/lib/igt_pm.c
> > +++ b/lib/igt_pm.c
> > @@ -877,6 +877,46 @@ static int igt_pm_open_pci_firmware_node(struct
> pci_device *pci_dev)
> > return dir;
> > }
> >
> > +/**
> > + * igt_pm_get_pcie_acpihp_slot:
> > + * @pci_dev: pci bridge device.
> > + * Get pci bridge acpi hotplug slot number, if bridge's ACPI
> > +firmware_node
> > + * handle supports _SUN method.
> > + *
> > + * Returns:
> > + * PCIe bridge Slot number.
> > + * Returns -ENOENT number in case firmware_node/sun is not supported
> > +by the
> > + * bridge.
> > + */
> > +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev) {
> > + int firmware_node_fd, fd, n_read;
> > + char sun[8];
> > +
> > + firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
> > +
> > + if (firmware_node_fd < 0 && errno == ENOENT)
> > + return -ENOENT;
> > +
> > + igt_require(firmware_node_fd > 0);
> > +
> > + fd = openat(firmware_node_fd, "sun", O_RDONLY);
> > + if (fd < 0 && errno == ENOENT) {
> > + close(firmware_node_fd);
> > + return -ENOENT;
> > + }
> > +
> > + igt_assert(errno > 0);
> > +
> > + n_read = read(fd, sun, sizeof(sun));
> > + igt_assert(n_read > 0);
> > +
> > + close(firmware_node_fd);
> > + close(fd);
> > +
> > + return strtol(sun, NULL, 10);
> > +}
> > +
> > /**
> > * igt_pm_acpi_d3cold_supported:
> > * @pci_dev: root port pci_dev.
> > diff --git a/lib/igt_pm.h b/lib/igt_pm.h index e81fceb897..f65b960c38
> > 100644
> > --- a/lib/igt_pm.h
> > +++ b/lib/igt_pm.h
> > @@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum
> igt_runtime_pm_status status);
> > bool igt_pm_dmc_loaded(int debugfs);
> > bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
> > bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
> > +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
> > bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
> > enum igt_acpi_d_state
> > igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev); diff --git
> > a/tests/device_reset.c b/tests/device_reset.c index
> > 0c477a02c0..b65395fbb9 100644
> > --- a/tests/device_reset.c
> > +++ b/tests/device_reset.c
> > @@ -9,7 +9,9 @@
> >
> > #include "i915/gem.h"
> > #include "igt.h"
> > +#include "igt_device.h"
> > #include "igt_device_scan.h"
> > +#include "igt_pci.h"
> > #include "igt_sysfs.h"
> > #include "igt_kmod.h"
> >
> > @@ -33,6 +35,7 @@ struct device_fds {
> > int dev;
> > int dev_dir;
> > int drv_dir;
> > + int slot_dir; /* pci hotplug slots fd */
> > } fds;
> > char dev_bus_addr[DEV_BUS_ADDR_LEN];
> > bool snd_unload;
> > @@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
> > return __open_sysfs_dir(fd, "device/driver");
> > }
> >
> > +static bool is_pci_power_ctrl_present(struct pci_device *dev) {
> > + int offset;
> > + uint32_t slot_cap;
> > +
> > + offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
> > + igt_require_f(offset > 0, "PCI Express Capability not found\n");
> > + igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset +
> PCI_SLOT_CAP_OFFSET));
> > + igt_debug("slot cap register 0x%x\n", slot_cap);
> > +
> > + return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT; }
> > +
> > +static bool is_slot_power_ctrl_present(int fd) {
> > + struct pci_device *root;
> > +
> > + /*
> > + * Card root port Slot Capabilities Register
> > + * determines Power Controller Presence.
> > + */
> > + root = igt_device_get_pci_root_port(fd);
> > + return is_pci_power_ctrl_present(root);
> Why power controller capability of root port is checked here?
> Shouldn't we check the power controller capability of downstream
> switch/bridge on which slot is found?
This is to switch on/off the power of card and as per PCI specs the slot capability register
Are only applicable to downstream port or root port. Not for upstream switch port.
Therefore we only requires to check for root port because we are operating on card here.
BR,
Anshuman Gupta.
>
> Regards,
> Badal
> > +}
> > +
> > +static int open_slot_sysfs_dir(int fd) {
> > + struct pci_device *pci_dev = NULL;
> > + int slot_fd = -1, slot;
> > + char slot_fd_path[PATH_MAX];
> > +
> > + /* Don't search for slot if root port doesn't support power ctrl */
> > + if (!is_slot_power_ctrl_present(fd))
> > + return slot_fd;
> > +
> > + pci_dev = igt_device_get_pci_device(fd);
> > + igt_require(pci_dev);
> > +
> > + while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
> > + slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
> > + if (slot == -ENOENT) {
> > + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x
> does not support acpihp slot\n",
> > + pci_dev->domain, pci_dev->bus, pci_dev-
> >dev, pci_dev->func);
> > + continue;
> > + }
> > +
> > + /*
> > + * Upon getting the valid acpihp slot number break the loop.
> > + * It is the desired acpihp slot for gfx card.
> > + */
> > + if (slot > 0) {
> > + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x
> associated acpihp slot %d\n",
> > + pci_dev->domain, pci_dev->bus, pci_dev-
> >dev, pci_dev->func, slot);
> > + break;
> > + }
> > + }
> > +
> > + if (!pci_dev)
> > + return slot_fd;
> > +
> > + snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
> > + slot_fd = open(slot_fd_path, O_RDONLY);
> > + if (slot_fd < 0)
> > + return -errno;
> > +
> > + return slot_fd;
> > +}
> > +
> > /**
> > * device_sysfs_path:
> > * @fd: opened device file descriptor @@ -124,6 +195,8 @@ static
> > void init_device_fds(struct device_fds *dev)
> >
> > dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
> > igt_assert_fd(dev->fds.drv_dir);
> > +
> > + dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
> > }
> >
> > static int close_if_opened(int *fd)
> > @@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds
> *dev)
> > igt_ignore_warn(close_if_opened(&dev->fds.dev));
> > igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
> > igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
> > + igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
> > }
> >
> > /**
> > @@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
> > return true;
> > }
> >
> > +/**
> > + * is_sysfs_cold_reset_supported:
> > + * @fd: opened device file descriptor
> > + *
> > + * Check if device supports cold reset based on sysfs file presence.
> > + *
> > + * Returns:
> > + * True if device supports reset, false otherwise.
> > + */
> > +static bool is_sysfs_cold_reset_supported(int slot_fd) {
> > + struct stat st;
> > + int rc;
> > + int cold_reset_fd = -1;
> > +
> > + cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
> > +
> > + if (cold_reset_fd < 0)
> > + return false;
> > +
> > + rc = fstat(cold_reset_fd, &st);
> > + close(cold_reset_fd);
> > +
> > + if (rc || !S_ISREG(st.st_mode))
> > + return false;
> > +
> > + return true;
> > +}
> > +
> > /* Unbind the driver from the device */
> > static void driver_unbind(struct device_fds *dev)
> > {
> > @@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds
> *dev, enum reset type)
> > {
> > igt_debug("reset device\n");
> >
> > - if (type == FLR_RESET)
> > + if (type == FLR_RESET) {
> > igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> > + } else if (type == COLD_RESET) {
> > + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
> > + igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir,
> "power"));
> > + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
> > + }
> >
> > }
> >
> > @@ -311,17 +419,45 @@ igt_main
> > igt_skip_on(!is_sysfs_reset_supported(dev.fds.dev));
> > }
> >
> > - igt_describe("Unbinds driver from device, initiates reset"
> > - " then rebinds driver to device");
> > - igt_subtest("unbind-reset-rebind") {
> > - unbind_reset_rebind(&dev, FLR_RESET);
> > - healthcheck(&dev);
> > + igt_subtest_group {
> > + igt_describe("Unbinds driver from device, initiates reset"
> > + " then rebinds driver to device");
> > + igt_subtest("unbind-reset-rebind") {
> > + unbind_reset_rebind(&dev, FLR_RESET);
> > + healthcheck(&dev);
> > + }
> > +
> > + igt_describe("Resets device with bound driver");
> > + igt_subtest("reset-bound") {
> > + initiate_device_reset(&dev, FLR_RESET);
> > + /*
> > + * Cold reset will initiate card boot sequence again,
> > + * therefore let healthcheck() re-epen the dev fd.
> > + */
> > + dev.fds.dev = -1;
> > + healthcheck(&dev);
> > + }
> > }
> >
> > - igt_describe("Resets device with bound driver");
> > - igt_subtest("reset-bound") {
> > - initiate_device_reset(&dev, FLR_RESET);
> > - healthcheck(&dev);
> > + igt_subtest_group {
> > + igt_fixture {
> > + igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does
> not support any "
> > + "pcie slot for cold reset\n");
> > +
> igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
> > + }
> > +
> > + igt_describe("Unbinds driver from device, initiates cold
> reset"
> > + " then rebinds driver to device");
> > + igt_subtest("unbind-cold-reset-rebind") {
> > + unbind_reset_rebind(&dev, COLD_RESET);
> > + healthcheck(&dev);
> > + }
> > +
> > + igt_describe("Cold Resets device with bound driver");
> > + igt_subtest("cold-reset-bound") {
> > + initiate_device_reset(&dev, COLD_RESET);
> > + healthcheck(&dev);
> > + }
> > }
> >
> > igt_fixture {
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test
@ 2022-12-07 10:25 Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
` (8 more replies)
0 siblings, 9 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Adding Cold Reset IGT support
v4:
- Address the review comment from badal and kmail.
Anshuman Gupta (5):
lib/igt_pci: helpers to get PCI capabilities offset
lib/igt_pci: Add PCIe slot cap
lib/igt_pm: Refactor get firmware_node fd
test/device_reset: Refactor initiate_device_reset
tests/device_reset: Add cold reset IGT test
lib/igt_pci.c | 56 ++++++++++++++++
lib/igt_pci.h | 28 ++++++++
lib/igt_pm.c | 77 ++++++++++++++++++----
lib/igt_pm.h | 1 +
lib/meson.build | 1 +
tests/device_reset.c | 154 +++++++++++++++++++++++++++++++++++++++++--
6 files changed, 300 insertions(+), 17 deletions(-)
create mode 100644 lib/igt_pci.c
create mode 100644 lib/igt_pci.h
--
2.25.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
@ 2022-12-07 10:25 ` Anshuman Gupta
2022-12-07 13:09 ` Nilawar, Badal
` (2 more replies)
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 2/5] lib/igt_pci: Add PCIe slot cap Anshuman Gupta
` (7 subsequent siblings)
8 siblings, 3 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Added helper functions to search for PCI capabilities
with help of libpciaccess library.
v2:
- Added offset == 0 check at starts of capability loop. [Badal]
- Removed unused macro and removed inline from function. [Kamil]
- Added assertion when capability offset doesn't terminate. [Kamil]
- Made find_pci_cap_offset_at() static, exported only
find_pci_cap_offset(). [Kamil]
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Co-developed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
lib/igt_pci.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_pci.h | 25 ++++++++++++++++++++++
lib/meson.build | 1 +
3 files changed, 82 insertions(+)
create mode 100644 lib/igt_pci.c
create mode 100644 lib/igt_pci.h
diff --git a/lib/igt_pci.c b/lib/igt_pci.c
new file mode 100644
index 0000000000..b088835a92
--- /dev/null
+++ b/lib/igt_pci.c
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include <pciaccess.h>
+#include "igt_core.h"
+#include "igt_pci.h"
+
+static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
+ int start_offset)
+{
+ uint8_t offset;
+ uint16_t cap_header;
+ int loop = (PCI_CFG_SPACE_SIZE - PCI_TYPE0_1_HEADER_SIZE)
+ / sizeof(cap_header);
+
+ if (pci_device_cfg_read_u8(dev, &offset, start_offset))
+ return -1;
+
+ while (loop--) {
+ igt_assert_f(offset != 0xff, "pci config space inaccessible\n");
+
+ if (!offset)
+ break;
+
+ if (offset < PCI_TYPE0_1_HEADER_SIZE)
+ break;
+
+ if (pci_device_cfg_read_u16(dev, &cap_header, (offset & 0xFC)))
+ return -1;
+
+ if (!cap_id || cap_id == (cap_header & 0xFF))
+ return offset;
+
+ offset = cap_header >> 8;
+ }
+
+ igt_fail_on_f(loop <= 0 && offset, "pci capability offset doesn't terminate\n");
+
+ return 0;
+}
+
+/**
+ * find_pci_cap_offset:
+ * @dev: pci device
+ * @cap_id: searched capability id, 0 means any capability
+ *
+ * return:
+ * -1 on config read error, 0 if capability is not found,
+ * otherwise offset at which capability with cap_id is found
+ */
+int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
+{
+ return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
+}
diff --git a/lib/igt_pci.h b/lib/igt_pci.h
new file mode 100644
index 0000000000..7cb23a26d8
--- /dev/null
+++ b/lib/igt_pci.h
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#ifndef __IGT_PCI_H__
+#define __IGT_PCI_H__
+
+#include <stdint.h>
+#include <endian.h>
+
+/* forward declaration */
+struct pci_device;
+
+#define PCI_TYPE0_1_HEADER_SIZE 0x40
+#define PCI_CAPS_START 0x34
+#define PCI_CFG_SPACE_SIZE 0x100
+
+enum pci_cap_id {
+ PCI_EXPRESS_CAP_ID = 0x10
+};
+
+int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
+
+#endif
diff --git a/lib/meson.build b/lib/meson.build
index 8ae9fe13d1..f4a0bdc29a 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -33,6 +33,7 @@ lib_sources = [
'igt_pipe_crc.c',
'igt_power.c',
'igt_primes.c',
+ 'igt_pci.c',
'igt_rand.c',
'igt_stats.c',
'igt_syncobj.c',
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 2/5] lib/igt_pci: Add PCIe slot cap
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
@ 2022-12-07 10:25 ` Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 3/5] lib/igt_pm: Refactor get firmware_node fd Anshuman Gupta
` (6 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Adding PCIe slot cap register offset and Power Controller Present
bit mask macros.
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
---
lib/igt_pci.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/igt_pci.h b/lib/igt_pci.h
index 7cb23a26d8..876e4ec24d 100644
--- a/lib/igt_pci.h
+++ b/lib/igt_pci.h
@@ -20,6 +20,9 @@ enum pci_cap_id {
PCI_EXPRESS_CAP_ID = 0x10
};
+#define PCI_SLOT_CAP_OFFSET 0x14 /* PCIe specs chapter 7.8.9 */
+#define PCI_SLOT_PWR_CTRL_PRESENT (1 << 1)
+
int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
#endif
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 3/5] lib/igt_pm: Refactor get firmware_node fd
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 2/5] lib/igt_pci: Add PCIe slot cap Anshuman Gupta
@ 2022-12-07 10:25 ` Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 4/5] test/device_reset: Refactor initiate_device_reset Anshuman Gupta
` (5 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Created igt_pm_open_pci_firmware_node() to refactor
the retrieving the firmware_node fd code.
igt_pm_open_pci_firmware_node() will be used by other
firmware_node consumers.
While doing that fixed the leaked fd as well.
v2:
- return false instead of igt_require on no firmware_node_fd. [Kamil]
- use igt_assert() when failed to open 'real_power_state' on error
other then ENONET.
v3:
- Fixed the nit. [Kmail]
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
lib/igt_pm.c | 36 +++++++++++++++++++++++++-----------
1 file changed, 25 insertions(+), 11 deletions(-)
diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 1e6e9ed3ff..1e144a7397 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -863,6 +863,20 @@ bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output)
return strstr(buf, "LPSP: capable");
}
+static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
+{
+ char name[PATH_MAX];
+ int dir;
+
+ snprintf(name, PATH_MAX,
+ "/sys/bus/pci/devices/%04x:%02x:%02x.%01x/firmware_node",
+ pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
+
+ dir = open(name, O_RDONLY);
+
+ return dir;
+}
+
/**
* igt_pm_acpi_d3cold_supported:
* @pci_dev: root port pci_dev.
@@ -873,23 +887,23 @@ bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output)
*/
bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev)
{
- char name[PATH_MAX];
- int dir, fd;
-
- snprintf(name, PATH_MAX,
- "/sys/bus/pci/devices/%04x:%02x:%02x.%01x/firmware_node",
- pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
+ int firmware_node_fd, fd;
- dir = open(name, O_RDONLY);
- igt_require(dir > 0);
+ firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
+ if (firmware_node_fd < 0)
+ return false;
/* BIOS need to enable ACPI D3Cold Support.*/
- fd = openat(dir, "real_power_state", O_RDONLY);
- if (fd < 0 && errno == ENOENT)
+ fd = openat(firmware_node_fd, "real_power_state", O_RDONLY);
+ if (fd < 0 && errno == ENOENT) {
+ close(firmware_node_fd);
return false;
+ }
- igt_require(fd > 0);
+ igt_assert_f(fd > 0, "failed to open real_power_state, errno=%d\n", errno);
+ close(firmware_node_fd);
+ close(fd);
return true;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 4/5] test/device_reset: Refactor initiate_device_reset
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (2 preceding siblings ...)
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 3/5] lib/igt_pm: Refactor get firmware_node fd Anshuman Gupta
@ 2022-12-07 10:25 ` Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
` (4 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Added a reset type enum to support multiple types
of reset like WARM, COLD and FLR reset.
No functional change.
v2:
- Removed WARM_RESET enum as not used yet. [Badal]
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
tests/device_reset.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/tests/device_reset.c b/tests/device_reset.c
index e60d4c7fde..0c477a02c0 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -19,6 +19,11 @@ IGT_TEST_DESCRIPTION("Examine behavior of a driver on device sysfs reset");
#define DEV_PATH_LEN 80
#define DEV_BUS_ADDR_LEN 13 /* addr has form 0000:00:00.0 */
+enum reset {
+ COLD_RESET,
+ FLR_RESET
+};
+
/**
* Helper structure containing file descriptors
* and bus address related to tested device
@@ -222,10 +227,13 @@ static void driver_bind(struct device_fds *dev)
}
/* Initiate device reset */
-static void initiate_device_reset(struct device_fds *dev)
+static void initiate_device_reset(struct device_fds *dev, enum reset type)
{
igt_debug("reset device\n");
- igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
+
+ if (type == FLR_RESET)
+ igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
+
}
static bool is_i915_wedged(int i915)
@@ -274,14 +282,14 @@ static void set_device_filter(const char* dev_path)
igt_assert_eq(igt_device_filter_add(filter), 1);
}
-static void unbind_reset_rebind(struct device_fds *dev)
+static void unbind_reset_rebind(struct device_fds *dev, enum reset type)
{
igt_debug("close the device\n");
close_if_opened(&dev->fds.dev);
driver_unbind(dev);
- initiate_device_reset(dev);
+ initiate_device_reset(dev, type);
driver_bind(dev);
}
@@ -306,13 +314,13 @@ igt_main
igt_describe("Unbinds driver from device, initiates reset"
" then rebinds driver to device");
igt_subtest("unbind-reset-rebind") {
- unbind_reset_rebind(&dev);
+ unbind_reset_rebind(&dev, FLR_RESET);
healthcheck(&dev);
}
igt_describe("Resets device with bound driver");
igt_subtest("reset-bound") {
- initiate_device_reset(&dev);
+ initiate_device_reset(&dev, FLR_RESET);
healthcheck(&dev);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (3 preceding siblings ...)
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 4/5] test/device_reset: Refactor initiate_device_reset Anshuman Gupta
@ 2022-12-07 10:25 ` Anshuman Gupta
2022-12-07 13:15 ` Nilawar, Badal
2022-12-07 10:59 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test Patchwork
` (3 subsequent siblings)
8 siblings, 1 reply; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-07 10:25 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Add cold-reset IGT subtest, IGT subtest will use
/sys/bus/pci/slots/$SUN/power sysfs in order to
initiate a cold reset sequence. $SUN value will be
retrieved from PCIe device ACPI firmware node.
v2:
- %s/igt_require(fd > 0)/igt_assert(errno >0)
v3:
- Added Slot Power Controller capability check. [Aravind]
- Check whether slot is powered down before powering up. [Aravind]
v4:
- Check power ctrl presence before slot presence to save CI
execution time.
v5:
- Review comment addressal about igt assertion,
return type and null terminated string. [Kamil]
- Remove the FLR_RESET subgroup. [Kmail]
- Moved the misplaced code comment. [Kamil]
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
---
lib/igt_pm.c | 41 +++++++++++++
lib/igt_pm.h | 1 +
tests/device_reset.c | 136 ++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 177 insertions(+), 1 deletion(-)
diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 1e144a7397..26e8c9f05f 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -877,6 +877,47 @@ static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
return dir;
}
+/**
+ * igt_pm_get_pcie_acpihp_slot:
+ * @pci_dev: pci bridge device.
+ * Get pci bridge acpi hotplug slot number, if bridge's ACPI firmware_node
+ * handle supports _SUN method.
+ *
+ * Returns:
+ * PCIe bridge Slot number.
+ * Returns -ENOENT number in case firmware_node/sun is not supported by the
+ * bridge.
+ */
+int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev)
+{
+ int firmware_node_fd, fd, n_read;
+ char sun[8];
+
+ firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
+
+ if (firmware_node_fd < 0 && errno == ENOENT)
+ return -ENOENT;
+
+ igt_require(firmware_node_fd > 0);
+
+ fd = openat(firmware_node_fd, "sun", O_RDONLY);
+ if (fd < 0 && errno == ENOENT) {
+ close(firmware_node_fd);
+ return -ENOENT;
+ }
+
+ igt_assert_f(fd > 0, "failed to open real_power_state, errno=%d\n", errno);
+
+ n_read = read(fd, sun, sizeof(sun));
+
+ close(firmware_node_fd);
+ close(fd);
+ igt_assert(n_read > 0 && n_read < sizeof(sun));
+ sun[n_read] = '\0';
+
+ return strtol(sun, NULL, 10);
+}
+
/**
* igt_pm_acpi_d3cold_supported:
* @pci_dev: root port pci_dev.
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index e81fceb897..f65b960c38 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
bool igt_pm_dmc_loaded(int debugfs);
bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
+int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
enum igt_acpi_d_state
igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
diff --git a/tests/device_reset.c b/tests/device_reset.c
index 0c477a02c0..39ee8dca9f 100644
--- a/tests/device_reset.c
+++ b/tests/device_reset.c
@@ -9,7 +9,9 @@
#include "i915/gem.h"
#include "igt.h"
+#include "igt_device.h"
#include "igt_device_scan.h"
+#include "igt_pci.h"
#include "igt_sysfs.h"
#include "igt_kmod.h"
@@ -33,6 +35,7 @@ struct device_fds {
int dev;
int dev_dir;
int drv_dir;
+ int slot_dir; /* pci hotplug slots fd */
} fds;
char dev_bus_addr[DEV_BUS_ADDR_LEN];
bool snd_unload;
@@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
return __open_sysfs_dir(fd, "device/driver");
}
+static bool is_pci_power_ctrl_present(struct pci_device *dev)
+{
+ int offset;
+ uint32_t slot_cap;
+
+ offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
+ igt_require_f(offset > 0, "PCI Express Capability not found\n");
+ igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset + PCI_SLOT_CAP_OFFSET));
+ igt_debug("slot cap register 0x%x\n", slot_cap);
+
+ return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT;
+}
+
+static bool is_slot_power_ctrl_present(int fd)
+{
+ struct pci_device *root;
+
+ /*
+ * Card root port Slot Capabilities Register
+ * determines Power Controller Presence.
+ */
+ root = igt_device_get_pci_root_port(fd);
+ return is_pci_power_ctrl_present(root);
+}
+
+static int open_slot_sysfs_dir(int fd)
+{
+ struct pci_device *pci_dev = NULL;
+ int slot_fd = -1, slot;
+ char slot_fd_path[PATH_MAX];
+
+ /* Don't search for slot if root port doesn't support power ctrl */
+ if (!is_slot_power_ctrl_present(fd))
+ return -ENOTSUP;
+
+ pci_dev = igt_device_get_pci_device(fd);
+ igt_require(pci_dev);
+
+ while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
+ slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
+ if (slot == -ENOENT) {
+ igt_debug("Bridge PCI device %04x:%02x:%02x.%01x does not support acpihp slot\n",
+ pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
+ continue;
+ }
+
+ /*
+ * Upon getting the valid acpihp slot number break the loop.
+ * It is the desired acpihp slot for gfx card.
+ */
+ if (slot > 0) {
+ igt_debug("Bridge PCI device %04x:%02x:%02x.%01x associated acpihp slot %d\n",
+ pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func, slot);
+ break;
+ }
+ }
+
+ if (!pci_dev)
+ return -1;
+
+ snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
+ slot_fd = open(slot_fd_path, O_RDONLY);
+ if (slot_fd < 0)
+ return -errno;
+
+ return slot_fd;
+}
+
/**
* device_sysfs_path:
* @fd: opened device file descriptor
@@ -124,6 +195,8 @@ static void init_device_fds(struct device_fds *dev)
dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
igt_assert_fd(dev->fds.drv_dir);
+
+ dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
}
static int close_if_opened(int *fd)
@@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds *dev)
igt_ignore_warn(close_if_opened(&dev->fds.dev));
igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
+ igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
}
/**
@@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
return true;
}
+/**
+ * is_sysfs_cold_reset_supported:
+ * @fd: opened device file descriptor
+ *
+ * Check if device supports cold reset based on sysfs file presence.
+ *
+ * Returns:
+ * True if device supports reset, false otherwise.
+ */
+static bool is_sysfs_cold_reset_supported(int slot_fd)
+{
+ struct stat st;
+ int rc;
+ int cold_reset_fd = -1;
+
+ cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
+
+ if (cold_reset_fd < 0)
+ return false;
+
+ rc = fstat(cold_reset_fd, &st);
+ close(cold_reset_fd);
+
+ if (rc || !S_ISREG(st.st_mode))
+ return false;
+
+ return true;
+}
+
/* Unbind the driver from the device */
static void driver_unbind(struct device_fds *dev)
{
@@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds *dev, enum reset type)
{
igt_debug("reset device\n");
- if (type == FLR_RESET)
+ if (type == FLR_RESET) {
igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
+ } else if (type == COLD_RESET) {
+ igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
+ igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir, "power"));
+ igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
+ }
}
@@ -324,6 +432,32 @@ igt_main
healthcheck(&dev);
}
+ igt_subtest_group {
+ igt_fixture {
+ igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
+ "pcie slot for cold reset\n");
+ igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
+ }
+
+ igt_describe("Unbinds driver from device, initiates cold reset"
+ " then rebinds driver to device");
+ igt_subtest("unbind-cold-reset-rebind") {
+ unbind_reset_rebind(&dev, COLD_RESET);
+ healthcheck(&dev);
+ }
+
+ igt_describe("Cold Resets device with bound driver");
+ igt_subtest("cold-reset-bound") {
+ initiate_device_reset(&dev, COLD_RESET);
+ /*
+ * Cold reset will initiate card boot sequence again,
+ * therefore let healthcheck() re-epen the dev fd.
+ */
+ dev.fds.dev = -1;
+ healthcheck(&dev);
+ }
+ }
+
igt_fixture {
cleanup_device_fds(&dev);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (4 preceding siblings ...)
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
@ 2022-12-07 10:59 ` Patchwork
2022-12-07 12:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2022-12-07 10:59 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5424 bytes --]
== Series Details ==
Series: Cold Reset IGT Test
URL : https://patchwork.freedesktop.org/series/111719/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12476 -> IGTPW_8209
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
Participating hosts (30 -> 29)
------------------------------
Additional (1): fi-kbl-8809g
Missing (2): fi-rkl-11600 fi-tgl-dsi
Known issues
------------
Here are the changes found in IGTPW_8209 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_gttfill@basic:
- fi-pnv-d510: [PASS][1] -> [FAIL][2] ([i915#7229])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/fi-pnv-d510/igt@gem_exec_gttfill@basic.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-pnv-d510/igt@gem_exec_gttfill@basic.html
* igt@gem_huc_copy@huc-copy:
- fi-kbl-8809g: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#2190])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html
* igt@i915_module_load@reload:
- fi-kbl-8809g: NOTRUN -> [DMESG-WARN][4] ([i915#6899])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-kbl-8809g/igt@i915_module_load@reload.html
* igt@i915_selftest@live@hangcheck:
- fi-icl-u2: [PASS][5] -> [INCOMPLETE][6] ([i915#5153])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/fi-icl-u2/igt@i915_selftest@live@hangcheck.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-icl-u2/igt@i915_selftest@live@hangcheck.html
* igt@kms_chamelium@vga-edid-read:
- fi-kbl-8809g: NOTRUN -> [SKIP][7] ([fdo#109271] / [fdo#111827]) +7 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-kbl-8809g/igt@kms_chamelium@vga-edid-read.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
- fi-kbl-8809g: NOTRUN -> [SKIP][8] ([fdo#109271]) +24 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-kbl-8809g/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
* igt@runner@aborted:
- fi-kbl-8809g: NOTRUN -> [FAIL][9] ([i915#4312] / [i915#4991])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-kbl-8809g/igt@runner@aborted.html
- fi-icl-u2: NOTRUN -> [FAIL][10] ([i915#4312])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/fi-icl-u2/igt@runner@aborted.html
#### Possible fixes ####
* igt@fbdev@read:
- {bat-rpls-2}: [SKIP][11] ([i915#2582]) -> [PASS][12] +4 similar issues
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/bat-rpls-2/igt@fbdev@read.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/bat-rpls-2/igt@fbdev@read.html
* igt@i915_module_load@reload:
- {bat-rpls-2}: [INCOMPLETE][13] ([i915#6434]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/bat-rpls-2/igt@i915_module_load@reload.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/bat-rpls-2/igt@i915_module_load@reload.html
* igt@i915_selftest@live@gt_heartbeat:
- {bat-jsl-1}: [DMESG-FAIL][15] ([i915#5334]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5153]: https://gitlab.freedesktop.org/drm/intel/issues/5153
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6434]: https://gitlab.freedesktop.org/drm/intel/issues/6434
[i915#6559]: https://gitlab.freedesktop.org/drm/intel/issues/6559
[i915#6899]: https://gitlab.freedesktop.org/drm/intel/issues/6899
[i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
[i915#7229]: https://gitlab.freedesktop.org/drm/intel/issues/7229
[i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7084 -> IGTPW_8209
CI-20190529: 20190529
CI_DRM_12476: e76e37e7dff49e6cb61ca9b8ccf913153aaccca7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8209: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
IGT_7084: ec81855d36887dfe81d5ff513ed6d512773da37e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+++ 73 lines
--- 71 lines
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
[-- Attachment #2: Type: text/html, Size: 6090 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Cold Reset IGT Test
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (5 preceding siblings ...)
2022-12-07 10:59 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test Patchwork
@ 2022-12-07 12:25 ` Patchwork
2022-12-09 13:28 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test (rev2) Patchwork
2022-12-09 21:11 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2022-12-07 12:25 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 45128 bytes --]
== Series Details ==
Series: Cold Reset IGT Test
URL : https://patchwork.freedesktop.org/series/111719/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12476_full -> IGTPW_8209_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
Participating hosts (11 -> 8)
------------------------------
Missing (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8209_full:
### IGT changes ###
#### Possible regressions ####
* {igt@device_reset@cold-reset-bound} (NEW):
- {shard-dg1}: NOTRUN -> [SKIP][1] +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-dg1-19/igt@device_reset@cold-reset-bound.html
- shard-tglb: NOTRUN -> [SKIP][2] +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@device_reset@cold-reset-bound.html
- shard-iclb: NOTRUN -> [SKIP][3] +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb3/igt@device_reset@cold-reset-bound.html
* {igt@device_reset@unbind-cold-reset-rebind} (NEW):
- {shard-rkl}: NOTRUN -> [SKIP][4] +1 similar issue
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-1/igt@device_reset@unbind-cold-reset-rebind.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0:
- {shard-dg1}: NOTRUN -> [SKIP][5]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-dg1-17/igt@gem_lmem_swapping@parallel-random-verify-ccs@lmem0.html
New tests
---------
New tests have been introduced between CI_DRM_12476_full and IGTPW_8209_full:
### New IGT tests (2) ###
* igt@device_reset@cold-reset-bound:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@device_reset@unbind-cold-reset-rebind:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8209_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@device_reset@unbind-reset-rebind:
- shard-snb: [PASS][6] -> [SKIP][7] ([fdo#109271])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-snb5/igt@device_reset@unbind-reset-rebind.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb7/igt@device_reset@unbind-reset-rebind.html
* igt@gem_ccs@block-copy-inplace:
- shard-tglb: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#5325])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@gem_ccs@block-copy-inplace.html
- shard-iclb: NOTRUN -> [SKIP][9] ([i915#5327])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@gem_ccs@block-copy-inplace.html
* igt@gem_ctx_persistence@legacy-engines-hostile:
- shard-snb: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1099])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb4/igt@gem_ctx_persistence@legacy-engines-hostile.html
* igt@gem_ctx_sseu@invalid-args:
- shard-tglb: NOTRUN -> [SKIP][11] ([i915#280])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-iclb: [PASS][12] -> [SKIP][13] ([i915#4525]) +1 similar issue
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb2/igt@gem_exec_balancer@parallel-contexts.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglb: [PASS][14] -> [FAIL][15] ([i915#2842]) +1 similar issue
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-tglb6/igt@gem_exec_fair@basic-flow@rcs0.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-none@vcs1:
- shard-iclb: NOTRUN -> [FAIL][16] ([i915#2842])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb1/igt@gem_exec_fair@basic-none@vcs1.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [PASS][17] -> [FAIL][18] ([i915#2842])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_params@no-vebox:
- shard-tglb: NOTRUN -> [SKIP][19] ([fdo#109283] / [i915#4877])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@gem_exec_params@no-vebox.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs:
- shard-apl: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#4613]) +1 similar issue
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl8/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
- shard-tglb: NOTRUN -> [SKIP][21] ([i915#4613]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
* igt@gem_lmem_swapping@smem-oom:
- shard-iclb: NOTRUN -> [SKIP][22] ([i915#4613]) +2 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@gem_lmem_swapping@smem-oom.html
* igt@gem_pread@exhaustion:
- shard-tglb: NOTRUN -> [WARN][23] ([i915#2658])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb5/igt@gem_pread@exhaustion.html
* igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
- shard-iclb: NOTRUN -> [SKIP][24] ([i915#4270]) +1 similar issue
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
- shard-tglb: NOTRUN -> [SKIP][25] ([i915#4270])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb2/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html
* igt@gem_render_copy@y-tiled-to-vebox-y-tiled:
- shard-iclb: NOTRUN -> [SKIP][26] ([i915#768]) +1 similar issue
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb7/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html
* igt@gem_userptr_blits@input-checking:
- shard-iclb: NOTRUN -> [DMESG-WARN][27] ([i915#4991])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb5/igt@gem_userptr_blits@input-checking.html
- shard-snb: NOTRUN -> [DMESG-WARN][28] ([i915#4991])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb7/igt@gem_userptr_blits@input-checking.html
* igt@gen3_mixed_blits:
- shard-iclb: NOTRUN -> [SKIP][29] ([fdo#109289]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@gen3_mixed_blits.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [PASS][30] -> [DMESG-WARN][31] ([i915#5566] / [i915#716])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl3/igt@gen9_exec_parse@allowed-single.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl1/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@batch-zero-length:
- shard-tglb: NOTRUN -> [SKIP][32] ([i915#2527] / [i915#2856]) +2 similar issues
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@gen9_exec_parse@batch-zero-length.html
- shard-iclb: NOTRUN -> [SKIP][33] ([i915#2856]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb3/igt@gen9_exec_parse@batch-zero-length.html
* igt@i915_pm_dc@dc6-psr:
- shard-tglb: NOTRUN -> [FAIL][34] ([i915#3989] / [i915#454])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [PASS][35] -> [SKIP][36] ([fdo#109271]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl2/igt@i915_pm_dc@dc9-dpms.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl1/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_lpsp@screens-disabled:
- shard-iclb: NOTRUN -> [SKIP][37] ([i915#1902])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@i915_pm_lpsp@screens-disabled.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglb: [PASS][38] -> [WARN][39] ([i915#2681])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-tglb5/igt@i915_pm_rc6_residency@rc6-fence.html
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-tglb: NOTRUN -> [SKIP][40] ([fdo#109506] / [i915#2411])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
* igt@i915_pm_rpm@modeset-non-lpsp:
- shard-tglb: NOTRUN -> [SKIP][41] ([fdo#111644] / [i915#1397] / [i915#2411])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@i915_pm_rpm@modeset-non-lpsp.html
- shard-iclb: NOTRUN -> [SKIP][42] ([fdo#110892])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb7/igt@i915_pm_rpm@modeset-non-lpsp.html
* igt@i915_query@query-topology-known-pci-ids:
- shard-iclb: NOTRUN -> [SKIP][43] ([fdo#109303])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb7/igt@i915_query@query-topology-known-pci-ids.html
* igt@kms_atomic_transition@plane-all-modeset-transition:
- shard-iclb: NOTRUN -> [SKIP][44] ([i915#1769])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb5/igt@kms_atomic_transition@plane-all-modeset-transition.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-0:
- shard-tglb: NOTRUN -> [SKIP][45] ([i915#5286]) +4 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb2/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-iclb: NOTRUN -> [SKIP][46] ([i915#5286]) +2 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb7/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][47] ([fdo#111614])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-iclb: NOTRUN -> [SKIP][48] ([fdo#110725] / [fdo#111614])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- shard-tglb: NOTRUN -> [SKIP][49] ([fdo#111615]) +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-iclb: NOTRUN -> [SKIP][50] ([fdo#110723]) +1 similar issue
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_big_joiner@invalid-modeset:
- shard-tglb: NOTRUN -> [SKIP][51] ([i915#2705])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][52] ([i915#3689] / [i915#6095]) +2 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][53] ([fdo#109278] / [i915#3886]) +4 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#3886]) +2 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl2/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-bad-aux-stride-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][55] ([fdo#111615] / [i915#3689]) +1 similar issue
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@kms_ccs@pipe-c-bad-aux-stride-yf_tiled_ccs.html
* igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][56] ([fdo#109278]) +9 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb3/igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_rc_ccs:
- shard-tglb: NOTRUN -> [SKIP][57] ([i915#6095]) +2 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_ccs@pipe-c-bad-pixel-format-4_tiled_dg2_rc_ccs.html
* igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][58] ([i915#3689] / [i915#3886]) +1 similar issue
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs:
- shard-tglb: NOTRUN -> [SKIP][59] ([i915#3689]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_ccs@pipe-d-bad-rotation-90-4_tiled_dg2_rc_ccs.html
* igt@kms_chamelium@hdmi-crc-multiple:
- shard-iclb: NOTRUN -> [SKIP][60] ([fdo#109284] / [fdo#111827]) +1 similar issue
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_chamelium@hdmi-crc-multiple.html
* igt@kms_chamelium@vga-frame-dump:
- shard-tglb: NOTRUN -> [SKIP][61] ([fdo#109284] / [fdo#111827]) +3 similar issues
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@kms_chamelium@vga-frame-dump.html
* igt@kms_color_chamelium@ctm-red-to-blue:
- shard-apl: NOTRUN -> [SKIP][62] ([fdo#109271] / [fdo#111827]) +1 similar issue
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl3/igt@kms_color_chamelium@ctm-red-to-blue.html
- shard-snb: NOTRUN -> [SKIP][63] ([fdo#109271] / [fdo#111827]) +1 similar issue
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb5/igt@kms_color_chamelium@ctm-red-to-blue.html
* igt@kms_content_protection@content_type_change:
- shard-tglb: NOTRUN -> [SKIP][64] ([i915#7118])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb2/igt@kms_content_protection@content_type_change.html
- shard-iclb: NOTRUN -> [SKIP][65] ([i915#7118])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_content_protection@content_type_change.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-tglb: NOTRUN -> [SKIP][66] ([i915#3555]) +1 similar issue
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
- shard-iclb: NOTRUN -> [SKIP][67] ([fdo#109274]) +3 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb3/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-tglb: NOTRUN -> [SKIP][68] ([fdo#109274] / [fdo#111825]) +3 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb5/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-iclb: NOTRUN -> [SKIP][69] ([i915#3840])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_fbcon_fbt@fbc:
- shard-iclb: NOTRUN -> [FAIL][70] ([i915#4767])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_fbcon_fbt@fbc.html
* igt@kms_flip@2x-flip-vs-modeset:
- shard-tglb: NOTRUN -> [SKIP][71] ([fdo#109274] / [fdo#111825] / [i915#3637]) +5 similar issues
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb7/igt@kms_flip@2x-flip-vs-modeset.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][72] ([i915#2587] / [i915#2672]) +3 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][73] ([i915#2672]) +5 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-tglb: NOTRUN -> [SKIP][74] ([i915#2587] / [i915#2672]) +2 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-tglb: NOTRUN -> [SKIP][75] ([fdo#109285])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_force_connector_basic@force-load-detect.html
- shard-iclb: NOTRUN -> [SKIP][76] ([fdo#109285])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-tglb: NOTRUN -> [SKIP][77] ([i915#6497]) +4 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-render:
- shard-iclb: NOTRUN -> [SKIP][78] ([fdo#109280]) +16 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-snb: NOTRUN -> [SKIP][79] ([fdo#109271]) +57 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite:
- shard-tglb: NOTRUN -> [SKIP][80] ([fdo#109280] / [fdo#111825]) +14 similar issues
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite.html
* igt@kms_hdmi_inject@inject-audio:
- shard-tglb: NOTRUN -> [SKIP][81] ([i915#433])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-c-edp-1:
- shard-tglb: NOTRUN -> [SKIP][82] ([i915#5235]) +7 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-c-edp-1.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1:
- shard-iclb: [PASS][83] -> [SKIP][84] ([i915#5235]) +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-iclb: NOTRUN -> [SKIP][85] ([fdo#109642] / [fdo#111068] / [i915#658])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@psr2_cursor_blt:
- shard-iclb: [PASS][86] -> [SKIP][87] ([fdo#109441]) +4 similar issues
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@kms_psr@psr2_cursor_blt.html
* igt@kms_psr@psr2_cursor_mmap_gtt:
- shard-tglb: NOTRUN -> [FAIL][88] ([i915#132] / [i915#3467]) +2 similar issues
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@kms_psr@psr2_cursor_mmap_gtt.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: NOTRUN -> [SKIP][89] ([fdo#109441]) +2 similar issues
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb1/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_tv_load_detect@load-detect:
- shard-tglb: NOTRUN -> [SKIP][90] ([fdo#109309])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb3/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vblank@pipe-d-ts-continuation-dpms-rpm:
- shard-apl: NOTRUN -> [SKIP][91] ([fdo#109271]) +31 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl6/igt@kms_vblank@pipe-d-ts-continuation-dpms-rpm.html
* igt@kms_vrr@flip-suspend:
- shard-iclb: NOTRUN -> [SKIP][92] ([i915#3555])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@kms_vrr@flip-suspend.html
* igt@perf@mi-rpc:
- shard-tglb: NOTRUN -> [SKIP][93] ([fdo#109289]) +1 similar issue
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb2/igt@perf@mi-rpc.html
* igt@prime_vgem@fence-write-hang:
- shard-iclb: NOTRUN -> [SKIP][94] ([fdo#109295])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb8/igt@prime_vgem@fence-write-hang.html
- shard-tglb: NOTRUN -> [SKIP][95] ([fdo#109295])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb5/igt@prime_vgem@fence-write-hang.html
* igt@sysfs_clients@fair-0:
- shard-tglb: NOTRUN -> [SKIP][96] ([i915#2994]) +1 similar issue
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@sysfs_clients@fair-0.html
* igt@sysfs_clients@recycle:
- shard-apl: NOTRUN -> [SKIP][97] ([fdo#109271] / [i915#2994])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl7/igt@sysfs_clients@recycle.html
- shard-iclb: NOTRUN -> [SKIP][98] ([i915#2994])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb1/igt@sysfs_clients@recycle.html
#### Possible fixes ####
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglb: [FAIL][99] ([i915#6268]) -> [PASS][100]
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-tglb5/igt@gem_ctx_exec@basic-nohangcheck.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb1/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_exec_balancer@fairslice:
- {shard-rkl}: [SKIP][101] ([i915#6259]) -> [PASS][102]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@gem_exec_balancer@fairslice.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-6/igt@gem_exec_balancer@fairslice.html
* igt@gem_exec_balancer@parallel-bb-first:
- shard-iclb: [SKIP][103] ([i915#4525]) -> [PASS][104] +1 similar issue
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb7/igt@gem_exec_balancer@parallel-bb-first.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- {shard-rkl}: [FAIL][105] ([i915#2842]) -> [PASS][106]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@gem_exec_fair@basic-pace-share@rcs0.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-3/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_reloc@basic-cpu-read:
- {shard-rkl}: [SKIP][107] ([i915#3281]) -> [PASS][108] +3 similar issues
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-4/igt@gem_exec_reloc@basic-cpu-read.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-5/igt@gem_exec_reloc@basic-cpu-read.html
* igt@gem_exec_schedule@semaphore-power:
- {shard-rkl}: [SKIP][109] ([i915#7276]) -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-4/igt@gem_exec_schedule@semaphore-power.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-5/igt@gem_exec_schedule@semaphore-power.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][111] ([i915#2190]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-tglb7/igt@gem_huc_copy@huc-copy.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb2/igt@gem_huc_copy@huc-copy.html
* igt@gem_ppgtt@blt-vs-render-ctxn:
- {shard-rkl}: [DMESG-FAIL][113] ([i915#3692]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@gem_ppgtt@blt-vs-render-ctxn.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-1/igt@gem_ppgtt@blt-vs-render-ctxn.html
* igt@gem_pwrite@basic-self:
- {shard-rkl}: [SKIP][115] ([i915#3282]) -> [PASS][116] +6 similar issues
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-6/igt@gem_pwrite@basic-self.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-5/igt@gem_pwrite@basic-self.html
* igt@gem_softpin@evict-single-offset:
- {shard-rkl}: [FAIL][117] ([i915#4171]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@gem_softpin@evict-single-offset.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-6/igt@gem_softpin@evict-single-offset.html
* igt@gen9_exec_parse@bb-chained:
- {shard-rkl}: [SKIP][119] ([i915#2527]) -> [PASS][120] +2 similar issues
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-3/igt@gen9_exec_parse@bb-chained.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html
* igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_rc_ccs_cc:
- {shard-rkl}: [SKIP][121] ([i915#1845] / [i915#4098]) -> [PASS][122] +7 similar issues
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-4/igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-6/igt@kms_ccs@pipe-b-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite:
- {shard-rkl}: [SKIP][123] ([i915#1849] / [i915#4098]) -> [PASS][124] +6 similar issues
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1:
- shard-iclb: [SKIP][125] ([i915#5235]) -> [PASS][126] +2 similar issues
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1.html
* igt@kms_psr@cursor_render:
- {shard-rkl}: [SKIP][127] ([i915#1072]) -> [PASS][128] +1 similar issue
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@kms_psr@cursor_render.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-6/igt@kms_psr@cursor_render.html
* igt@kms_psr@psr2_sprite_mmap_cpu:
- shard-iclb: [SKIP][129] ([fdo#109441]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb8/igt@kms_psr@psr2_sprite_mmap_cpu.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-iclb: [SKIP][131] ([i915#5519]) -> [PASS][132] +1 similar issue
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-tglb: [SKIP][133] ([i915#5519]) -> [PASS][134]
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-tglb5/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-tglb6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_sysfs_edid_timing:
- {shard-dg1}: [FAIL][135] ([i915#6493]) -> [PASS][136]
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-dg1-17/igt@kms_sysfs_edid_timing.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-dg1-13/igt@kms_sysfs_edid_timing.html
* igt@perf@gen12-oa-tlb-invalidate:
- {shard-rkl}: [SKIP][137] ([fdo#109289]) -> [PASS][138]
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-rkl-4/igt@perf@gen12-oa-tlb-invalidate.html
* igt@perf_pmu@module-unload:
- shard-snb: [DMESG-WARN][139] ([i915#4528]) -> [PASS][140]
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-snb7/igt@perf_pmu@module-unload.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-snb7/igt@perf_pmu@module-unload.html
* igt@sysfs_timeslice_duration@timeout@vecs0:
- {shard-dg1}: [FAIL][141] ([i915#1755]) -> [PASS][142]
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-dg1-17/igt@sysfs_timeslice_duration@timeout@vecs0.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-dg1-17/igt@sysfs_timeslice_duration@timeout@vecs0.html
#### Warnings ####
* igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1:
- shard-apl: [FAIL][143] ([i915#4573]) -> [DMESG-FAIL][144] ([IGT#6]) +1 similar issue
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl1/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl2/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
- shard-iclb: [SKIP][145] ([i915#658]) -> [SKIP][146] ([i915#2920])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb3/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
- shard-iclb: [SKIP][147] ([fdo#111068] / [i915#658]) -> [SKIP][148] ([i915#2920]) +1 similar issue
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-iclb6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
* igt@runner@aborted:
- shard-apl: ([FAIL][149], [FAIL][150]) ([i915#3002] / [i915#4312]) -> ([FAIL][151], [FAIL][152], [FAIL][153]) ([fdo#109271] / [i915#3002] / [i915#4312])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl2/igt@runner@aborted.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12476/shard-apl7/igt@runner@aborted.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl7/igt@runner@aborted.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl1/igt@runner@aborted.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/shard-apl8/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
[fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3692]: https://gitlab.freedesktop.org/drm/intel/issues/3692
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3810]: https://gitlab.freedesktop.org/drm/intel/issues/3810
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
[i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
[i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
[i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
[i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6259]: https://gitlab.freedesktop.org/drm/intel/issues/6259
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
[i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
[i915#7397]: https://gitlab.freedesktop.org/drm/intel/issues/7397
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7084 -> IGTPW_8209
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12476: e76e37e7dff49e6cb61ca9b8ccf913153aaccca7 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8209: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
IGT_7084: ec81855d36887dfe81d5ff513ed6d512773da37e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8209/index.html
[-- Attachment #2: Type: text/html, Size: 47823 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
@ 2022-12-07 13:09 ` Nilawar, Badal
2022-12-08 8:00 ` Bernatowicz, Marcin
2022-12-09 12:40 ` Anshuman Gupta
2 siblings, 0 replies; 18+ messages in thread
From: Nilawar, Badal @ 2022-12-07 13:09 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev; +Cc: rodrigo.vivi
On 07-12-2022 15:55, Anshuman Gupta wrote:
> Added helper functions to search for PCI capabilities
> with help of libpciaccess library.
>
> v2:
> - Added offset == 0 check at starts of capability loop. [Badal]
> - Removed unused macro and removed inline from function. [Kamil]
> - Added assertion when capability offset doesn't terminate. [Kamil]
> - Made find_pci_cap_offset_at() static, exported only
> find_pci_cap_offset(). [Kamil]
>
> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Co-developed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
> ---
> lib/igt_pci.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
> lib/igt_pci.h | 25 ++++++++++++++++++++++
> lib/meson.build | 1 +
> 3 files changed, 82 insertions(+)
> create mode 100644 lib/igt_pci.c
> create mode 100644 lib/igt_pci.h
>
> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
> new file mode 100644
> index 0000000000..b088835a92
> --- /dev/null
> +++ b/lib/igt_pci.c
> @@ -0,0 +1,56 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#include <pciaccess.h>
> +#include "igt_core.h"
> +#include "igt_pci.h"
> +
> +static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
> + int start_offset)
> +{
> + uint8_t offset;
> + uint16_t cap_header;
> + int loop = (PCI_CFG_SPACE_SIZE - PCI_TYPE0_1_HEADER_SIZE)
> + / sizeof(cap_header);
> +
> + if (pci_device_cfg_read_u8(dev, &offset, start_offset))
> + return -1;
> +
> + while (loop--) {
> + igt_assert_f(offset != 0xff, "pci config space inaccessible\n");
> +
> + if (!offset)
> + break;
> +
> + if (offset < PCI_TYPE0_1_HEADER_SIZE)
> + break;
> +
> + if (pci_device_cfg_read_u16(dev, &cap_header, (offset & 0xFC)))
> + return -1;
> +
> + if (!cap_id || cap_id == (cap_header & 0xFF))
> + return offset;
> +
> + offset = cap_header >> 8;
> + }
> +
> + igt_fail_on_f(loop <= 0 && offset, "pci capability offset doesn't terminate\n");
> +
> + return 0;
> +}
> +
> +/**
> + * find_pci_cap_offset:
> + * @dev: pci device
> + * @cap_id: searched capability id, 0 means any capability
> + *
> + * return:
> + * -1 on config read error, 0 if capability is not found,
> + * otherwise offset at which capability with cap_id is found
> + */
> +int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
> +{
> + return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
> +}
> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
> new file mode 100644
> index 0000000000..7cb23a26d8
> --- /dev/null
> +++ b/lib/igt_pci.h
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#ifndef __IGT_PCI_H__
> +#define __IGT_PCI_H__
> +
> +#include <stdint.h>
> +#include <endian.h>
> +
> +/* forward declaration */
> +struct pci_device;
> +
> +#define PCI_TYPE0_1_HEADER_SIZE 0x40
> +#define PCI_CAPS_START 0x34
> +#define PCI_CFG_SPACE_SIZE 0x100
> +
> +enum pci_cap_id {
> + PCI_EXPRESS_CAP_ID = 0x10
> +};
> +
> +int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
> +
> +#endif
> diff --git a/lib/meson.build b/lib/meson.build
> index 8ae9fe13d1..f4a0bdc29a 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -33,6 +33,7 @@ lib_sources = [
> 'igt_pipe_crc.c',
> 'igt_power.c',
> 'igt_primes.c',
> + 'igt_pci.c',
> 'igt_rand.c',
> 'igt_stats.c',
> 'igt_syncobj.c',
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
@ 2022-12-07 13:15 ` Nilawar, Badal
0 siblings, 0 replies; 18+ messages in thread
From: Nilawar, Badal @ 2022-12-07 13:15 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev; +Cc: rodrigo.vivi
Hi Anshuman,
On 07-12-2022 15:55, Anshuman Gupta wrote:
> Add cold-reset IGT subtest, IGT subtest will use
> /sys/bus/pci/slots/$SUN/power sysfs in order to
> initiate a cold reset sequence. $SUN value will be
> retrieved from PCIe device ACPI firmware node.
>
> v2:
> - %s/igt_require(fd > 0)/igt_assert(errno >0)
> v3:
> - Added Slot Power Controller capability check. [Aravind]
> - Check whether slot is powered down before powering up. [Aravind]
> v4:
> - Check power ctrl presence before slot presence to save CI
> execution time.
> v5:
> - Review comment addressal about igt assertion,
> return type and null terminated string. [Kamil]
> - Remove the FLR_RESET subgroup. [Kmail]
> - Moved the misplaced code comment. [Kamil]
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Looks good to me. You can keep my RB.
Regards,
Badal
> ---
> lib/igt_pm.c | 41 +++++++++++++
> lib/igt_pm.h | 1 +
> tests/device_reset.c | 136 ++++++++++++++++++++++++++++++++++++++++++-
> 3 files changed, 177 insertions(+), 1 deletion(-)
>
> diff --git a/lib/igt_pm.c b/lib/igt_pm.c
> index 1e144a7397..26e8c9f05f 100644
> --- a/lib/igt_pm.c
> +++ b/lib/igt_pm.c
> @@ -877,6 +877,47 @@ static int igt_pm_open_pci_firmware_node(struct pci_device *pci_dev)
> return dir;
> }
>
> +/**
> + * igt_pm_get_pcie_acpihp_slot:
> + * @pci_dev: pci bridge device.
> + * Get pci bridge acpi hotplug slot number, if bridge's ACPI firmware_node
> + * handle supports _SUN method.
> + *
> + * Returns:
> + * PCIe bridge Slot number.
> + * Returns -ENOENT number in case firmware_node/sun is not supported by the
> + * bridge.
> + */
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev)
> +{
> + int firmware_node_fd, fd, n_read;
> + char sun[8];
> +
> + firmware_node_fd = igt_pm_open_pci_firmware_node(pci_dev);
> +
> + if (firmware_node_fd < 0 && errno == ENOENT)
> + return -ENOENT;
> +
> + igt_require(firmware_node_fd > 0);
> +
> + fd = openat(firmware_node_fd, "sun", O_RDONLY);
> + if (fd < 0 && errno == ENOENT) {
> + close(firmware_node_fd);
> + return -ENOENT;
> + }
> +
> + igt_assert_f(fd > 0, "failed to open real_power_state, errno=%d\n", errno);
> +
> + n_read = read(fd, sun, sizeof(sun));
> +
> + close(firmware_node_fd);
> + close(fd);
> + igt_assert(n_read > 0 && n_read < sizeof(sun));
> + sun[n_read] = '\0';
> +
> + return strtol(sun, NULL, 10);
> +}
> +
> /**
> * igt_pm_acpi_d3cold_supported:
> * @pci_dev: root port pci_dev.
> diff --git a/lib/igt_pm.h b/lib/igt_pm.h
> index e81fceb897..f65b960c38 100644
> --- a/lib/igt_pm.h
> +++ b/lib/igt_pm.h
> @@ -73,6 +73,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
> bool igt_pm_dmc_loaded(int debugfs);
> bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
> bool i915_output_is_lpsp_capable(int drm_fd, igt_output_t *output);
> +int igt_pm_get_pcie_acpihp_slot(struct pci_device *pci_dev);
> bool igt_pm_acpi_d3cold_supported(struct pci_device *pci_dev);
> enum igt_acpi_d_state
> igt_pm_get_acpi_real_d_state(struct pci_device *pci_dev);
> diff --git a/tests/device_reset.c b/tests/device_reset.c
> index 0c477a02c0..39ee8dca9f 100644
> --- a/tests/device_reset.c
> +++ b/tests/device_reset.c
> @@ -9,7 +9,9 @@
>
> #include "i915/gem.h"
> #include "igt.h"
> +#include "igt_device.h"
> #include "igt_device_scan.h"
> +#include "igt_pci.h"
> #include "igt_sysfs.h"
> #include "igt_kmod.h"
>
> @@ -33,6 +35,7 @@ struct device_fds {
> int dev;
> int dev_dir;
> int drv_dir;
> + int slot_dir; /* pci hotplug slots fd */
> } fds;
> char dev_bus_addr[DEV_BUS_ADDR_LEN];
> bool snd_unload;
> @@ -62,6 +65,74 @@ static int open_driver_sysfs_dir(int fd)
> return __open_sysfs_dir(fd, "device/driver");
> }
>
> +static bool is_pci_power_ctrl_present(struct pci_device *dev)
> +{
> + int offset;
> + uint32_t slot_cap;
> +
> + offset = find_pci_cap_offset(dev, PCI_EXPRESS_CAP_ID);
> + igt_require_f(offset > 0, "PCI Express Capability not found\n");
> + igt_assert(!pci_device_cfg_read_u32(dev, &slot_cap, offset + PCI_SLOT_CAP_OFFSET));
> + igt_debug("slot cap register 0x%x\n", slot_cap);
> +
> + return slot_cap & PCI_SLOT_PWR_CTRL_PRESENT;
> +}
> +
> +static bool is_slot_power_ctrl_present(int fd)
> +{
> + struct pci_device *root;
> +
> + /*
> + * Card root port Slot Capabilities Register
> + * determines Power Controller Presence.
> + */
> + root = igt_device_get_pci_root_port(fd);
> + return is_pci_power_ctrl_present(root);
> +}
> +
> +static int open_slot_sysfs_dir(int fd)
> +{
> + struct pci_device *pci_dev = NULL;
> + int slot_fd = -1, slot;
> + char slot_fd_path[PATH_MAX];
> +
> + /* Don't search for slot if root port doesn't support power ctrl */
> + if (!is_slot_power_ctrl_present(fd))
> + return -ENOTSUP;
> +
> + pci_dev = igt_device_get_pci_device(fd);
> + igt_require(pci_dev);
> +
> + while ((pci_dev = pci_device_get_parent_bridge(pci_dev))) {
> + slot = igt_pm_get_pcie_acpihp_slot(pci_dev);
> + if (slot == -ENOENT) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x does not support acpihp slot\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func);
> + continue;
> + }
> +
> + /*
> + * Upon getting the valid acpihp slot number break the loop.
> + * It is the desired acpihp slot for gfx card.
> + */
> + if (slot > 0) {
> + igt_debug("Bridge PCI device %04x:%02x:%02x.%01x associated acpihp slot %d\n",
> + pci_dev->domain, pci_dev->bus, pci_dev->dev, pci_dev->func, slot);
> + break;
> + }
> + }
> +
> + if (!pci_dev)
> + return -1;
> +
> + snprintf(slot_fd_path, PATH_MAX, "/sys/bus/pci/slots/%d", slot);
> + slot_fd = open(slot_fd_path, O_RDONLY);
> + if (slot_fd < 0)
> + return -errno;
> +
> + return slot_fd;
> +}
> +
> /**
> * device_sysfs_path:
> * @fd: opened device file descriptor
> @@ -124,6 +195,8 @@ static void init_device_fds(struct device_fds *dev)
>
> dev->fds.drv_dir = open_driver_sysfs_dir(dev->fds.dev);
> igt_assert_fd(dev->fds.drv_dir);
> +
> + dev->fds.slot_dir = open_slot_sysfs_dir(dev->fds.dev);
> }
>
> static int close_if_opened(int *fd)
> @@ -142,6 +215,7 @@ static void cleanup_device_fds(struct device_fds *dev)
> igt_ignore_warn(close_if_opened(&dev->fds.dev));
> igt_ignore_warn(close_if_opened(&dev->fds.dev_dir));
> igt_ignore_warn(close_if_opened(&dev->fds.drv_dir));
> + igt_ignore_warn(close_if_opened(&dev->fds.slot_dir));
> }
>
> /**
> @@ -179,6 +253,35 @@ static bool is_sysfs_reset_supported(int fd)
> return true;
> }
>
> +/**
> + * is_sysfs_cold_reset_supported:
> + * @fd: opened device file descriptor
> + *
> + * Check if device supports cold reset based on sysfs file presence.
> + *
> + * Returns:
> + * True if device supports reset, false otherwise.
> + */
> +static bool is_sysfs_cold_reset_supported(int slot_fd)
> +{
> + struct stat st;
> + int rc;
> + int cold_reset_fd = -1;
> +
> + cold_reset_fd = openat(slot_fd, "power", O_WRONLY);
> +
> + if (cold_reset_fd < 0)
> + return false;
> +
> + rc = fstat(cold_reset_fd, &st);
> + close(cold_reset_fd);
> +
> + if (rc || !S_ISREG(st.st_mode))
> + return false;
> +
> + return true;
> +}
> +
> /* Unbind the driver from the device */
> static void driver_unbind(struct device_fds *dev)
> {
> @@ -231,8 +334,13 @@ static void initiate_device_reset(struct device_fds *dev, enum reset type)
> {
> igt_debug("reset device\n");
>
> - if (type == FLR_RESET)
> + if (type == FLR_RESET) {
> igt_assert(igt_sysfs_set(dev->fds.dev_dir, "reset", "1"));
> + } else if (type == COLD_RESET) {
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "0"));
> + igt_assert(!igt_sysfs_get_boolean(dev->fds.slot_dir, "power"));
> + igt_assert(igt_sysfs_set(dev->fds.slot_dir, "power", "1"));
> + }
>
> }
>
> @@ -324,6 +432,32 @@ igt_main
> healthcheck(&dev);
> }
>
> + igt_subtest_group {
> + igt_fixture {
> + igt_skip_on_f(dev.fds.slot_dir < 0, "Gfx Card does not support any "
> + "pcie slot for cold reset\n");
> + igt_skip_on(!is_sysfs_cold_reset_supported(dev.fds.slot_dir));
> + }
> +
> + igt_describe("Unbinds driver from device, initiates cold reset"
> + " then rebinds driver to device");
> + igt_subtest("unbind-cold-reset-rebind") {
> + unbind_reset_rebind(&dev, COLD_RESET);
> + healthcheck(&dev);
> + }
> +
> + igt_describe("Cold Resets device with bound driver");
> + igt_subtest("cold-reset-bound") {
> + initiate_device_reset(&dev, COLD_RESET);
> + /*
> + * Cold reset will initiate card boot sequence again,
> + * therefore let healthcheck() re-epen the dev fd.
> + */
> + dev.fds.dev = -1;
> + healthcheck(&dev);
> + }
> + }
> +
> igt_fixture {
> cleanup_device_fds(&dev);
> }
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
2022-12-07 13:09 ` Nilawar, Badal
@ 2022-12-08 8:00 ` Bernatowicz, Marcin
2022-12-09 12:40 ` Anshuman Gupta
2 siblings, 0 replies; 18+ messages in thread
From: Bernatowicz, Marcin @ 2022-12-08 8:00 UTC (permalink / raw)
To: Anshuman Gupta, igt-dev; +Cc: badal.nilawar, rodrigo.vivi
On 12/7/2022 11:25 AM, Anshuman Gupta wrote:
> Added helper functions to search for PCI capabilities
> with help of libpciaccess library.
>
> v2:
> - Added offset == 0 check at starts of capability loop. [Badal]
> - Removed unused macro and removed inline from function. [Kamil]
> - Added assertion when capability offset doesn't terminate. [Kamil]
> - Made find_pci_cap_offset_at() static, exported only
> find_pci_cap_offset(). [Kamil]
>
> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Co-developed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> ---
> lib/igt_pci.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
> lib/igt_pci.h | 25 ++++++++++++++++++++++
> lib/meson.build | 1 +
> 3 files changed, 82 insertions(+)
> create mode 100644 lib/igt_pci.c
> create mode 100644 lib/igt_pci.h
>
> diff --git a/lib/igt_pci.c b/lib/igt_pci.c
> new file mode 100644
> index 0000000000..b088835a92
> --- /dev/null
> +++ b/lib/igt_pci.c
> @@ -0,0 +1,56 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#include <pciaccess.h>
> +#include "igt_core.h"
> +#include "igt_pci.h"
> +
> +static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
> + int start_offset)
> +{
> + uint8_t offset;
> + uint16_t cap_header;
maybe if we do not trust pci_device_cfg_read_XXX functions to return
error when value could not be read or if variable is not assigned
we should initialize them to 0xff
> + int loop = (PCI_CFG_SPACE_SIZE - PCI_TYPE0_1_HEADER_SIZE)
> + / sizeof(cap_header);
> +
> + if (pci_device_cfg_read_u8(dev, &offset, start_offset))
> + return -1;
> +
> + while (loop--) {
> + igt_assert_f(offset != 0xff, "pci config space inaccessible\n");
> +
> + if (!offset)
> + break;
the above is redundant as the next if breaks if offset == 0
> +
> + if (offset < PCI_TYPE0_1_HEADER_SIZE)
> + break;
> +
> + if (pci_device_cfg_read_u16(dev, &cap_header, (offset & 0xFC)))
> + return -1;
> +
> + if (!cap_id || cap_id == (cap_header & 0xFF))
> + return offset;
> +
> + offset = cap_header >> 8;
> + }
> +
> + igt_fail_on_f(loop <= 0 && offset, "pci capability offset doesn't terminate\n");
> +
> + return 0;
> +}
> +
> +/**
> + * find_pci_cap_offset:
> + * @dev: pci device
> + * @cap_id: searched capability id, 0 means any capability
> + *
> + * return:
> + * -1 on config read error, 0 if capability is not found,
> + * otherwise offset at which capability with cap_id is found
> + */
> +int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
> +{
> + return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
> +}
> diff --git a/lib/igt_pci.h b/lib/igt_pci.h
> new file mode 100644
> index 0000000000..7cb23a26d8
> --- /dev/null
> +++ b/lib/igt_pci.h
> @@ -0,0 +1,25 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +#ifndef __IGT_PCI_H__
> +#define __IGT_PCI_H__
> +
> +#include <stdint.h>
> +#include <endian.h>
> +
> +/* forward declaration */
> +struct pci_device;
> +
> +#define PCI_TYPE0_1_HEADER_SIZE 0x40
> +#define PCI_CAPS_START 0x34
> +#define PCI_CFG_SPACE_SIZE 0x100
> +
> +enum pci_cap_id {
> + PCI_EXPRESS_CAP_ID = 0x10
> +};
> +
> +int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
> +
> +#endif
> diff --git a/lib/meson.build b/lib/meson.build
> index 8ae9fe13d1..f4a0bdc29a 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -33,6 +33,7 @@ lib_sources = [
> 'igt_pipe_crc.c',
> 'igt_power.c',
> 'igt_primes.c',
> + 'igt_pci.c',
> 'igt_rand.c',
> 'igt_stats.c',
> 'igt_syncobj.c',
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
2022-12-07 13:09 ` Nilawar, Badal
2022-12-08 8:00 ` Bernatowicz, Marcin
@ 2022-12-09 12:40 ` Anshuman Gupta
2 siblings, 0 replies; 18+ messages in thread
From: Anshuman Gupta @ 2022-12-09 12:40 UTC (permalink / raw)
To: igt-dev; +Cc: badal.nilawar, rodrigo.vivi
Added helper functions to search for PCI capabilities
with help of libpciaccess library.
v2:
- Added offset == 0 check at starts of capability loop. [Badal]
- Removed unused macro and removed inline from function. [Kamil]
- Added assertion when capability offset doesn't terminate. [Kamil]
- Made find_pci_cap_offset_at() static, exported only
find_pci_cap_offset(). [Kamil]
v3:
- Initialized the offset and cap_header with 0xff. [Marchin]
- Removed a redundant !offset check. [Marchin]
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Co-developed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
---
lib/igt_pci.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
lib/igt_pci.h | 25 +++++++++++++++++++++++
lib/meson.build | 1 +
3 files changed, 79 insertions(+)
create mode 100644 lib/igt_pci.c
create mode 100644 lib/igt_pci.h
diff --git a/lib/igt_pci.c b/lib/igt_pci.c
new file mode 100644
index 0000000000..61aaf939d1
--- /dev/null
+++ b/lib/igt_pci.c
@@ -0,0 +1,53 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#include <pciaccess.h>
+#include "igt_core.h"
+#include "igt_pci.h"
+
+static int find_pci_cap_offset_at(struct pci_device *dev, enum pci_cap_id cap_id,
+ int start_offset)
+{
+ uint8_t offset = 0xff;
+ uint16_t cap_header = 0xffff;
+ int loop = (PCI_CFG_SPACE_SIZE - PCI_TYPE0_1_HEADER_SIZE)
+ / sizeof(cap_header);
+
+ if (pci_device_cfg_read_u8(dev, &offset, start_offset))
+ return -1;
+
+ while (loop--) {
+ igt_assert_f(offset != 0xff, "pci config space inaccessible\n");
+
+ if (offset < PCI_TYPE0_1_HEADER_SIZE)
+ break;
+
+ if (pci_device_cfg_read_u16(dev, &cap_header, (offset & 0xFC)))
+ return -1;
+
+ if (!cap_id || cap_id == (cap_header & 0xFF))
+ return offset;
+
+ offset = cap_header >> 8;
+ }
+
+ igt_fail_on_f(loop <= 0 && offset, "pci capability offset doesn't terminate\n");
+
+ return 0;
+}
+
+/**
+ * find_pci_cap_offset:
+ * @dev: pci device
+ * @cap_id: searched capability id, 0 means any capability
+ *
+ * return:
+ * -1 on config read error, 0 if capability is not found,
+ * otherwise offset at which capability with cap_id is found
+ */
+int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id)
+{
+ return find_pci_cap_offset_at(dev, cap_id, PCI_CAPS_START);
+}
diff --git a/lib/igt_pci.h b/lib/igt_pci.h
new file mode 100644
index 0000000000..7cb23a26d8
--- /dev/null
+++ b/lib/igt_pci.h
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#ifndef __IGT_PCI_H__
+#define __IGT_PCI_H__
+
+#include <stdint.h>
+#include <endian.h>
+
+/* forward declaration */
+struct pci_device;
+
+#define PCI_TYPE0_1_HEADER_SIZE 0x40
+#define PCI_CAPS_START 0x34
+#define PCI_CFG_SPACE_SIZE 0x100
+
+enum pci_cap_id {
+ PCI_EXPRESS_CAP_ID = 0x10
+};
+
+int find_pci_cap_offset(struct pci_device *dev, enum pci_cap_id cap_id);
+
+#endif
diff --git a/lib/meson.build b/lib/meson.build
index 2c6ebce7b6..028c08c61c 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -33,6 +33,7 @@ lib_sources = [
'igt_pipe_crc.c',
'igt_power.c',
'igt_primes.c',
+ 'igt_pci.c',
'igt_rand.c',
'igt_stats.c',
'igt_syncobj.c',
--
2.25.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test (rev2)
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (6 preceding siblings ...)
2022-12-07 12:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2022-12-09 13:28 ` Patchwork
2022-12-09 21:11 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2022-12-09 13:28 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 15922 bytes --]
== Series Details ==
Series: Cold Reset IGT Test (rev2)
URL : https://patchwork.freedesktop.org/series/111719/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12489 -> IGTPW_8216
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
Participating hosts (25 -> 42)
------------------------------
Additional (17): fi-kbl-soraka bat-kbl-2 bat-adls-5 bat-adlp-9 bat-dg1-5 fi-bsw-n3050 bat-dg2-8 bat-adlm-1 bat-dg2-9 fi-bwr-2160 bat-adlp-6 fi-snb-2520m bat-adlp-4 bat-jsl-3 bat-dg2-11 fi-bsw-nick fi-skl-6600u
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8216:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_rpm@module-reload:
- {bat-rpls-2}: [WARN][1] ([i915#7346]) -> [SKIP][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/bat-rpls-2/igt@i915_pm_rpm@module-reload.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-rpls-2/igt@i915_pm_rpm@module-reload.html
Known issues
------------
Here are the changes found in IGTPW_8216 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@debugfs_test@basic-hwmon:
- bat-adlp-4: NOTRUN -> [SKIP][3] ([i915#7456])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@debugfs_test@basic-hwmon.html
* igt@gem_exec_gttfill@basic:
- fi-kbl-soraka: NOTRUN -> [SKIP][4] ([fdo#109271]) +7 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-kbl-soraka/igt@gem_exec_gttfill@basic.html
* igt@gem_huc_copy@huc-copy:
- fi-skl-6600u: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#2190])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html
- fi-kbl-soraka: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#2190])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-kbl-soraka: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613]) +3 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-bsw-nick: NOTRUN -> [SKIP][8] ([fdo#109271]) +39 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bsw-nick/igt@gem_lmem_swapping@parallel-random-engines.html
- bat-adlp-4: NOTRUN -> [SKIP][9] ([i915#4613]) +3 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@random-engines:
- fi-skl-6600u: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4613]) +3 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html
* igt@gem_mmap@basic:
- bat-dg1-5: NOTRUN -> [SKIP][11] ([i915#4083])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@gem_mmap@basic.html
* igt@gem_tiled_blits@basic:
- fi-bsw-n3050: NOTRUN -> [SKIP][12] ([fdo#109271]) +20 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bsw-n3050/igt@gem_tiled_blits@basic.html
- bat-dg1-5: NOTRUN -> [SKIP][13] ([i915#4077]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@gem_tiled_blits@basic.html
* igt@gem_tiled_pread_basic:
- bat-dg1-5: NOTRUN -> [SKIP][14] ([i915#4079]) +1 similar issue
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@gem_tiled_pread_basic.html
- bat-adlp-4: NOTRUN -> [SKIP][15] ([i915#3282])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@gem_tiled_pread_basic.html
* igt@i915_pm_backlight@basic-brightness:
- bat-dg1-5: NOTRUN -> [SKIP][16] ([i915#7561])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html
* igt@i915_pm_rps@basic-api:
- bat-adlp-4: NOTRUN -> [SKIP][17] ([i915#6621])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@i915_pm_rps@basic-api.html
- bat-dg1-5: NOTRUN -> [SKIP][18] ([i915#6621])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@i915_pm_rps@basic-api.html
* igt@i915_selftest@live@gt_pm:
- fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][19] ([i915#1886])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html
* igt@i915_suspend@basic-s3-without-i915:
- fi-rkl-11600: [PASS][20] -> [INCOMPLETE][21] ([i915#4817])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- bat-dg1-5: NOTRUN -> [SKIP][22] ([i915#4212]) +7 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_addfb_basic@basic-y-tiled-legacy:
- bat-dg1-5: NOTRUN -> [SKIP][23] ([i915#4215])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html
* igt@kms_chamelium@dp-crc-fast:
- bat-adlp-4: NOTRUN -> [SKIP][24] ([fdo#111827]) +8 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@kms_chamelium@dp-crc-fast.html
- bat-dg1-5: NOTRUN -> [SKIP][25] ([fdo#111827]) +8 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_chamelium@dp-crc-fast.html
* igt@kms_chamelium@hdmi-crc-fast:
- fi-skl-6600u: NOTRUN -> [SKIP][26] ([fdo#109271] / [fdo#111827]) +8 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-skl-6600u/igt@kms_chamelium@hdmi-crc-fast.html
- fi-snb-2520m: NOTRUN -> [SKIP][27] ([fdo#109271] / [fdo#111827]) +8 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-snb-2520m/igt@kms_chamelium@hdmi-crc-fast.html
* igt@kms_chamelium@hdmi-edid-read:
- fi-bsw-n3050: NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827]) +8 similar issues
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bsw-n3050/igt@kms_chamelium@hdmi-edid-read.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-bsw-nick: NOTRUN -> [SKIP][29] ([fdo#109271] / [fdo#111827]) +8 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
- fi-kbl-soraka: NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111827]) +7 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-kbl-soraka/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
- bat-adlp-4: NOTRUN -> [SKIP][31] ([i915#4103])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
- bat-dg1-5: NOTRUN -> [SKIP][32] ([i915#4103] / [i915#4213])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size:
- fi-bsw-kefka: [PASS][33] -> [FAIL][34] ([i915#6298])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions-varying-size.html
* igt@kms_force_connector_basic@force-load-detect:
- bat-adlp-4: NOTRUN -> [SKIP][35] ([i915#4093]) +3 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@kms_force_connector_basic@force-load-detect.html
- bat-dg1-5: NOTRUN -> [SKIP][36] ([fdo#109285])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_pipe_crc_basic@suspend-read-crc:
- bat-adlp-4: NOTRUN -> [SKIP][37] ([i915#3546])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@kms_pipe_crc_basic@suspend-read-crc.html
* igt@kms_psr@primary_mmap_gtt:
- fi-bwr-2160: NOTRUN -> [SKIP][38] ([fdo#109271]) +54 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-bwr-2160/igt@kms_psr@primary_mmap_gtt.html
* igt@kms_psr@primary_page_flip:
- bat-dg1-5: NOTRUN -> [SKIP][39] ([i915#1072] / [i915#4078]) +3 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_psr@primary_page_flip.html
* igt@kms_setmode@basic-clone-single-crtc:
- bat-dg1-5: NOTRUN -> [SKIP][40] ([i915#3555])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
- bat-adlp-4: NOTRUN -> [SKIP][41] ([i915#3555] / [i915#4579])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@kms_setmode@basic-clone-single-crtc.html
* igt@prime_vgem@basic-fence-flip:
- fi-snb-2520m: NOTRUN -> [SKIP][42] ([fdo#109271]) +23 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-snb-2520m/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@basic-fence-read:
- bat-dg1-5: NOTRUN -> [SKIP][43] ([i915#3708]) +3 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-gtt:
- bat-dg1-5: NOTRUN -> [SKIP][44] ([i915#3708] / [i915#4077]) +1 similar issue
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@prime_vgem@basic-gtt.html
* igt@prime_vgem@basic-userptr:
- fi-skl-6600u: NOTRUN -> [SKIP][45] ([fdo#109271]) +4 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-skl-6600u/igt@prime_vgem@basic-userptr.html
- bat-adlp-4: NOTRUN -> [SKIP][46] ([fdo#109295] / [i915#3301] / [i915#3708])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@prime_vgem@basic-userptr.html
- bat-dg1-5: NOTRUN -> [SKIP][47] ([i915#3708] / [i915#4873])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-dg1-5/igt@prime_vgem@basic-userptr.html
* igt@prime_vgem@basic-write:
- bat-adlp-4: NOTRUN -> [SKIP][48] ([fdo#109295] / [i915#3291] / [i915#3708]) +2 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-adlp-4/igt@prime_vgem@basic-write.html
#### Possible fixes ####
* igt@gem_exec_suspend@basic-s0@smem:
- {bat-rplp-1}: [DMESG-WARN][49] ([i915#2867]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/bat-rplp-1/igt@gem_exec_suspend@basic-s0@smem.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/bat-rplp-1/igt@gem_exec_suspend@basic-s0@smem.html
* igt@i915_selftest@live@hangcheck:
- {fi-jsl-1}: [INCOMPLETE][51] -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/fi-jsl-1/igt@i915_selftest@live@hangcheck.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/fi-jsl-1/igt@i915_selftest@live@hangcheck.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[i915#3003]: https://gitlab.freedesktop.org/drm/intel/issues/3003
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4093]: https://gitlab.freedesktop.org/drm/intel/issues/4093
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
[i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
[i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
[i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
[i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
[i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
[i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
[i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
[i915#7498]: https://gitlab.freedesktop.org/drm/intel/issues/7498
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7089 -> IGTPW_8216
CI-20190529: 20190529
CI_DRM_12489: 88ce885700bc3fad08382b83f408ac47abad7f3b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8216: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
IGT_7089: f8a4a0b59ab9f0e408cb0817e440f63e7859917e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@device_reset@cold-reset-bound
+igt@device_reset@unbind-cold-reset-rebind
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
[-- Attachment #2: Type: text/html, Size: 18733 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Cold Reset IGT Test (rev2)
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
` (7 preceding siblings ...)
2022-12-09 13:28 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test (rev2) Patchwork
@ 2022-12-09 21:11 ` Patchwork
8 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2022-12-09 21:11 UTC (permalink / raw)
To: Anshuman Gupta; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 47011 bytes --]
== Series Details ==
Series: Cold Reset IGT Test (rev2)
URL : https://patchwork.freedesktop.org/series/111719/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_12489_full -> IGTPW_8216_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_8216_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8216_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
Participating hosts (13 -> 10)
------------------------------
Missing (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8216_full:
### IGT changes ###
#### Possible regressions ####
* {igt@device_reset@cold-reset-bound} (NEW):
- shard-tglb: NOTRUN -> [SKIP][1] +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@device_reset@cold-reset-bound.html
- shard-iclb: NOTRUN -> [SKIP][2] +1 similar issue
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb7/igt@device_reset@cold-reset-bound.html
* {igt@device_reset@unbind-cold-reset-rebind} (NEW):
- {shard-rkl}: NOTRUN -> [SKIP][3] +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-2/igt@device_reset@unbind-cold-reset-rebind.html
- {shard-tglu}: NOTRUN -> [SKIP][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglu-8/igt@device_reset@unbind-cold-reset-rebind.html
* igt@i915_pm_rpm@fences:
- shard-iclb: [PASS][5] -> [INCOMPLETE][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb1/igt@i915_pm_rpm@fences.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb7/igt@i915_pm_rpm@fences.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@gem_exec_whisper@basic-contexts-forked-all:
- {shard-rkl}: [PASS][7] -> [INCOMPLETE][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-3/igt@gem_exec_whisper@basic-contexts-forked-all.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-3/igt@gem_exec_whisper@basic-contexts-forked-all.html
* {igt@gem_softpin@evict-prime@bcs0}:
- {shard-tglu}: NOTRUN -> [FAIL][9] +5 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglu-4/igt@gem_softpin@evict-prime@bcs0.html
* igt@kms_mmap_write_crc@main:
- {shard-tglu-9}: NOTRUN -> [SKIP][10]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglu-9/igt@kms_mmap_write_crc@main.html
New tests
---------
New tests have been introduced between CI_DRM_12489_full and IGTPW_8216_full:
### New IGT tests (2) ###
* igt@device_reset@cold-reset-bound:
- Statuses : 6 skip(s)
- Exec time: [0.0] s
* igt@device_reset@unbind-cold-reset-rebind:
- Statuses : 7 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in IGTPW_8216_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_exec@basic-nohangcheck:
- shard-tglb: [PASS][11] -> [FAIL][12] ([i915#6268])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-tglb7/igt@gem_ctx_exec@basic-nohangcheck.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@gem_ctx_exec@basic-nohangcheck.html
* igt@gem_ctx_persistence@engines-cleanup:
- shard-snb: NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#1099])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-snb7/igt@gem_ctx_persistence@engines-cleanup.html
* igt@gem_ctx_sseu@engines:
- shard-tglb: NOTRUN -> [SKIP][14] ([i915#280])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb6/igt@gem_ctx_sseu@engines.html
* igt@gem_exec_balancer@parallel:
- shard-iclb: NOTRUN -> [SKIP][15] ([i915#4525])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-iclb: [PASS][16] -> [SKIP][17] ([i915#4525])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb2/igt@gem_exec_balancer@parallel-keep-in-fence.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb5/igt@gem_exec_balancer@parallel-keep-in-fence.html
* igt@gem_exec_endless@dispatch@vecs0:
- shard-iclb: [PASS][18] -> [TIMEOUT][19] ([i915#3778])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb1/igt@gem_exec_endless@dispatch@vecs0.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@gem_exec_endless@dispatch@vecs0.html
* igt@gem_exec_fair@basic-none@bcs0:
- shard-tglb: NOTRUN -> [FAIL][20] ([i915#2842]) +4 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb6/igt@gem_exec_fair@basic-none@bcs0.html
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-iclb: NOTRUN -> [FAIL][21] ([i915#2842])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb1/igt@gem_exec_fair@basic-pace@vcs1.html
* igt@gem_exec_params@rsvd2-dirt:
- shard-tglb: NOTRUN -> [SKIP][22] ([fdo#109283])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@gem_exec_params@rsvd2-dirt.html
* igt@gem_lmem_swapping@massive:
- shard-iclb: NOTRUN -> [SKIP][23] ([i915#4613]) +1 similar issue
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb5/igt@gem_lmem_swapping@massive.html
- shard-apl: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#4613]) +1 similar issue
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl7/igt@gem_lmem_swapping@massive.html
* igt@gem_lmem_swapping@verify:
- shard-tglb: NOTRUN -> [SKIP][25] ([i915#4613]) +2 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@gem_lmem_swapping@verify.html
* igt@gem_lmem_swapping@verify-random:
- shard-glk: NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#4613])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk8/igt@gem_lmem_swapping@verify-random.html
* igt@gem_pxp@create-regular-context-1:
- shard-iclb: NOTRUN -> [SKIP][27] ([i915#4270]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb5/igt@gem_pxp@create-regular-context-1.html
* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-tglb: NOTRUN -> [SKIP][28] ([i915#4270]) +1 similar issue
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@gem_pxp@regular-baseline-src-copy-readible.html
* igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-iclb: NOTRUN -> [SKIP][29] ([i915#768])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-yf-tiled.html
* igt@gem_userptr_blits@vma-merge:
- shard-glk: NOTRUN -> [FAIL][30] ([i915#3318])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk3/igt@gem_userptr_blits@vma-merge.html
* igt@gem_vm_create@invalid-create:
- shard-snb: NOTRUN -> [SKIP][31] ([fdo#109271]) +104 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-snb4/igt@gem_vm_create@invalid-create.html
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [PASS][32] -> [FAIL][33] ([i915#3989] / [i915#454])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb8/igt@i915_pm_dc@dc6-dpms.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [PASS][34] -> [SKIP][35] ([fdo#109271])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl8/igt@i915_pm_dc@dc9-dpms.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl1/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_selftest@live@gt_heartbeat:
- shard-apl: [PASS][36] -> [DMESG-FAIL][37] ([i915#5334])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl8/igt@i915_selftest@live@gt_heartbeat.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl2/igt@i915_selftest@live@gt_heartbeat.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-tglb: NOTRUN -> [SKIP][38] ([i915#5286]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb6/igt@kms_big_fb@4-tiled-addfb.html
- shard-iclb: NOTRUN -> [SKIP][39] ([i915#5286])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb8/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@linear-8bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][40] ([fdo#110725] / [fdo#111614])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_big_fb@linear-8bpp-rotate-90.html
- shard-tglb: NOTRUN -> [SKIP][41] ([fdo#111614])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@kms_big_fb@linear-8bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
- shard-iclb: NOTRUN -> [SKIP][42] ([fdo#110723]) +2 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@kms_big_fb@yf-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-tglb: NOTRUN -> [SKIP][43] ([fdo#111615]) +3 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb3/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_ccs@pipe-a-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc:
- shard-tglb: NOTRUN -> [SKIP][44] ([i915#6095])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][45] ([fdo#109278] / [i915#3886]) +5 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb7/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#3886]) +4 similar issues
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl7/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html
- shard-tglb: NOTRUN -> [SKIP][47] ([i915#3689] / [i915#3886]) +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-ccs-on-another-bo-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][48] ([fdo#111615] / [i915#3689]) +2 similar issues
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb7/igt@kms_ccs@pipe-c-ccs-on-another-bo-yf_tiled_ccs.html
* igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc:
- shard-iclb: NOTRUN -> [SKIP][49] ([fdo#109278]) +4 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc.html
- shard-tglb: NOTRUN -> [SKIP][50] ([i915#3689] / [i915#6095])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb6/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#3886]) +5 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk5/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][52] ([i915#3689]) +2 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb3/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_chamelium@hdmi-crc-multiple:
- shard-glk: NOTRUN -> [SKIP][53] ([fdo#109271] / [fdo#111827]) +2 similar issues
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk3/igt@kms_chamelium@hdmi-crc-multiple.html
* igt@kms_chamelium@vga-frame-dump:
- shard-tglb: NOTRUN -> [SKIP][54] ([fdo#109284] / [fdo#111827]) +3 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@kms_chamelium@vga-frame-dump.html
* igt@kms_chamelium@vga-hpd:
- shard-apl: NOTRUN -> [SKIP][55] ([fdo#109271] / [fdo#111827]) +4 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl6/igt@kms_chamelium@vga-hpd.html
* igt@kms_color@ctm-0-25@pipe-b-edp-1:
- shard-iclb: NOTRUN -> [FAIL][56] ([i915#315] / [i915#6946]) +2 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@kms_color@ctm-0-25@pipe-b-edp-1.html
* igt@kms_color@ctm-0-25@pipe-c-edp-1:
- shard-tglb: NOTRUN -> [FAIL][57] ([i915#315] / [i915#6946]) +3 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@kms_color@ctm-0-25@pipe-c-edp-1.html
* igt@kms_color_chamelium@ctm-negative:
- shard-iclb: NOTRUN -> [SKIP][58] ([fdo#109284] / [fdo#111827]) +2 similar issues
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb5/igt@kms_color_chamelium@ctm-negative.html
- shard-snb: NOTRUN -> [SKIP][59] ([fdo#109271] / [fdo#111827]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-snb5/igt@kms_color_chamelium@ctm-negative.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-1:
- shard-apl: NOTRUN -> [TIMEOUT][60] ([i915#7173])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl1/igt@kms_content_protection@atomic-dpms@pipe-a-dp-1.html
* igt@kms_content_protection@type1:
- shard-tglb: NOTRUN -> [SKIP][61] ([i915#7118])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb3/igt@kms_content_protection@type1.html
- shard-iclb: NOTRUN -> [SKIP][62] ([i915#7118])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- shard-iclb: NOTRUN -> [SKIP][63] ([fdo#109279] / [i915#3359])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_cursor_crc@cursor-offscreen-512x170.html
- shard-tglb: NOTRUN -> [SKIP][64] ([fdo#109279] / [i915#3359])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@kms_cursor_crc@cursor-offscreen-512x170.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-tglb: NOTRUN -> [SKIP][65] ([i915#3359])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@kms_cursor_crc@cursor-sliding-512x512.html
- shard-iclb: NOTRUN -> [SKIP][66] ([i915#3359])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb8/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_crc@cursor-sliding-max-size:
- shard-iclb: NOTRUN -> [SKIP][67] ([i915#3555]) +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@kms_cursor_crc@cursor-sliding-max-size.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk: NOTRUN -> [FAIL][68] ([i915#4767])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk6/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109274]) +1 similar issue
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-tglb: NOTRUN -> [SKIP][70] ([fdo#109274] / [fdo#111825] / [i915#3637]) +2 similar issues
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb3/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-suspend@b-dp1:
- shard-apl: [PASS][71] -> [DMESG-WARN][72] ([i915#180])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl7/igt@kms_flip@flip-vs-suspend@b-dp1.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl3/igt@kms_flip@flip-vs-suspend@b-dp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][73] ([i915#2672]) +5 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-tglb: NOTRUN -> [SKIP][74] ([i915#2587] / [i915#2672])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][75] ([i915#2587] / [i915#2672]) +6 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][76] ([i915#2672] / [i915#3555])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
- shard-tglb: NOTRUN -> [SKIP][77] ([i915#6497]) +5 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-iclb: NOTRUN -> [SKIP][78] ([fdo#109280]) +11 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render:
- shard-apl: NOTRUN -> [SKIP][79] ([fdo#109271]) +70 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
- shard-tglb: NOTRUN -> [SKIP][80] ([fdo#109280] / [fdo#111825]) +13 similar issues
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_hdr@static-toggle-suspend:
- shard-tglb: NOTRUN -> [SKIP][81] ([i915#3555]) +1 similar issue
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][82] ([i915#4573]) +2 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk4/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html
* igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-a-edp-1:
- shard-iclb: NOTRUN -> [SKIP][83] ([i915#5176]) +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb1/igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-a-edp-1.html
* igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-b-edp-1:
- shard-tglb: NOTRUN -> [SKIP][84] ([i915#5176]) +3 similar issues
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb7/igt@kms_plane_scaling@plane-scaler-with-rotation-unity-scaling@pipe-b-edp-1.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1:
- shard-iclb: [PASS][85] -> [SKIP][86] ([i915#5235]) +2 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb3/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-1.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
- shard-apl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#658]) +1 similar issue
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl6/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
- shard-glk: NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#658]) +1 similar issue
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk8/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr@psr2_cursor_mmap_gtt:
- shard-tglb: NOTRUN -> [FAIL][89] ([i915#132] / [i915#3467])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb7/igt@kms_psr@psr2_cursor_mmap_gtt.html
- shard-iclb: NOTRUN -> [SKIP][90] ([fdo#109441])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb7/igt@kms_psr@psr2_cursor_mmap_gtt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-iclb: [PASS][91] -> [SKIP][92] ([i915#5519])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-glk: NOTRUN -> [SKIP][93] ([fdo#109271]) +56 similar issues
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk9/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_writeback@writeback-check-output:
- shard-iclb: NOTRUN -> [SKIP][94] ([i915#2437])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@kms_writeback@writeback-check-output.html
- shard-apl: NOTRUN -> [SKIP][95] ([fdo#109271] / [i915#2437])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl7/igt@kms_writeback@writeback-check-output.html
- shard-tglb: NOTRUN -> [SKIP][96] ([i915#2437])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@kms_writeback@writeback-check-output.html
* igt@sysfs_clients@recycle-many:
- shard-iclb: NOTRUN -> [SKIP][97] ([i915#2994])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb7/igt@sysfs_clients@recycle-many.html
- shard-apl: NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#2994])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl8/igt@sysfs_clients@recycle-many.html
- shard-tglb: NOTRUN -> [SKIP][99] ([i915#2994])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb7/igt@sysfs_clients@recycle-many.html
#### Possible fixes ####
* igt@gem_ctx_shared@q-promotion@vcs0:
- {shard-rkl}: [FAIL][100] ([i915#7672]) -> [PASS][101] +3 similar issues
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-6/igt@gem_ctx_shared@q-promotion@vcs0.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-5/igt@gem_ctx_shared@q-promotion@vcs0.html
* igt@gem_exec_balancer@fairslice:
- {shard-rkl}: [SKIP][102] ([i915#6259]) -> [PASS][103]
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-5/igt@gem_exec_balancer@fairslice.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-4/igt@gem_exec_balancer@fairslice.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-iclb: [SKIP][104] ([i915#4525]) -> [PASS][105]
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb8/igt@gem_exec_balancer@parallel-contexts.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglb: [FAIL][106] ([i915#2842]) -> [PASS][107] +1 similar issue
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-glk: [FAIL][108] ([i915#2842]) -> [PASS][109]
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk6/igt@gem_exec_fair@basic-none-share@rcs0.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk2/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-apl: [FAIL][110] ([i915#2842]) -> [PASS][111]
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- {shard-rkl}: [SKIP][112] ([i915#3281]) -> [PASS][113] +4 similar issues
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-5/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][114] ([i915#2190]) -> [PASS][115]
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-tglb7/igt@gem_huc_copy@huc-copy.html
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-tglb5/igt@gem_huc_copy@huc-copy.html
* igt@gem_set_tiling_vs_pwrite:
- {shard-rkl}: [SKIP][116] ([i915#3282]) -> [PASS][117] +6 similar issues
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-1/igt@gem_set_tiling_vs_pwrite.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-5/igt@gem_set_tiling_vs_pwrite.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [DMESG-WARN][118] ([i915#5566] / [i915#716]) -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl7/igt@gen9_exec_parse@allowed-single.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl1/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@bb-start-cmd:
- {shard-rkl}: [SKIP][120] ([i915#2527]) -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-3/igt@gen9_exec_parse@bb-start-cmd.html
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-5/igt@gen9_exec_parse@bb-start-cmd.html
* igt@i915_pipe_stress@stress-xrgb8888-ytiled:
- {shard-rkl}: [SKIP][122] ([i915#4098]) -> [PASS][123]
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-2/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [FAIL][124] ([i915#3989] / [i915#454]) -> [PASS][125]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb3/igt@i915_pm_dc@dc6-psr.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_dc@dc9-dpms:
- shard-iclb: [SKIP][126] ([i915#4281]) -> [PASS][127]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb3/igt@i915_pm_dc@dc9-dpms.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb6/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_rc6_residency@rc6-idle@bcs0:
- {shard-rkl}: [FAIL][128] ([i915#3591]) -> [PASS][129]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-5/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-4/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
* igt@i915_pm_rc6_residency@rc6-idle@vcs0:
- {shard-rkl}: [FAIL][130] ([i915#2681] / [i915#3591]) -> [PASS][131]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-5/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-4/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
* igt@kms_big_fb@linear-32bpp-rotate-180:
- {shard-rkl}: [SKIP][132] ([i915#1845] / [i915#4098]) -> [PASS][133] +5 similar issues
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-2/igt@kms_big_fb@linear-32bpp-rotate-180.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@kms_big_fb@linear-32bpp-rotate-180.html
* igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size:
- shard-glk: [FAIL][134] ([i915#2346]) -> [PASS][135] +1 similar issue
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-glk: [FAIL][136] ([i915#79]) -> [PASS][137] +1 similar issue
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk5/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip@plain-flip-ts-check@b-hdmi-a2:
- shard-glk: [FAIL][138] ([i915#2122]) -> [PASS][139]
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk4/igt@kms_flip@plain-flip-ts-check@b-hdmi-a2.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk9/igt@kms_flip@plain-flip-ts-check@b-hdmi-a2.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
- {shard-rkl}: [SKIP][140] ([i915#1849] / [i915#4098]) -> [PASS][141] +4 similar issues
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw:
- shard-glk: [DMESG-FAIL][142] ([i915#118]) -> [PASS][143]
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk2/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk5/igt@kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw.html
* igt@kms_plane@plane-position-hole@pipe-b-planes:
- {shard-rkl}: [SKIP][144] ([i915#1849] / [i915#3558]) -> [PASS][145] +1 similar issue
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-5/igt@kms_plane@plane-position-hole@pipe-b-planes.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@kms_plane@plane-position-hole@pipe-b-planes.html
* igt@kms_psr@primary_blt:
- {shard-rkl}: [SKIP][146] ([i915#1072]) -> [PASS][147]
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-2/igt@kms_psr@primary_blt.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@kms_psr@primary_blt.html
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: [SKIP][148] ([fdo#109441]) -> [PASS][149] +1 similar issue
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb3/igt@kms_psr@psr2_primary_mmap_gtt.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-iclb: [SKIP][150] ([i915#5519]) -> [PASS][151]
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@perf@polling-small-buf:
- {shard-rkl}: [FAIL][152] ([i915#1722]) -> [PASS][153]
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-1/igt@perf@polling-small-buf.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-6/igt@perf@polling-small-buf.html
* igt@prime_vgem@basic-write:
- {shard-rkl}: [SKIP][154] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][155]
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-rkl-3/igt@prime_vgem@basic-write.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-rkl-5/igt@prime_vgem@basic-write.html
* igt@sysfs_heartbeat_interval@mixed@vcs0:
- shard-glk: [FAIL][156] ([i915#1731]) -> [PASS][157]
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-glk6/igt@sysfs_heartbeat_interval@mixed@vcs0.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-glk8/igt@sysfs_heartbeat_interval@mixed@vcs0.html
#### Warnings ####
* igt@device_reset@unbind-reset-rebind:
- shard-snb: [DMESG-WARN][158] ([i915#4528]) -> [SKIP][159] ([fdo#109271])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-snb4/igt@device_reset@unbind-reset-rebind.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-snb7/igt@device_reset@unbind-reset-rebind.html
* igt@kms_psr2_sf@cursor-plane-update-sf:
- shard-iclb: [SKIP][160] ([i915#2920]) -> [SKIP][161] ([fdo#111068] / [i915#658])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-iclb2/igt@kms_psr2_sf@cursor-plane-update-sf.html
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-iclb3/igt@kms_psr2_sf@cursor-plane-update-sf.html
* igt@runner@aborted:
- shard-apl: ([FAIL][162], [FAIL][163], [FAIL][164]) ([fdo#109271] / [i915#3002] / [i915#4312]) -> ([FAIL][165], [FAIL][166], [FAIL][167]) ([i915#180] / [i915#3002] / [i915#4312])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl7/igt@runner@aborted.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl7/igt@runner@aborted.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12489/shard-apl8/igt@runner@aborted.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl6/igt@runner@aborted.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl3/igt@runner@aborted.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/shard-apl3/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
[fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
[i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3467]: https://gitlab.freedesktop.org/drm/intel/issues/3467
[i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
[i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3639]: https://gitlab.freedesktop.org/drm/intel/issues/3639
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
[i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6259]: https://gitlab.freedesktop.org/drm/intel/issues/6259
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
[i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
[i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
[i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
[i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037
[i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
[i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
[i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
[i915#7672]: https://gitlab.freedesktop.org/drm/intel/issues/7672
[i915#7673]: https://gitlab.freedesktop.org/drm/intel/issues/7673
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7089 -> IGTPW_8216
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12489: 88ce885700bc3fad08382b83f408ac47abad7f3b @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8216: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
IGT_7089: f8a4a0b59ab9f0e408cb0817e440f63e7859917e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8216/index.html
[-- Attachment #2: Type: text/html, Size: 51802 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2022-12-09 21:11 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-07 10:25 [igt-dev] [PATCH i-g-t v4 0/5] Cold Reset IGT Test Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 1/5] lib/igt_pci: helpers to get PCI capabilities offset Anshuman Gupta
2022-12-07 13:09 ` Nilawar, Badal
2022-12-08 8:00 ` Bernatowicz, Marcin
2022-12-09 12:40 ` Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 2/5] lib/igt_pci: Add PCIe slot cap Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 3/5] lib/igt_pm: Refactor get firmware_node fd Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 4/5] test/device_reset: Refactor initiate_device_reset Anshuman Gupta
2022-12-07 10:25 ` [igt-dev] [PATCH i-g-t v4 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
2022-12-07 13:15 ` Nilawar, Badal
2022-12-07 10:59 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test Patchwork
2022-12-07 12:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2022-12-09 13:28 ` [igt-dev] ✓ Fi.CI.BAT: success for Cold Reset IGT Test (rev2) Patchwork
2022-12-09 21:11 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2022-11-23 8:54 [igt-dev] [PATCH i-g-t v3 5/5] tests/device_reset: Add cold reset IGT test Anshuman Gupta
2022-11-28 10:20 ` [igt-dev] [PATCH i-g-t v4 " Anshuman Gupta
2022-11-30 13:09 ` Kamil Konieczny
2022-11-30 13:25 ` Nilawar, Badal
2022-12-07 8:38 ` Gupta, Anshuman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox