* [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM
@ 2025-09-03 22:30 Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
` (8 more replies)
0 siblings, 9 replies; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe
Cc: Vivek Kasireddy, Lucas De Marchi, Thomas Hellström,
Rodrigo Vivi, Michal Wajdeczko, Matthew Brost, Matthew Auld,
Dongwon Kim
While running 3D apps inside a Guest VM with a SRIOV enabled dGPU,
it was noticed that migrating a BO to System RAM before exporting
it as a dmabuf results in considerable performance degradation.
For example, running a simple 3D app such as weston-simple-egl
would yield ~50 FPS instead of ~59 FPS, assuming a mode of
1920x1080@60.
So, fix this issue by not migrating the BO and keep it in LMEM
during export. However, since the GPU running in PF mode on the
Host cannot effectively access the PCI BAR addresses backing the
imported dmabuf BO, they need to be translated into LMEM addresses
(DPAs) to enable this use-case to work properly.
With this patch series applied, it would become possible to display
(via Qemu GTK UI) Guest VM compositor's framebuffer (created in its
LMEM) on the Host without having to make any copies of it or a
costly roundtrip to System RAM. And, weston-simple-egl can now
achieve ~59 FPS while running with Gnome Wayland in the Guest VM.
Changelog:
v2 -> v3:
- Rebased (and tested) on kernel 6.17.0-rc4 with B60
- Updated the commit message in the P2PDMA patch and other patches
v1 -> v2:
- Use a dma_addr array instead of SG table to store translated DMA
addresses (Matt)
- Use a cursor to iterate over the entries in the dma_addr array
instead of relying on SG iterator (Matt)
- Rebased and tested this series on top of the one that introduces
drm_pagemap_dma_addr and xe_res_first_dma/__xe_res_dma_next
that this version relies on
Patchset overview:
Patch 1: PCI driver patch to unblock P2P DMA between VF and PF
Patch 2: Prevent BO migration to System RAM while running in VM
Patch 3: Helper function to get VF's backing object in LMEM
Patch 4-5: Create and use a new dma_addr array for LMEM based
dmabuf BOs to store translated addresses (DPAs)
Associated Qemu patch series:
https://lore.kernel.org/qemu-devel/20250903054438.1179384-1-vivek.kasireddy@intel.com/
Associated vfio-pci patch series:
https://lore.kernel.org/linux-mm/cover.1754311439.git.leon@kernel.org/
This series is tested using the following method:
- Run Qemu with the following relevant options:
qemu-system-x86_64 -m 4096m ....
-device vfio-pci,host=0000:03:00.1
-device virtio-vga,max_outputs=1,blob=true,xres=1920,yres=1080
-display gtk,gl=on
-object memory-backend-memfd,id=mem1,size=4096M
-machine memory-backend=mem1 ...
- Run Gnome Wayland with the following options in the Guest VM:
# cat /usr/lib/udev/rules.d/61-mutter-primary-gpu.rules
ENV{DEVNAME}=="/dev/dri/card1", TAG+="mutter-device-preferred-primary", TAG+="mutter-device-disable-kms-modifiers"
# XDG_SESSION_TYPE=wayland dbus-run-session -- /usr/bin/gnome-shell --wayland --no-x11 &
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Vivek Kasireddy (5):
PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode
drm/xe/pf: Add a helper function to get a VF's backing object in LMEM
drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with
VFs
drm/xe/pt: Add an additional check for dmabuf BOs while doing bind
drivers/gpu/drm/xe/xe_bo.c | 98 +++++++++++++++++++++-
drivers/gpu/drm/xe/xe_bo_types.h | 12 +++
drivers/gpu/drm/xe/xe_dma_buf.c | 9 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 23 +++++
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 1 +
drivers/gpu/drm/xe/xe_pt.c | 7 ++
drivers/pci/p2pdma.c | 18 +++-
7 files changed, 163 insertions(+), 5 deletions(-)
--
2.50.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
@ 2025-09-03 22:30 ` Vivek Kasireddy
2025-09-04 15:15 ` Logan Gunthorpe
2025-09-03 22:30 ` [PATCH v3 2/5] drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode Vivek Kasireddy
` (7 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe
Cc: Vivek Kasireddy, Bjorn Helgaas, Logan Gunthorpe, linux-pci
Typically, functions of the same PCI device (such as a PF and a VF)
share the same bus and have a common root port and the PF provisions
resources for the VF. Given this model, they can be considered
compatible as far as P2PDMA access is considered.
Currently, although the distance (2) is correctly calculated for
functions of the same device, an ACS check failure prevents P2P DMA
access between them. Therefore, introduce a small function named
pci_devfns_support_p2pdma() to determine if the provider and client
belong to the same device and facilitate P2PDMA between them by
not enforcing the ACS check.
However, since it is hard to determine if the device functions of
any given PCI device are P2PDMA compatible, we only relax the ACS
check enforcement for device functions of Intel GPUs, specifically
the case where the provider is an Intel GPU VF and the client is
an Intel GPU PF. This is because the P2PDMA communication between
the PF and VF of Intel GPUs is handled internally and does not
typically involve the PCIe fabric.
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: <linux-pci@vger.kernel.org>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
v1 -> v2:
- Relax the enforcment of ACS check only for Intel GPU functions
as they are P2PDMA compatible given the way the PF provisions
the resources among multiple VFs.
v2 -> v3:
- s/pci_devs_are_p2pdma_compatible/pci_devfns_support_p2pdma
- Improve the commit message to explain the reasoning behind
relaxing the ACS check enforcement only for Intel GPU functions.
---
drivers/pci/p2pdma.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
index da5657a02007..9484991c4765 100644
--- a/drivers/pci/p2pdma.c
+++ b/drivers/pci/p2pdma.c
@@ -544,6 +544,18 @@ static unsigned long map_types_idx(struct pci_dev *client)
return (pci_domain_nr(client->bus) << 16) | pci_dev_id(client);
}
+static bool pci_devfns_support_p2pdma(struct pci_dev *provider,
+ struct pci_dev *client)
+{
+ if (provider->vendor == PCI_VENDOR_ID_INTEL) {
+ if ((pci_is_vga(provider) && pci_is_vga(client)) ||
+ (pci_is_display(provider) && pci_is_display(client)))
+ return pci_physfn(provider) == pci_physfn(client);
+ }
+
+ return false;
+}
+
/*
* Calculate the P2PDMA mapping type and distance between two PCI devices.
*
@@ -643,7 +655,7 @@ calc_map_type_and_dist(struct pci_dev *provider, struct pci_dev *client,
*dist = dist_a + dist_b;
- if (!acs_cnt) {
+ if (!acs_cnt || pci_devfns_support_p2pdma(provider, client)) {
map_type = PCI_P2PDMA_MAP_BUS_ADDR;
goto done;
}
@@ -705,7 +717,9 @@ int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients,
return -1;
for (i = 0; i < num_clients; i++) {
- pci_client = find_parent_pci_dev(clients[i]);
+ pci_client = dev_is_pf(clients[i]) ?
+ pci_dev_get(to_pci_dev(clients[i])) :
+ find_parent_pci_dev(clients[i]);
if (!pci_client) {
if (verbose)
dev_warn(clients[i],
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v3 2/5] drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
@ 2025-09-03 22:30 ` Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM Vivek Kasireddy
` (6 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe; +Cc: Vivek Kasireddy
If the importer has allow_peer2peer set to true, then we can expect that
it would be able to handle VRAM addresses. Therefore, in this specific
case and only while running in VF mode, do not migrate the BO to System
RAM before exporting it.
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
drivers/gpu/drm/xe/xe_dma_buf.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_dma_buf.c b/drivers/gpu/drm/xe/xe_dma_buf.c
index 346f857f3837..2111faed5f46 100644
--- a/drivers/gpu/drm/xe/xe_dma_buf.c
+++ b/drivers/gpu/drm/xe/xe_dma_buf.c
@@ -17,6 +17,7 @@
#include "xe_bo.h"
#include "xe_device.h"
#include "xe_pm.h"
+#include "xe_sriov.h"
#include "xe_ttm_vram_mgr.h"
#include "xe_vm.h"
@@ -26,8 +27,11 @@ static int xe_dma_buf_attach(struct dma_buf *dmabuf,
struct dma_buf_attachment *attach)
{
struct drm_gem_object *obj = attach->dmabuf->priv;
+ struct xe_bo *bo = gem_to_xe_bo(obj);
+ struct xe_device *xe = xe_bo_device(bo);
if (attach->peer2peer &&
+ !IS_SRIOV_VF(xe) &&
pci_p2pdma_distance(to_pci_dev(obj->dev->dev), attach->dev, false) < 0)
attach->peer2peer = false;
@@ -51,7 +55,7 @@ static int xe_dma_buf_pin(struct dma_buf_attachment *attach)
struct drm_gem_object *obj = attach->dmabuf->priv;
struct xe_bo *bo = gem_to_xe_bo(obj);
struct xe_device *xe = xe_bo_device(bo);
- int ret;
+ int ret = 0;
/*
* For now only support pinning in TT memory, for two reasons:
@@ -63,7 +67,8 @@ static int xe_dma_buf_pin(struct dma_buf_attachment *attach)
return -EINVAL;
}
- ret = xe_bo_migrate(bo, XE_PL_TT);
+ if (!IS_SRIOV_VF(xe) || !attach->peer2peer)
+ ret = xe_bo_migrate(bo, XE_PL_TT);
if (ret) {
if (ret != -EINTR && ret != -ERESTARTSYS)
drm_dbg(&xe->drm,
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 2/5] drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode Vivek Kasireddy
@ 2025-09-03 22:30 ` Vivek Kasireddy
2025-09-03 22:52 ` Michal Wajdeczko
2025-09-03 22:30 ` [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs Vivek Kasireddy
` (5 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe; +Cc: Vivek Kasireddy
To properly import a dmabuf that is associated with a VF (or that
originates in a Guest VM that includes a VF), we need to know where
in LMEM the VF's allocated regions exist. Therefore, introduce a
new helper to return the object that backs the VF's regions in LMEM.
v2:
- Make the helper return the LMEM object instead of the start address.
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 23 ++++++++++++++++++++++
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 1 +
2 files changed, 24 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
index c8f0320d032f..e01f5b340999 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
@@ -1542,6 +1542,29 @@ u64 xe_gt_sriov_pf_config_get_lmem(struct xe_gt *gt, unsigned int vfid)
return size;
}
+/**
+ * xe_gt_sriov_pf_config_get_lmem_obj - Get VF's LMEM BO.
+ * @gt: the &xe_gt
+ * @vfid: the VF identifier
+ *
+ * This function can only be called on PF.
+ *
+ * Return: BO that is backing VF's quota in LMEM.
+ */
+struct xe_bo *xe_gt_sriov_pf_config_get_lmem_obj(struct xe_gt *gt,
+ unsigned int vfid)
+{
+ struct xe_gt_sriov_config *config;
+ struct xe_bo *lmem_obj;
+
+ mutex_lock(xe_gt_sriov_pf_master_mutex(gt));
+ config = pf_pick_vf_config(gt, vfid);
+ lmem_obj = config->lmem_obj;
+ mutex_unlock(xe_gt_sriov_pf_master_mutex(gt));
+
+ return lmem_obj;
+}
+
/**
* xe_gt_sriov_pf_config_set_lmem - Provision VF with LMEM.
* @gt: the &xe_gt (can't be media)
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
index 513e6512a575..bef459003de1 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
@@ -31,6 +31,7 @@ int xe_gt_sriov_pf_config_set_fair_dbs(struct xe_gt *gt, unsigned int vfid, unsi
int xe_gt_sriov_pf_config_bulk_set_dbs(struct xe_gt *gt, unsigned int vfid, unsigned int num_vfs,
u32 num_dbs);
+struct xe_bo *xe_gt_sriov_pf_config_get_lmem_obj(struct xe_gt *gt, unsigned int vfid);
u64 xe_gt_sriov_pf_config_get_lmem(struct xe_gt *gt, unsigned int vfid);
int xe_gt_sriov_pf_config_set_lmem(struct xe_gt *gt, unsigned int vfid, u64 size);
int xe_gt_sriov_pf_config_set_fair_lmem(struct xe_gt *gt, unsigned int vfid, unsigned int num_vfs);
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (2 preceding siblings ...)
2025-09-03 22:30 ` [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM Vivek Kasireddy
@ 2025-09-03 22:30 ` Vivek Kasireddy
2025-09-16 20:25 ` Thomas Hellström
2025-09-03 22:30 ` [PATCH v3 5/5] drm/xe/pt: Add an additional check for dmabuf BOs while doing bind Vivek Kasireddy
` (4 subsequent siblings)
8 siblings, 1 reply; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe; +Cc: Vivek Kasireddy, Matthew Brost, Thomas Hellström
For BOs of type ttm_bo_type_sg, that are backed by PCI BAR addresses
associated with a VF, we need to adjust and translate these addresses
to LMEM addresses to make the BOs usable by the PF. Otherwise, the
BOs (i.e, PCI BAR addresses) are only accessible by the CPU and not
by the GPU.
In order to do the above, we first need to identify if the addresses
associated with an imported BO (type ttm_bo_type_sg) belong to System
RAM or a VF or other PCI devices. After we confirm that they belong to
a VF, we convert the BAR addresses to DPAs and create a new dma_addr
array (of type drm_pagemap_dma_addr) and populate it with the new
addresses along with the segment sizes.
v2:
- Use dma_addr array instead of sg table to store translated addresses
(Matt)
v3:
- Remove the usage of iommu_iova_to_phys() as the imported BO would no
longer contain IOVAs and would instead have BAR addresses.
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
drivers/gpu/drm/xe/xe_bo.c | 98 +++++++++++++++++++++++++++++++-
drivers/gpu/drm/xe/xe_bo_types.h | 12 ++++
2 files changed, 109 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 4faf15d5fa6d..6987bffb7aa7 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -21,11 +21,13 @@
#include <trace/events/gpu_mem.h>
+#include "regs/xe_bars.h"
#include "xe_device.h"
#include "xe_dma_buf.h"
#include "xe_drm_client.h"
#include "xe_ggtt.h"
#include "xe_gt.h"
+#include "xe_gt_sriov_pf_config.h"
#include "xe_map.h"
#include "xe_migrate.h"
#include "xe_pm.h"
@@ -33,6 +35,7 @@
#include "xe_pxp.h"
#include "xe_res_cursor.h"
#include "xe_shrinker.h"
+#include "xe_sriov_pf_helpers.h"
#include "xe_sriov_vf_ccs.h"
#include "xe_trace_bo.h"
#include "xe_ttm_stolen_mgr.h"
@@ -677,6 +680,88 @@ static int xe_bo_trigger_rebind(struct xe_device *xe, struct xe_bo *bo,
return ret;
}
+static struct pci_dev *xe_find_vf_dev(struct xe_device *xe,
+ phys_addr_t phys)
+{
+ struct pci_dev *pdev, *pf_pdev = to_pci_dev(xe->drm.dev);
+ resource_size_t io_start, io_size;
+
+ list_for_each_entry(pdev, &pf_pdev->bus->devices, bus_list) {
+ if (pdev->is_physfn)
+ continue;
+
+ io_start = pci_resource_start(pdev, LMEM_BAR);
+ io_size = pci_resource_len(pdev, LMEM_BAR);
+
+ if (phys >= io_start &&
+ phys < (io_start + io_size - PAGE_SIZE))
+ return pdev;
+ }
+
+ return NULL;
+}
+
+
+static void xe_bo_translate_io_to_dpa(struct xe_bo *bo, struct sg_table *sg,
+ resource_size_t io_start, int vfid)
+{
+ struct xe_device *xe = xe_bo_device(bo);
+ struct xe_gt *gt = xe_root_mmio_gt(xe);
+ struct scatterlist *sgl;
+ struct xe_bo *lmem_bo;
+ phys_addr_t phys;
+ dma_addr_t addr;
+ u64 offset, i;
+
+ lmem_bo = xe_gt_sriov_pf_config_get_lmem_obj(gt, ++vfid);
+
+ for_each_sgtable_dma_sg(sg, sgl, i) {
+ phys = sg_dma_address(sgl);
+ offset = phys - io_start;
+ addr = xe_bo_addr(lmem_bo, offset, sg_dma_len(sgl));
+
+ bo->dma_addr[i] = drm_pagemap_addr_encode(addr,
+ DRM_INTERCONNECT_DRIVER,
+ get_order(sg_dma_len(sgl)),
+ DMA_BIDIRECTIONAL);
+ }
+}
+
+static int xe_bo_sg_to_dma_addr_array(struct sg_table *sg, struct xe_bo *bo)
+{
+ struct xe_device *xe = xe_bo_device(bo);
+ resource_size_t io_start;
+ struct pci_dev *pdev;
+ phys_addr_t phys;
+ int vfid;
+
+ if (!IS_SRIOV_PF(xe))
+ return 0;
+
+ phys = sg_dma_address(sg->sgl);
+ if (page_is_ram(PFN_DOWN(phys)))
+ return 0;
+
+ pdev = xe_find_vf_dev(xe, phys);
+ if (!pdev)
+ return 0;
+
+ vfid = pci_iov_vf_id(pdev);
+ if (vfid < 0)
+ return 0;
+
+ bo->dma_addr = kmalloc_array(sg->nents, sizeof(*bo->dma_addr),
+ GFP_KERNEL);
+ if (!bo->dma_addr)
+ return -ENOMEM;
+
+ bo->is_devmem_external = true;
+ io_start = pci_resource_start(pdev, LMEM_BAR);
+ xe_bo_translate_io_to_dpa(bo, sg, io_start, vfid);
+
+ return 0;
+}
+
/*
* The dma-buf map_attachment() / unmap_attachment() is hooked up here.
* Note that unmapping the attachment is deferred to the next
@@ -695,6 +780,7 @@ static int xe_bo_move_dmabuf(struct ttm_buffer_object *ttm_bo,
struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev);
bool device_unplugged = drm_dev_is_unplugged(&xe->drm);
struct sg_table *sg;
+ int ret = 0;
xe_assert(xe, attach);
xe_assert(xe, ttm_bo->ttm);
@@ -719,13 +805,19 @@ static int xe_bo_move_dmabuf(struct ttm_buffer_object *ttm_bo,
if (IS_ERR(sg))
return PTR_ERR(sg);
+ ret = xe_bo_sg_to_dma_addr_array(sg, ttm_to_xe_bo(ttm_bo));
+ if (ret < 0) {
+ dma_buf_unmap_attachment(attach, sg, DMA_BIDIRECTIONAL);
+ return ret;
+ }
+
ttm_bo->sg = sg;
xe_tt->sg = sg;
out:
ttm_bo_move_null(ttm_bo, new_res);
- return 0;
+ return ret;
}
/**
@@ -1540,6 +1632,10 @@ static void xe_ttm_bo_delete_mem_notify(struct ttm_buffer_object *ttm_bo)
dma_buf_unmap_attachment(ttm_bo->base.import_attach, ttm_bo->sg,
DMA_BIDIRECTIONAL);
+
+ if (bo->is_devmem_external) {
+ kfree(bo->dma_addr);
+ }
ttm_bo->sg = NULL;
xe_tt->sg = NULL;
}
diff --git a/drivers/gpu/drm/xe/xe_bo_types.h b/drivers/gpu/drm/xe/xe_bo_types.h
index 314652afdca7..371eee3f975f 100644
--- a/drivers/gpu/drm/xe/xe_bo_types.h
+++ b/drivers/gpu/drm/xe/xe_bo_types.h
@@ -88,6 +88,18 @@ struct xe_bo {
/** @bb_ccs_rw: BB instructions of CCS read/write. Valid only for VF */
struct xe_bb *bb_ccs[XE_SRIOV_VF_CCS_CTX_COUNT];
+ /**
+ * @is_devmem_external: Whether this BO is an imported dma-buf that
+ * is LMEM based.
+ */
+ bool is_devmem_external;
+
+ /**
+ * @dma_addr: An array to store DMA addresses (DPAs) for imported
+ * dmabuf BOs that are LMEM based.
+ */
+ struct drm_pagemap_addr *dma_addr;
+
/**
* @cpu_caching: CPU caching mode. Currently only used for userspace
* objects. Exceptions are system memory on DGFX, which is always
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v3 5/5] drm/xe/pt: Add an additional check for dmabuf BOs while doing bind
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (3 preceding siblings ...)
2025-09-03 22:30 ` [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs Vivek Kasireddy
@ 2025-09-03 22:30 ` Vivek Kasireddy
2025-09-03 23:18 ` ✗ CI.checkpatch: warning for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3) Patchwork
` (3 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Vivek Kasireddy @ 2025-09-03 22:30 UTC (permalink / raw)
To: dri-devel, intel-xe; +Cc: Vivek Kasireddy
If a BO's is_devmem_external flag is set, it means that it is an
imported dmabuf BO that has a backing store in VRAM. Therefore, in
this case, need to iterate over its dma_addr array.
v2:
- Use a cursor to iterate over the entries in the dma_addr array
instead of relying on SG iterator (Matt)
v3:
- Since XE_PPGTT_PTE_DM is added to the PTE flags in all cases,
remove the bo->is_devmem_external check added in v2
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
drivers/gpu/drm/xe/xe_pt.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index c129048a9a09..ffeb88039808 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -755,6 +755,10 @@ xe_pt_stage_bind(struct xe_tile *tile, struct xe_vma *vma,
xe_walk.default_vram_pte |= XE_PPGTT_PTE_DM;
xe_walk.dma_offset = bo ? vram_region_gpu_offset(bo->ttm.resource) : 0;
+
+ if (bo && bo->is_devmem_external)
+ xe_walk.dma_offset = 0;
+
if (!range)
xe_bo_assert_held(bo);
@@ -765,6 +769,9 @@ xe_pt_stage_bind(struct xe_tile *tile, struct xe_vma *vma,
else if (xe_bo_is_vram(bo) || xe_bo_is_stolen(bo))
xe_res_first(bo->ttm.resource, xe_vma_bo_offset(vma),
xe_vma_size(vma), &curs);
+ else if (bo && bo->is_devmem_external)
+ xe_res_first_dma(bo->dma_addr, xe_vma_bo_offset(vma),
+ xe_vma_size(vma), &curs);
else
xe_res_first_sg(xe_bo_sg(bo), xe_vma_bo_offset(vma),
xe_vma_size(vma), &curs);
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM
2025-09-03 22:30 ` [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM Vivek Kasireddy
@ 2025-09-03 22:52 ` Michal Wajdeczko
0 siblings, 0 replies; 15+ messages in thread
From: Michal Wajdeczko @ 2025-09-03 22:52 UTC (permalink / raw)
To: Vivek Kasireddy, dri-devel, intel-xe
On 9/4/2025 12:30 AM, Vivek Kasireddy wrote:
> To properly import a dmabuf that is associated with a VF (or that
> originates in a Guest VM that includes a VF), we need to know where
> in LMEM the VF's allocated regions exist. Therefore, introduce a
> new helper to return the object that backs the VF's regions in LMEM.
>
> v2:
> - Make the helper return the LMEM object instead of the start address.
>
> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
> ---
> drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 23 ++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 1 +
> 2 files changed, 24 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> index c8f0320d032f..e01f5b340999 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> @@ -1542,6 +1542,29 @@ u64 xe_gt_sriov_pf_config_get_lmem(struct xe_gt *gt, unsigned int vfid)
> return size;
> }
>
> +/**
> + * xe_gt_sriov_pf_config_get_lmem_obj - Get VF's LMEM BO.
> + * @gt: the &xe_gt
> + * @vfid: the VF identifier
> + *
> + * This function can only be called on PF.
> + *
> + * Return: BO that is backing VF's quota in LMEM.
> + */
> +struct xe_bo *xe_gt_sriov_pf_config_get_lmem_obj(struct xe_gt *gt,
> + unsigned int vfid)
> +{
> + struct xe_gt_sriov_config *config;
> + struct xe_bo *lmem_obj;
> +
> + mutex_lock(xe_gt_sriov_pf_master_mutex(gt));
> + config = pf_pick_vf_config(gt, vfid);
> + lmem_obj = config->lmem_obj;
> + mutex_unlock(xe_gt_sriov_pf_master_mutex(gt));
> +
> + return lmem_obj;
note that this bo pointer might be stale outside master-mutex
as now nothing prevents other code or user to unprovision VF
I guess you at least need to use xe_bo_get()/put()
and/or introduce some logic that would mark this BO as used
> +}
> +
> /**
> * xe_gt_sriov_pf_config_set_lmem - Provision VF with LMEM.
> * @gt: the &xe_gt (can't be media)
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
> index 513e6512a575..bef459003de1 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
> @@ -31,6 +31,7 @@ int xe_gt_sriov_pf_config_set_fair_dbs(struct xe_gt *gt, unsigned int vfid, unsi
> int xe_gt_sriov_pf_config_bulk_set_dbs(struct xe_gt *gt, unsigned int vfid, unsigned int num_vfs,
> u32 num_dbs);
>
> +struct xe_bo *xe_gt_sriov_pf_config_get_lmem_obj(struct xe_gt *gt, unsigned int vfid);
and please place this declaration as last one in "lmem" group
> u64 xe_gt_sriov_pf_config_get_lmem(struct xe_gt *gt, unsigned int vfid);
> int xe_gt_sriov_pf_config_set_lmem(struct xe_gt *gt, unsigned int vfid, u64 size);
> int xe_gt_sriov_pf_config_set_fair_lmem(struct xe_gt *gt, unsigned int vfid, unsigned int num_vfs);
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✗ CI.checkpatch: warning for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (4 preceding siblings ...)
2025-09-03 22:30 ` [PATCH v3 5/5] drm/xe/pt: Add an additional check for dmabuf BOs while doing bind Vivek Kasireddy
@ 2025-09-03 23:18 ` Patchwork
2025-09-03 23:19 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-09-03 23:18 UTC (permalink / raw)
To: Vivek Kasireddy; +Cc: intel-xe
== Series Details ==
Series: drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
URL : https://patchwork.freedesktop.org/series/139920/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
e0fa7d6ad11ac6dc8dfa757164e518968a98b897
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit fcb84ef66abffd76d5a03553078583a747d7861f
Author: Vivek Kasireddy <vivek.kasireddy@intel.com>
Date: Wed Sep 3 15:30:58 2025 -0700
drm/xe/pt: Add an additional check for dmabuf BOs while doing bind
If a BO's is_devmem_external flag is set, it means that it is an
imported dmabuf BO that has a backing store in VRAM. Therefore, in
this case, need to iterate over its dma_addr array.
v2:
- Use a cursor to iterate over the entries in the dma_addr array
instead of relying on SG iterator (Matt)
v3:
- Since XE_PPGTT_PTE_DM is added to the PTE flags in all cases,
remove the bo->is_devmem_external check added in v2
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
+ /mt/dim checkpatch 2b95afd5f659a01a6fc8195358e62077846b97e7 drm-intel
a98795efc9f3 PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
86e6b580ecb6 drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode
03e53ad1f121 drm/xe/pf: Add a helper function to get a VF's backing object in LMEM
5d0b0e4e61ec drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs
-:86: CHECK:LINE_SPACING: Please don't use multiple blank lines
#86: FILE: drivers/gpu/drm/xe/xe_bo.c:704:
+
+
-:106: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#106: FILE: drivers/gpu/drm/xe/xe_bo.c:724:
+ bo->dma_addr[i] = drm_pagemap_addr_encode(addr,
+ DRM_INTERCONNECT_DRIVER,
-:184: WARNING:BRACES: braces {} are not necessary for single statement blocks
#184: FILE: drivers/gpu/drm/xe/xe_bo.c:1636:
+ if (bo->is_devmem_external) {
+ kfree(bo->dma_addr);
+ }
total: 0 errors, 1 warnings, 2 checks, 163 lines checked
fcb84ef66abf drm/xe/pt: Add an additional check for dmabuf BOs while doing bind
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ CI.KUnit: success for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (5 preceding siblings ...)
2025-09-03 23:18 ` ✗ CI.checkpatch: warning for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3) Patchwork
@ 2025-09-03 23:19 ` Patchwork
2025-09-04 0:04 ` ✓ Xe.CI.BAT: " Patchwork
2025-09-04 8:56 ` ✗ Xe.CI.Full: failure " Patchwork
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-09-03 23:19 UTC (permalink / raw)
To: Vivek Kasireddy; +Cc: intel-xe
== Series Details ==
Series: drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
URL : https://patchwork.freedesktop.org/series/139920/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[23:18:41] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:18:46] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[23:19:22] Starting KUnit Kernel (1/1)...
[23:19:22] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:19:22] ================== guc_buf (11 subtests) ===================
[23:19:22] [PASSED] test_smallest
[23:19:22] [PASSED] test_largest
[23:19:22] [PASSED] test_granular
[23:19:22] [PASSED] test_unique
[23:19:22] [PASSED] test_overlap
[23:19:22] [PASSED] test_reusable
[23:19:22] [PASSED] test_too_big
[23:19:22] [PASSED] test_flush
[23:19:22] [PASSED] test_lookup
[23:19:22] [PASSED] test_data
[23:19:22] [PASSED] test_class
[23:19:22] ===================== [PASSED] guc_buf =====================
[23:19:22] =================== guc_dbm (7 subtests) ===================
[23:19:22] [PASSED] test_empty
[23:19:22] [PASSED] test_default
[23:19:22] ======================== test_size ========================
[23:19:22] [PASSED] 4
[23:19:22] [PASSED] 8
[23:19:22] [PASSED] 32
[23:19:22] [PASSED] 256
[23:19:22] ==================== [PASSED] test_size ====================
[23:19:22] ======================= test_reuse ========================
[23:19:22] [PASSED] 4
[23:19:22] [PASSED] 8
[23:19:22] [PASSED] 32
[23:19:22] [PASSED] 256
[23:19:22] =================== [PASSED] test_reuse ====================
[23:19:22] =================== test_range_overlap ====================
[23:19:22] [PASSED] 4
[23:19:22] [PASSED] 8
[23:19:22] [PASSED] 32
[23:19:22] [PASSED] 256
[23:19:22] =============== [PASSED] test_range_overlap ================
[23:19:22] =================== test_range_compact ====================
[23:19:22] [PASSED] 4
[23:19:22] [PASSED] 8
[23:19:22] [PASSED] 32
[23:19:22] [PASSED] 256
[23:19:22] =============== [PASSED] test_range_compact ================
[23:19:22] ==================== test_range_spare =====================
[23:19:22] [PASSED] 4
[23:19:22] [PASSED] 8
[23:19:22] [PASSED] 32
[23:19:22] [PASSED] 256
[23:19:22] ================ [PASSED] test_range_spare =================
[23:19:22] ===================== [PASSED] guc_dbm =====================
[23:19:22] =================== guc_idm (6 subtests) ===================
[23:19:22] [PASSED] bad_init
[23:19:22] [PASSED] no_init
[23:19:22] [PASSED] init_fini
[23:19:22] [PASSED] check_used
[23:19:22] [PASSED] check_quota
[23:19:22] [PASSED] check_all
[23:19:22] ===================== [PASSED] guc_idm =====================
[23:19:22] ================== no_relay (3 subtests) ===================
[23:19:22] [PASSED] xe_drops_guc2pf_if_not_ready
[23:19:22] [PASSED] xe_drops_guc2vf_if_not_ready
[23:19:22] [PASSED] xe_rejects_send_if_not_ready
[23:19:22] ==================== [PASSED] no_relay =====================
[23:19:22] ================== pf_relay (14 subtests) ==================
[23:19:22] [PASSED] pf_rejects_guc2pf_too_short
[23:19:22] [PASSED] pf_rejects_guc2pf_too_long
[23:19:22] [PASSED] pf_rejects_guc2pf_no_payload
[23:19:22] [PASSED] pf_fails_no_payload
[23:19:22] [PASSED] pf_fails_bad_origin
[23:19:22] [PASSED] pf_fails_bad_type
[23:19:22] [PASSED] pf_txn_reports_error
[23:19:22] [PASSED] pf_txn_sends_pf2guc
[23:19:22] [PASSED] pf_sends_pf2guc
[23:19:22] [SKIPPED] pf_loopback_nop
[23:19:22] [SKIPPED] pf_loopback_echo
[23:19:22] [SKIPPED] pf_loopback_fail
[23:19:22] [SKIPPED] pf_loopback_busy
[23:19:22] [SKIPPED] pf_loopback_retry
[23:19:22] ==================== [PASSED] pf_relay =====================
[23:19:22] ================== vf_relay (3 subtests) ===================
[23:19:22] [PASSED] vf_rejects_guc2vf_too_short
[23:19:22] [PASSED] vf_rejects_guc2vf_too_long
[23:19:22] [PASSED] vf_rejects_guc2vf_no_payload
[23:19:22] ==================== [PASSED] vf_relay =====================
[23:19:22] ===================== lmtt (1 subtest) =====================
[23:19:22] ======================== test_ops =========================
[23:19:22] [PASSED] 2-level
[23:19:22] [PASSED] multi-level
[23:19:22] ==================== [PASSED] test_ops =====================
[23:19:22] ====================== [PASSED] lmtt =======================
[23:19:22] ================= pf_service (11 subtests) =================
[23:19:22] [PASSED] pf_negotiate_any
[23:19:22] [PASSED] pf_negotiate_base_match
[23:19:22] [PASSED] pf_negotiate_base_newer
[23:19:22] [PASSED] pf_negotiate_base_next
[23:19:22] [SKIPPED] pf_negotiate_base_older
[23:19:22] [PASSED] pf_negotiate_base_prev
[23:19:22] [PASSED] pf_negotiate_latest_match
[23:19:22] [PASSED] pf_negotiate_latest_newer
[23:19:22] [PASSED] pf_negotiate_latest_next
[23:19:22] [SKIPPED] pf_negotiate_latest_older
[23:19:22] [SKIPPED] pf_negotiate_latest_prev
[23:19:22] =================== [PASSED] pf_service ====================
[23:19:22] =================== xe_mocs (2 subtests) ===================
[23:19:22] ================ xe_live_mocs_kernel_kunit ================
[23:19:22] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[23:19:22] ================ xe_live_mocs_reset_kunit =================
[23:19:22] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[23:19:22] ==================== [SKIPPED] xe_mocs =====================
[23:19:22] ================= xe_migrate (2 subtests) ==================
[23:19:22] ================= xe_migrate_sanity_kunit =================
[23:19:22] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[23:19:22] ================== xe_validate_ccs_kunit ==================
[23:19:22] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[23:19:22] =================== [SKIPPED] xe_migrate ===================
[23:19:22] ================== xe_dma_buf (1 subtest) ==================
[23:19:22] ==================== xe_dma_buf_kunit =====================
[23:19:22] ================ [SKIPPED] xe_dma_buf_kunit ================
[23:19:22] =================== [SKIPPED] xe_dma_buf ===================
[23:19:22] ================= xe_bo_shrink (1 subtest) =================
[23:19:22] =================== xe_bo_shrink_kunit ====================
[23:19:22] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[23:19:22] ================== [SKIPPED] xe_bo_shrink ==================
[23:19:22] ==================== xe_bo (2 subtests) ====================
[23:19:22] ================== xe_ccs_migrate_kunit ===================
[23:19:22] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[23:19:22] ==================== xe_bo_evict_kunit ====================
[23:19:22] =============== [SKIPPED] xe_bo_evict_kunit ================
[23:19:22] ===================== [SKIPPED] xe_bo ======================
[23:19:22] ==================== args (11 subtests) ====================
[23:19:22] [PASSED] count_args_test
[23:19:22] [PASSED] call_args_example
[23:19:22] [PASSED] call_args_test
[23:19:22] [PASSED] drop_first_arg_example
[23:19:22] [PASSED] drop_first_arg_test
[23:19:22] [PASSED] first_arg_example
[23:19:22] [PASSED] first_arg_test
[23:19:22] [PASSED] last_arg_example
[23:19:22] [PASSED] last_arg_test
[23:19:22] [PASSED] pick_arg_example
[23:19:22] [PASSED] sep_comma_example
[23:19:22] ====================== [PASSED] args =======================
[23:19:22] =================== xe_pci (3 subtests) ====================
[23:19:22] ==================== check_graphics_ip ====================
[23:19:22] [PASSED] 12.70 Xe_LPG
[23:19:22] [PASSED] 12.71 Xe_LPG
[23:19:22] [PASSED] 12.74 Xe_LPG+
[23:19:22] [PASSED] 20.01 Xe2_HPG
[23:19:22] [PASSED] 20.02 Xe2_HPG
[23:19:22] [PASSED] 20.04 Xe2_LPG
[23:19:22] [PASSED] 30.00 Xe3_LPG
[23:19:22] [PASSED] 30.01 Xe3_LPG
[23:19:22] [PASSED] 30.03 Xe3_LPG
[23:19:22] ================ [PASSED] check_graphics_ip ================
[23:19:22] ===================== check_media_ip ======================
[23:19:22] [PASSED] 13.00 Xe_LPM+
[23:19:22] [PASSED] 13.01 Xe2_HPM
[23:19:22] [PASSED] 20.00 Xe2_LPM
[23:19:22] [PASSED] 30.00 Xe3_LPM
[23:19:22] [PASSED] 30.02 Xe3_LPM
[23:19:22] ================= [PASSED] check_media_ip ==================
[23:19:22] ================= check_platform_gt_count =================
[23:19:22] [PASSED] 0x9A60 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A68 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A70 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A40 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A49 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A59 (TIGERLAKE)
[23:19:22] [PASSED] 0x9A78 (TIGERLAKE)
[23:19:22] [PASSED] 0x9AC0 (TIGERLAKE)
[23:19:22] [PASSED] 0x9AC9 (TIGERLAKE)
[23:19:22] [PASSED] 0x9AD9 (TIGERLAKE)
[23:19:22] [PASSED] 0x9AF8 (TIGERLAKE)
[23:19:22] [PASSED] 0x4C80 (ROCKETLAKE)
[23:19:22] [PASSED] 0x4C8A (ROCKETLAKE)
[23:19:22] [PASSED] 0x4C8B (ROCKETLAKE)
[23:19:22] [PASSED] 0x4C8C (ROCKETLAKE)
[23:19:22] [PASSED] 0x4C90 (ROCKETLAKE)
[23:19:22] [PASSED] 0x4C9A (ROCKETLAKE)
[23:19:22] [PASSED] 0x4680 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4682 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4688 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x468A (ALDERLAKE_S)
[23:19:22] [PASSED] 0x468B (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4690 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4692 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4693 (ALDERLAKE_S)
[23:19:22] [PASSED] 0x46A0 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46A1 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46A2 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46A3 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46A6 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46A8 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46AA (ALDERLAKE_P)
[23:19:22] [PASSED] 0x462A (ALDERLAKE_P)
[23:19:22] [PASSED] 0x4626 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x4628 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46B0 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46B1 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46B2 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46B3 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46C0 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46C1 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46C2 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46C3 (ALDERLAKE_P)
[23:19:22] [PASSED] 0x46D0 (ALDERLAKE_N)
[23:19:22] [PASSED] 0x46D1 (ALDERLAKE_N)
[23:19:22] [PASSED] 0x46D2 (ALDERLAKE_N)
[23:19:22] [PASSED] 0x46D3 (ALDERLAKE_N)
[23:19:22] [PASSED] 0x46D4 (ALDERLAKE_N)
[23:19:22] [PASSED] 0xA721 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7A1 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7A9 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7AC (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7AD (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA720 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7A0 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7A8 (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7AA (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA7AB (ALDERLAKE_P)
[23:19:22] [PASSED] 0xA780 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA781 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA782 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA783 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA788 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA789 (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA78A (ALDERLAKE_S)
[23:19:22] [PASSED] 0xA78B (ALDERLAKE_S)
[23:19:22] [PASSED] 0x4905 (DG1)
[23:19:22] [PASSED] 0x4906 (DG1)
[23:19:22] [PASSED] 0x4907 (DG1)
[23:19:22] [PASSED] 0x4908 (DG1)
[23:19:22] [PASSED] 0x4909 (DG1)
[23:19:22] [PASSED] 0x56C0 (DG2)
[23:19:22] [PASSED] 0x56C2 (DG2)
[23:19:22] [PASSED] 0x56C1 (DG2)
[23:19:22] [PASSED] 0x7D51 (METEORLAKE)
[23:19:22] [PASSED] 0x7DD1 (METEORLAKE)
[23:19:22] [PASSED] 0x7D41 (METEORLAKE)
[23:19:22] [PASSED] 0x7D67 (METEORLAKE)
[23:19:22] [PASSED] 0xB640 (METEORLAKE)
[23:19:22] [PASSED] 0x56A0 (DG2)
[23:19:22] [PASSED] 0x56A1 (DG2)
[23:19:22] [PASSED] 0x56A2 (DG2)
[23:19:22] [PASSED] 0x56BE (DG2)
[23:19:22] [PASSED] 0x56BF (DG2)
[23:19:22] [PASSED] 0x5690 (DG2)
[23:19:22] [PASSED] 0x5691 (DG2)
[23:19:22] [PASSED] 0x5692 (DG2)
[23:19:22] [PASSED] 0x56A5 (DG2)
[23:19:22] [PASSED] 0x56A6 (DG2)
[23:19:22] [PASSED] 0x56B0 (DG2)
[23:19:22] [PASSED] 0x56B1 (DG2)
[23:19:22] [PASSED] 0x56BA (DG2)
[23:19:22] [PASSED] 0x56BB (DG2)
[23:19:22] [PASSED] 0x56BC (DG2)
[23:19:22] [PASSED] 0x56BD (DG2)
[23:19:22] [PASSED] 0x5693 (DG2)
[23:19:22] [PASSED] 0x5694 (DG2)
[23:19:22] [PASSED] 0x5695 (DG2)
[23:19:22] [PASSED] 0x56A3 (DG2)
[23:19:22] [PASSED] 0x56A4 (DG2)
[23:19:22] [PASSED] 0x56B2 (DG2)
[23:19:22] [PASSED] 0x56B3 (DG2)
[23:19:22] [PASSED] 0x5696 (DG2)
[23:19:22] [PASSED] 0x5697 (DG2)
[23:19:22] [PASSED] 0xB69 (PVC)
[23:19:22] [PASSED] 0xB6E (PVC)
[23:19:22] [PASSED] 0xBD4 (PVC)
[23:19:22] [PASSED] 0xBD5 (PVC)
[23:19:22] [PASSED] 0xBD6 (PVC)
[23:19:22] [PASSED] 0xBD7 (PVC)
[23:19:22] [PASSED] 0xBD8 (PVC)
[23:19:22] [PASSED] 0xBD9 (PVC)
[23:19:22] [PASSED] 0xBDA (PVC)
[23:19:22] [PASSED] 0xBDB (PVC)
[23:19:22] [PASSED] 0xBE0 (PVC)
[23:19:22] [PASSED] 0xBE1 (PVC)
[23:19:22] [PASSED] 0xBE5 (PVC)
[23:19:22] [PASSED] 0x7D40 (METEORLAKE)
[23:19:22] [PASSED] 0x7D45 (METEORLAKE)
[23:19:22] [PASSED] 0x7D55 (METEORLAKE)
[23:19:22] [PASSED] 0x7D60 (METEORLAKE)
[23:19:22] [PASSED] 0x7DD5 (METEORLAKE)
[23:19:22] [PASSED] 0x6420 (LUNARLAKE)
[23:19:22] [PASSED] 0x64A0 (LUNARLAKE)
[23:19:22] [PASSED] 0x64B0 (LUNARLAKE)
[23:19:22] [PASSED] 0xE202 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE209 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE20B (BATTLEMAGE)
[23:19:22] [PASSED] 0xE20C (BATTLEMAGE)
[23:19:22] [PASSED] 0xE20D (BATTLEMAGE)
[23:19:22] [PASSED] 0xE210 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE211 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE212 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE216 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE220 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE221 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE222 (BATTLEMAGE)
[23:19:22] [PASSED] 0xE223 (BATTLEMAGE)
[23:19:22] [PASSED] 0xB080 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB081 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB082 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB083 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB084 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB085 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB086 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB087 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB08F (PANTHERLAKE)
[23:19:22] [PASSED] 0xB090 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB0A0 (PANTHERLAKE)
[23:19:22] [PASSED] 0xB0B0 (PANTHERLAKE)
[23:19:22] [PASSED] 0xFD80 (PANTHERLAKE)
[23:19:22] [PASSED] 0xFD81 (PANTHERLAKE)
[23:19:22] ============= [PASSED] check_platform_gt_count =============
[23:19:22] ===================== [PASSED] xe_pci ======================
[23:19:22] =================== xe_rtp (2 subtests) ====================
[23:19:22] =============== xe_rtp_process_to_sr_tests ================
[23:19:22] [PASSED] coalesce-same-reg
[23:19:22] [PASSED] no-match-no-add
[23:19:22] [PASSED] match-or
[23:19:22] [PASSED] match-or-xfail
[23:19:22] [PASSED] no-match-no-add-multiple-rules
[23:19:22] [PASSED] two-regs-two-entries
[23:19:22] [PASSED] clr-one-set-other
[23:19:22] [PASSED] set-field
[23:19:22] [PASSED] conflict-duplicate
[23:19:22] [PASSED] conflict-not-disjoint
[23:19:22] [PASSED] conflict-reg-type
[23:19:22] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[23:19:22] ================== xe_rtp_process_tests ===================
[23:19:22] [PASSED] active1
[23:19:22] [PASSED] active2
[23:19:22] [PASSED] active-inactive
[23:19:22] [PASSED] inactive-active
[23:19:22] [PASSED] inactive-1st_or_active-inactive
[23:19:22] [PASSED] inactive-2nd_or_active-inactive
[23:19:22] [PASSED] inactive-last_or_active-inactive
[23:19:22] [PASSED] inactive-no_or_active-inactive
[23:19:22] ============== [PASSED] xe_rtp_process_tests ===============
[23:19:22] ===================== [PASSED] xe_rtp ======================
[23:19:22] ==================== xe_wa (1 subtest) =====================
[23:19:22] ======================== xe_wa_gt =========================
[23:19:22] [PASSED] TIGERLAKE (B0)
[23:19:22] [PASSED] DG1 (A0)
[23:19:22] [PASSED] DG1 (B0)
[23:19:22] [PASSED] ALDERLAKE_S (A0)
[23:19:22] [PASSED] ALDERLAKE_S (B0)
[23:19:22] [PASSED] ALDERLAKE_S (C0)
[23:19:22] [PASSED] ALDERLAKE_S (D0)
[23:19:22] [PASSED] ALDERLAKE_P (A0)
[23:19:22] [PASSED] ALDERLAKE_P (B0)
[23:19:22] [PASSED] ALDERLAKE_P (C0)
[23:19:22] [PASSED] ALDERLAKE_S_RPLS (D0)
[23:19:22] [PASSED] ALDERLAKE_P_RPLU (E0)
[23:19:22] [PASSED] DG2_G10 (C0)
[23:19:22] [PASSED] DG2_G11 (B1)
[23:19:22] [PASSED] DG2_G12 (A1)
[23:19:22] [PASSED] METEORLAKE (g:A0, m:A0)
[23:19:22] [PASSED] METEORLAKE (g:A0, m:A0)
[23:19:22] [PASSED] METEORLAKE (g:A0, m:A0)
[23:19:22] [PASSED] LUNARLAKE (g:A0, m:A0)
[23:19:22] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[23:19:22] [PASSED] BATTLEMAGE (g:A0, m:A1)
[23:19:22] [PASSED] PANTHERLAKE (g:A0, m:A0)
[23:19:22] ==================== [PASSED] xe_wa_gt =====================
[23:19:22] ====================== [PASSED] xe_wa ======================
[23:19:22] ============================================================
[23:19:22] Testing complete. Ran 298 tests: passed: 282, skipped: 16
[23:19:22] Elapsed time: 40.640s total, 4.281s configuring, 35.992s building, 0.340s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[23:19:22] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:19:24] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[23:19:51] Starting KUnit Kernel (1/1)...
[23:19:51] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:19:51] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[23:19:51] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[23:19:51] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[23:19:51] =========== drm_validate_clone_mode (2 subtests) ===========
[23:19:51] ============== drm_test_check_in_clone_mode ===============
[23:19:51] [PASSED] in_clone_mode
[23:19:51] [PASSED] not_in_clone_mode
[23:19:51] ========== [PASSED] drm_test_check_in_clone_mode ===========
[23:19:51] =============== drm_test_check_valid_clones ===============
[23:19:51] [PASSED] not_in_clone_mode
[23:19:51] [PASSED] valid_clone
[23:19:51] [PASSED] invalid_clone
[23:19:51] =========== [PASSED] drm_test_check_valid_clones ===========
[23:19:51] ============= [PASSED] drm_validate_clone_mode =============
[23:19:51] ============= drm_validate_modeset (1 subtest) =============
[23:19:51] [PASSED] drm_test_check_connector_changed_modeset
[23:19:51] ============== [PASSED] drm_validate_modeset ===============
[23:19:51] ====== drm_test_bridge_get_current_state (2 subtests) ======
[23:19:51] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[23:19:51] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[23:19:51] ======== [PASSED] drm_test_bridge_get_current_state ========
[23:19:51] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[23:19:51] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[23:19:51] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[23:19:51] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[23:19:51] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[23:19:51] ============== drm_bridge_alloc (2 subtests) ===============
[23:19:51] [PASSED] drm_test_drm_bridge_alloc_basic
[23:19:51] [PASSED] drm_test_drm_bridge_alloc_get_put
[23:19:51] ================ [PASSED] drm_bridge_alloc =================
[23:19:51] ================== drm_buddy (7 subtests) ==================
[23:19:51] [PASSED] drm_test_buddy_alloc_limit
[23:19:51] [PASSED] drm_test_buddy_alloc_optimistic
[23:19:51] [PASSED] drm_test_buddy_alloc_pessimistic
[23:19:51] [PASSED] drm_test_buddy_alloc_pathological
[23:19:51] [PASSED] drm_test_buddy_alloc_contiguous
[23:19:51] [PASSED] drm_test_buddy_alloc_clear
[23:19:51] [PASSED] drm_test_buddy_alloc_range_bias
[23:19:51] ==================== [PASSED] drm_buddy ====================
[23:19:51] ============= drm_cmdline_parser (40 subtests) =============
[23:19:51] [PASSED] drm_test_cmdline_force_d_only
[23:19:51] [PASSED] drm_test_cmdline_force_D_only_dvi
[23:19:51] [PASSED] drm_test_cmdline_force_D_only_hdmi
[23:19:51] [PASSED] drm_test_cmdline_force_D_only_not_digital
[23:19:51] [PASSED] drm_test_cmdline_force_e_only
[23:19:51] [PASSED] drm_test_cmdline_res
[23:19:51] [PASSED] drm_test_cmdline_res_vesa
[23:19:51] [PASSED] drm_test_cmdline_res_vesa_rblank
[23:19:51] [PASSED] drm_test_cmdline_res_rblank
[23:19:51] [PASSED] drm_test_cmdline_res_bpp
[23:19:51] [PASSED] drm_test_cmdline_res_refresh
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[23:19:51] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[23:19:51] [PASSED] drm_test_cmdline_res_margins_force_on
[23:19:51] [PASSED] drm_test_cmdline_res_vesa_margins
[23:19:51] [PASSED] drm_test_cmdline_name
[23:19:51] [PASSED] drm_test_cmdline_name_bpp
[23:19:51] [PASSED] drm_test_cmdline_name_option
[23:19:51] [PASSED] drm_test_cmdline_name_bpp_option
[23:19:51] [PASSED] drm_test_cmdline_rotate_0
[23:19:51] [PASSED] drm_test_cmdline_rotate_90
[23:19:51] [PASSED] drm_test_cmdline_rotate_180
[23:19:51] [PASSED] drm_test_cmdline_rotate_270
[23:19:51] [PASSED] drm_test_cmdline_hmirror
[23:19:51] [PASSED] drm_test_cmdline_vmirror
[23:19:51] [PASSED] drm_test_cmdline_margin_options
[23:19:51] [PASSED] drm_test_cmdline_multiple_options
[23:19:51] [PASSED] drm_test_cmdline_bpp_extra_and_option
[23:19:51] [PASSED] drm_test_cmdline_extra_and_option
[23:19:51] [PASSED] drm_test_cmdline_freestanding_options
[23:19:51] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[23:19:51] [PASSED] drm_test_cmdline_panel_orientation
[23:19:51] ================ drm_test_cmdline_invalid =================
[23:19:51] [PASSED] margin_only
[23:19:51] [PASSED] interlace_only
[23:19:51] [PASSED] res_missing_x
[23:19:51] [PASSED] res_missing_y
[23:19:51] [PASSED] res_bad_y
[23:19:51] [PASSED] res_missing_y_bpp
[23:19:51] [PASSED] res_bad_bpp
[23:19:51] [PASSED] res_bad_refresh
[23:19:51] [PASSED] res_bpp_refresh_force_on_off
[23:19:51] [PASSED] res_invalid_mode
[23:19:51] [PASSED] res_bpp_wrong_place_mode
[23:19:51] [PASSED] name_bpp_refresh
[23:19:51] [PASSED] name_refresh
[23:19:51] [PASSED] name_refresh_wrong_mode
[23:19:51] [PASSED] name_refresh_invalid_mode
[23:19:51] [PASSED] rotate_multiple
[23:19:51] [PASSED] rotate_invalid_val
[23:19:51] [PASSED] rotate_truncated
[23:19:51] [PASSED] invalid_option
[23:19:51] [PASSED] invalid_tv_option
[23:19:51] [PASSED] truncated_tv_option
[23:19:51] ============ [PASSED] drm_test_cmdline_invalid =============
[23:19:51] =============== drm_test_cmdline_tv_options ===============
[23:19:51] [PASSED] NTSC
[23:19:51] [PASSED] NTSC_443
[23:19:51] [PASSED] NTSC_J
[23:19:51] [PASSED] PAL
[23:19:51] [PASSED] PAL_M
[23:19:51] [PASSED] PAL_N
[23:19:51] [PASSED] SECAM
[23:19:51] [PASSED] MONO_525
[23:19:51] [PASSED] MONO_625
[23:19:51] =========== [PASSED] drm_test_cmdline_tv_options ===========
[23:19:51] =============== [PASSED] drm_cmdline_parser ================
[23:19:51] ========== drmm_connector_hdmi_init (20 subtests) ==========
[23:19:51] [PASSED] drm_test_connector_hdmi_init_valid
[23:19:51] [PASSED] drm_test_connector_hdmi_init_bpc_8
[23:19:51] [PASSED] drm_test_connector_hdmi_init_bpc_10
[23:19:51] [PASSED] drm_test_connector_hdmi_init_bpc_12
[23:19:51] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[23:19:51] [PASSED] drm_test_connector_hdmi_init_bpc_null
[23:19:51] [PASSED] drm_test_connector_hdmi_init_formats_empty
[23:19:51] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[23:19:51] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:19:51] [PASSED] supported_formats=0x9 yuv420_allowed=1
[23:19:51] [PASSED] supported_formats=0x9 yuv420_allowed=0
[23:19:51] [PASSED] supported_formats=0x3 yuv420_allowed=1
[23:19:51] [PASSED] supported_formats=0x3 yuv420_allowed=0
[23:19:51] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:19:51] [PASSED] drm_test_connector_hdmi_init_null_ddc
[23:19:51] [PASSED] drm_test_connector_hdmi_init_null_product
[23:19:51] [PASSED] drm_test_connector_hdmi_init_null_vendor
[23:19:51] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[23:19:51] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[23:19:51] [PASSED] drm_test_connector_hdmi_init_product_valid
[23:19:51] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[23:19:51] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[23:19:51] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[23:19:51] ========= drm_test_connector_hdmi_init_type_valid =========
[23:19:51] [PASSED] HDMI-A
[23:19:51] [PASSED] HDMI-B
[23:19:51] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[23:19:51] ======== drm_test_connector_hdmi_init_type_invalid ========
[23:19:51] [PASSED] Unknown
[23:19:51] [PASSED] VGA
[23:19:51] [PASSED] DVI-I
[23:19:51] [PASSED] DVI-D
[23:19:51] [PASSED] DVI-A
[23:19:51] [PASSED] Composite
[23:19:51] [PASSED] SVIDEO
[23:19:51] [PASSED] LVDS
[23:19:51] [PASSED] Component
[23:19:51] [PASSED] DIN
[23:19:51] [PASSED] DP
[23:19:51] [PASSED] TV
[23:19:51] [PASSED] eDP
[23:19:51] [PASSED] Virtual
[23:19:51] [PASSED] DSI
[23:19:51] [PASSED] DPI
[23:19:51] [PASSED] Writeback
[23:19:51] [PASSED] SPI
[23:19:51] [PASSED] USB
[23:19:51] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[23:19:51] ============ [PASSED] drmm_connector_hdmi_init =============
[23:19:51] ============= drmm_connector_init (3 subtests) =============
[23:19:51] [PASSED] drm_test_drmm_connector_init
[23:19:51] [PASSED] drm_test_drmm_connector_init_null_ddc
[23:19:51] ========= drm_test_drmm_connector_init_type_valid =========
[23:19:51] [PASSED] Unknown
[23:19:51] [PASSED] VGA
[23:19:51] [PASSED] DVI-I
[23:19:51] [PASSED] DVI-D
[23:19:51] [PASSED] DVI-A
[23:19:51] [PASSED] Composite
[23:19:51] [PASSED] SVIDEO
[23:19:51] [PASSED] LVDS
[23:19:51] [PASSED] Component
[23:19:51] [PASSED] DIN
[23:19:51] [PASSED] DP
[23:19:51] [PASSED] HDMI-A
[23:19:51] [PASSED] HDMI-B
[23:19:51] [PASSED] TV
[23:19:51] [PASSED] eDP
[23:19:51] [PASSED] Virtual
[23:19:51] [PASSED] DSI
[23:19:51] [PASSED] DPI
[23:19:51] [PASSED] Writeback
[23:19:51] [PASSED] SPI
[23:19:51] [PASSED] USB
[23:19:51] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[23:19:51] =============== [PASSED] drmm_connector_init ===============
[23:19:51] ========= drm_connector_dynamic_init (6 subtests) ==========
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_init
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_init_properties
[23:19:51] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[23:19:51] [PASSED] Unknown
[23:19:51] [PASSED] VGA
[23:19:51] [PASSED] DVI-I
[23:19:51] [PASSED] DVI-D
[23:19:51] [PASSED] DVI-A
[23:19:51] [PASSED] Composite
[23:19:51] [PASSED] SVIDEO
[23:19:51] [PASSED] LVDS
[23:19:51] [PASSED] Component
[23:19:51] [PASSED] DIN
[23:19:51] [PASSED] DP
[23:19:51] [PASSED] HDMI-A
[23:19:51] [PASSED] HDMI-B
[23:19:51] [PASSED] TV
[23:19:51] [PASSED] eDP
[23:19:51] [PASSED] Virtual
[23:19:51] [PASSED] DSI
[23:19:51] [PASSED] DPI
[23:19:51] [PASSED] Writeback
[23:19:51] [PASSED] SPI
[23:19:51] [PASSED] USB
[23:19:51] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[23:19:51] ======== drm_test_drm_connector_dynamic_init_name =========
[23:19:51] [PASSED] Unknown
[23:19:51] [PASSED] VGA
[23:19:51] [PASSED] DVI-I
[23:19:51] [PASSED] DVI-D
[23:19:51] [PASSED] DVI-A
[23:19:51] [PASSED] Composite
[23:19:51] [PASSED] SVIDEO
[23:19:51] [PASSED] LVDS
[23:19:51] [PASSED] Component
[23:19:51] [PASSED] DIN
[23:19:51] [PASSED] DP
[23:19:51] [PASSED] HDMI-A
[23:19:51] [PASSED] HDMI-B
[23:19:51] [PASSED] TV
[23:19:51] [PASSED] eDP
[23:19:51] [PASSED] Virtual
[23:19:51] [PASSED] DSI
[23:19:51] [PASSED] DPI
[23:19:51] [PASSED] Writeback
[23:19:51] [PASSED] SPI
[23:19:51] [PASSED] USB
[23:19:51] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[23:19:51] =========== [PASSED] drm_connector_dynamic_init ============
[23:19:51] ==== drm_connector_dynamic_register_early (4 subtests) =====
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[23:19:51] ====== [PASSED] drm_connector_dynamic_register_early =======
[23:19:51] ======= drm_connector_dynamic_register (7 subtests) ========
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[23:19:51] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[23:19:51] ========= [PASSED] drm_connector_dynamic_register ==========
[23:19:51] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[23:19:51] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[23:19:51] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[23:19:51] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[23:19:51] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[23:19:51] ========== drm_test_get_tv_mode_from_name_valid ===========
[23:19:51] [PASSED] NTSC
[23:19:51] [PASSED] NTSC-443
[23:19:51] [PASSED] NTSC-J
[23:19:51] [PASSED] PAL
[23:19:51] [PASSED] PAL-M
[23:19:51] [PASSED] PAL-N
[23:19:51] [PASSED] SECAM
[23:19:51] [PASSED] Mono
[23:19:51] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[23:19:51] [PASSED] drm_test_get_tv_mode_from_name_truncated
[23:19:51] ============ [PASSED] drm_get_tv_mode_from_name ============
[23:19:51] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[23:19:51] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[23:19:51] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[23:19:51] [PASSED] VIC 96
[23:19:51] [PASSED] VIC 97
[23:19:51] [PASSED] VIC 101
[23:19:51] [PASSED] VIC 102
[23:19:51] [PASSED] VIC 106
[23:19:51] [PASSED] VIC 107
[23:19:51] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[23:19:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[23:19:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[23:19:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[23:19:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[23:19:51] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[23:19:51] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[23:19:51] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[23:19:51] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[23:19:51] [PASSED] Automatic
[23:19:51] [PASSED] Full
[23:19:51] [PASSED] Limited 16:235
[23:19:51] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[23:19:51] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[23:19:51] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[23:19:51] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[23:19:51] === drm_test_drm_hdmi_connector_get_output_format_name ====
[23:19:51] [PASSED] RGB
[23:19:51] [PASSED] YUV 4:2:0
[23:19:51] [PASSED] YUV 4:2:2
[23:19:51] [PASSED] YUV 4:4:4
[23:19:51] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[23:19:51] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[23:19:51] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[23:19:51] ============= drm_damage_helper (21 subtests) ==============
[23:19:51] [PASSED] drm_test_damage_iter_no_damage
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_src_moved
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_not_visible
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[23:19:51] [PASSED] drm_test_damage_iter_no_damage_no_fb
[23:19:51] [PASSED] drm_test_damage_iter_simple_damage
[23:19:51] [PASSED] drm_test_damage_iter_single_damage
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_outside_src
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_src_moved
[23:19:51] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[23:19:51] [PASSED] drm_test_damage_iter_damage
[23:19:51] [PASSED] drm_test_damage_iter_damage_one_intersect
[23:19:51] [PASSED] drm_test_damage_iter_damage_one_outside
[23:19:51] [PASSED] drm_test_damage_iter_damage_src_moved
[23:19:51] [PASSED] drm_test_damage_iter_damage_not_visible
[23:19:51] ================ [PASSED] drm_damage_helper ================
[23:19:51] ============== drm_dp_mst_helper (3 subtests) ==============
[23:19:51] ============== drm_test_dp_mst_calc_pbn_mode ==============
[23:19:51] [PASSED] Clock 154000 BPP 30 DSC disabled
[23:19:51] [PASSED] Clock 234000 BPP 30 DSC disabled
[23:19:51] [PASSED] Clock 297000 BPP 24 DSC disabled
[23:19:51] [PASSED] Clock 332880 BPP 24 DSC enabled
[23:19:51] [PASSED] Clock 324540 BPP 24 DSC enabled
[23:19:51] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[23:19:51] ============== drm_test_dp_mst_calc_pbn_div ===============
[23:19:51] [PASSED] Link rate 2000000 lane count 4
[23:19:51] [PASSED] Link rate 2000000 lane count 2
[23:19:51] [PASSED] Link rate 2000000 lane count 1
[23:19:51] [PASSED] Link rate 1350000 lane count 4
[23:19:51] [PASSED] Link rate 1350000 lane count 2
[23:19:51] [PASSED] Link rate 1350000 lane count 1
[23:19:51] [PASSED] Link rate 1000000 lane count 4
[23:19:51] [PASSED] Link rate 1000000 lane count 2
[23:19:51] [PASSED] Link rate 1000000 lane count 1
[23:19:51] [PASSED] Link rate 810000 lane count 4
[23:19:51] [PASSED] Link rate 810000 lane count 2
[23:19:51] [PASSED] Link rate 810000 lane count 1
[23:19:51] [PASSED] Link rate 540000 lane count 4
[23:19:51] [PASSED] Link rate 540000 lane count 2
[23:19:51] [PASSED] Link rate 540000 lane count 1
[23:19:51] [PASSED] Link rate 270000 lane count 4
[23:19:51] [PASSED] Link rate 270000 lane count 2
[23:19:51] [PASSED] Link rate 270000 lane count 1
[23:19:51] [PASSED] Link rate 162000 lane count 4
[23:19:51] [PASSED] Link rate 162000 lane count 2
[23:19:51] [PASSED] Link rate 162000 lane count 1
[23:19:51] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[23:19:51] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[23:19:51] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[23:19:51] [PASSED] DP_POWER_UP_PHY with port number
[23:19:51] [PASSED] DP_POWER_DOWN_PHY with port number
[23:19:51] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[23:19:51] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[23:19:51] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[23:19:51] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[23:19:51] [PASSED] DP_QUERY_PAYLOAD with port number
[23:19:51] [PASSED] DP_QUERY_PAYLOAD with VCPI
[23:19:51] [PASSED] DP_REMOTE_DPCD_READ with port number
[23:19:51] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[23:19:51] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[23:19:51] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[23:19:51] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[23:19:51] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[23:19:51] [PASSED] DP_REMOTE_I2C_READ with port number
[23:19:51] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[23:19:51] [PASSED] DP_REMOTE_I2C_READ with transactions array
[23:19:51] [PASSED] DP_REMOTE_I2C_WRITE with port number
[23:19:51] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[23:19:51] [PASSED] DP_REMOTE_I2C_WRITE with data array
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[23:19:51] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[23:19:51] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[23:19:51] ================ [PASSED] drm_dp_mst_helper ================
[23:19:51] ================== drm_exec (7 subtests) ===================
[23:19:51] [PASSED] sanitycheck
[23:19:51] [PASSED] test_lock
[23:19:51] [PASSED] test_lock_unlock
[23:19:51] [PASSED] test_duplicates
[23:19:51] [PASSED] test_prepare
[23:19:51] [PASSED] test_prepare_array
[23:19:51] [PASSED] test_multiple_loops
[23:19:51] ==================== [PASSED] drm_exec =====================
[23:19:51] =========== drm_format_helper_test (17 subtests) ===========
[23:19:51] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[23:19:51] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[23:19:51] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[23:19:51] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[23:19:51] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[23:19:51] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[23:19:51] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[23:19:51] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[23:19:51] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[23:19:51] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[23:19:51] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[23:19:51] ============== drm_test_fb_xrgb8888_to_mono ===============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[23:19:51] ==================== drm_test_fb_swab =====================
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ================ [PASSED] drm_test_fb_swab =================
[23:19:51] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[23:19:51] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[23:19:51] [PASSED] single_pixel_source_buffer
[23:19:51] [PASSED] single_pixel_clip_rectangle
[23:19:51] [PASSED] well_known_colors
[23:19:51] [PASSED] destination_pitch
[23:19:51] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[23:19:51] ================= drm_test_fb_clip_offset =================
[23:19:51] [PASSED] pass through
[23:19:51] [PASSED] horizontal offset
[23:19:51] [PASSED] vertical offset
[23:19:51] [PASSED] horizontal and vertical offset
[23:19:51] [PASSED] horizontal offset (custom pitch)
[23:19:51] [PASSED] vertical offset (custom pitch)
[23:19:51] [PASSED] horizontal and vertical offset (custom pitch)
[23:19:51] ============= [PASSED] drm_test_fb_clip_offset =============
[23:19:51] =================== drm_test_fb_memcpy ====================
[23:19:51] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[23:19:51] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[23:19:51] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[23:19:51] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[23:19:51] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[23:19:51] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[23:19:51] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[23:19:51] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[23:19:51] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[23:19:51] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[23:19:51] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[23:19:51] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[23:19:51] =============== [PASSED] drm_test_fb_memcpy ================
[23:19:51] ============= [PASSED] drm_format_helper_test ==============
[23:19:51] ================= drm_format (18 subtests) =================
[23:19:51] [PASSED] drm_test_format_block_width_invalid
[23:19:51] [PASSED] drm_test_format_block_width_one_plane
[23:19:51] [PASSED] drm_test_format_block_width_two_plane
[23:19:51] [PASSED] drm_test_format_block_width_three_plane
[23:19:51] [PASSED] drm_test_format_block_width_tiled
[23:19:51] [PASSED] drm_test_format_block_height_invalid
[23:19:51] [PASSED] drm_test_format_block_height_one_plane
[23:19:51] [PASSED] drm_test_format_block_height_two_plane
[23:19:51] [PASSED] drm_test_format_block_height_three_plane
[23:19:51] [PASSED] drm_test_format_block_height_tiled
[23:19:51] [PASSED] drm_test_format_min_pitch_invalid
[23:19:51] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[23:19:51] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[23:19:51] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[23:19:51] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[23:19:51] [PASSED] drm_test_format_min_pitch_two_plane
[23:19:51] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[23:19:51] [PASSED] drm_test_format_min_pitch_tiled
[23:19:51] =================== [PASSED] drm_format ====================
[23:19:51] ============== drm_framebuffer (10 subtests) ===============
[23:19:51] ========== drm_test_framebuffer_check_src_coords ==========
[23:19:51] [PASSED] Success: source fits into fb
[23:19:51] [PASSED] Fail: overflowing fb with x-axis coordinate
[23:19:51] [PASSED] Fail: overflowing fb with y-axis coordinate
[23:19:51] [PASSED] Fail: overflowing fb with source width
[23:19:51] [PASSED] Fail: overflowing fb with source height
[23:19:51] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[23:19:51] [PASSED] drm_test_framebuffer_cleanup
[23:19:51] =============== drm_test_framebuffer_create ===============
[23:19:51] [PASSED] ABGR8888 normal sizes
[23:19:51] [PASSED] ABGR8888 max sizes
[23:19:51] [PASSED] ABGR8888 pitch greater than min required
[23:19:51] [PASSED] ABGR8888 pitch less than min required
[23:19:51] [PASSED] ABGR8888 Invalid width
[23:19:51] [PASSED] ABGR8888 Invalid buffer handle
[23:19:51] [PASSED] No pixel format
[23:19:51] [PASSED] ABGR8888 Width 0
[23:19:51] [PASSED] ABGR8888 Height 0
[23:19:51] [PASSED] ABGR8888 Out of bound height * pitch combination
[23:19:51] [PASSED] ABGR8888 Large buffer offset
[23:19:51] [PASSED] ABGR8888 Buffer offset for inexistent plane
[23:19:51] [PASSED] ABGR8888 Invalid flag
[23:19:51] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[23:19:51] [PASSED] ABGR8888 Valid buffer modifier
[23:19:51] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[23:19:51] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] NV12 Normal sizes
[23:19:51] [PASSED] NV12 Max sizes
[23:19:51] [PASSED] NV12 Invalid pitch
[23:19:51] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[23:19:51] [PASSED] NV12 different modifier per-plane
[23:19:51] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[23:19:51] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] NV12 Modifier for inexistent plane
[23:19:51] [PASSED] NV12 Handle for inexistent plane
[23:19:51] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[23:19:51] [PASSED] YVU420 Normal sizes
[23:19:51] [PASSED] YVU420 Max sizes
[23:19:51] [PASSED] YVU420 Invalid pitch
[23:19:51] [PASSED] YVU420 Different pitches
[23:19:51] [PASSED] YVU420 Different buffer offsets/pitches
[23:19:51] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[23:19:51] [PASSED] YVU420 Valid modifier
[23:19:51] [PASSED] YVU420 Different modifiers per plane
[23:19:51] [PASSED] YVU420 Modifier for inexistent plane
[23:19:51] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[23:19:51] [PASSED] X0L2 Normal sizes
[23:19:51] [PASSED] X0L2 Max sizes
[23:19:51] [PASSED] X0L2 Invalid pitch
[23:19:51] [PASSED] X0L2 Pitch greater than minimum required
[23:19:51] [PASSED] X0L2 Handle for inexistent plane
[23:19:51] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[23:19:51] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[23:19:51] [PASSED] X0L2 Valid modifier
[23:19:51] [PASSED] X0L2 Modifier for inexistent plane
[23:19:51] =========== [PASSED] drm_test_framebuffer_create ===========
[23:19:51] [PASSED] drm_test_framebuffer_free
[23:19:51] [PASSED] drm_test_framebuffer_init
[23:19:51] [PASSED] drm_test_framebuffer_init_bad_format
[23:19:51] [PASSED] drm_test_framebuffer_init_dev_mismatch
[23:19:51] [PASSED] drm_test_framebuffer_lookup
[23:19:51] [PASSED] drm_test_framebuffer_lookup_inexistent
[23:19:51] [PASSED] drm_test_framebuffer_modifiers_not_supported
[23:19:51] ================= [PASSED] drm_framebuffer =================
[23:19:51] ================ drm_gem_shmem (8 subtests) ================
[23:19:51] [PASSED] drm_gem_shmem_test_obj_create
[23:19:51] [PASSED] drm_gem_shmem_test_obj_create_private
[23:19:51] [PASSED] drm_gem_shmem_test_pin_pages
[23:19:51] [PASSED] drm_gem_shmem_test_vmap
[23:19:52] [PASSED] drm_gem_shmem_test_get_pages_sgt
[23:19:52] [PASSED] drm_gem_shmem_test_get_sg_table
[23:19:52] [PASSED] drm_gem_shmem_test_madvise
[23:19:52] [PASSED] drm_gem_shmem_test_purge
[23:19:52] ================== [PASSED] drm_gem_shmem ==================
[23:19:52] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[23:19:52] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[23:19:52] [PASSED] Automatic
[23:19:52] [PASSED] Full
[23:19:52] [PASSED] Limited 16:235
[23:19:52] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[23:19:52] [PASSED] drm_test_check_disable_connector
[23:19:52] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[23:19:52] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[23:19:52] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[23:19:52] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[23:19:52] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[23:19:52] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[23:19:52] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[23:19:52] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[23:19:52] [PASSED] drm_test_check_output_bpc_dvi
[23:19:52] [PASSED] drm_test_check_output_bpc_format_vic_1
[23:19:52] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[23:19:52] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[23:19:52] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[23:19:52] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[23:19:52] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[23:19:52] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[23:19:52] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[23:19:52] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[23:19:52] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[23:19:52] [PASSED] drm_test_check_broadcast_rgb_value
[23:19:52] [PASSED] drm_test_check_bpc_8_value
[23:19:52] [PASSED] drm_test_check_bpc_10_value
[23:19:52] [PASSED] drm_test_check_bpc_12_value
[23:19:52] [PASSED] drm_test_check_format_value
[23:19:52] [PASSED] drm_test_check_tmds_char_value
[23:19:52] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[23:19:52] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[23:19:52] [PASSED] drm_test_check_mode_valid
[23:19:52] [PASSED] drm_test_check_mode_valid_reject
[23:19:52] [PASSED] drm_test_check_mode_valid_reject_rate
[23:19:52] [PASSED] drm_test_check_mode_valid_reject_max_clock
[23:19:52] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[23:19:52] ================= drm_managed (2 subtests) =================
[23:19:52] [PASSED] drm_test_managed_release_action
[23:19:52] [PASSED] drm_test_managed_run_action
[23:19:52] =================== [PASSED] drm_managed ===================
[23:19:52] =================== drm_mm (6 subtests) ====================
[23:19:52] [PASSED] drm_test_mm_init
[23:19:52] [PASSED] drm_test_mm_debug
[23:19:52] [PASSED] drm_test_mm_align32
[23:19:52] [PASSED] drm_test_mm_align64
[23:19:52] [PASSED] drm_test_mm_lowest
[23:19:52] [PASSED] drm_test_mm_highest
[23:19:52] ===================== [PASSED] drm_mm ======================
[23:19:52] ============= drm_modes_analog_tv (5 subtests) =============
[23:19:52] [PASSED] drm_test_modes_analog_tv_mono_576i
[23:19:52] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[23:19:52] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[23:19:52] [PASSED] drm_test_modes_analog_tv_pal_576i
[23:19:52] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[23:19:52] =============== [PASSED] drm_modes_analog_tv ===============
[23:19:52] ============== drm_plane_helper (2 subtests) ===============
[23:19:52] =============== drm_test_check_plane_state ================
[23:19:52] [PASSED] clipping_simple
[23:19:52] [PASSED] clipping_rotate_reflect
[23:19:52] [PASSED] positioning_simple
[23:19:52] [PASSED] upscaling
[23:19:52] [PASSED] downscaling
[23:19:52] [PASSED] rounding1
[23:19:52] [PASSED] rounding2
[23:19:52] [PASSED] rounding3
[23:19:52] [PASSED] rounding4
[23:19:52] =========== [PASSED] drm_test_check_plane_state ============
[23:19:52] =========== drm_test_check_invalid_plane_state ============
[23:19:52] [PASSED] positioning_invalid
[23:19:52] [PASSED] upscaling_invalid
[23:19:52] [PASSED] downscaling_invalid
[23:19:52] ======= [PASSED] drm_test_check_invalid_plane_state ========
[23:19:52] ================ [PASSED] drm_plane_helper =================
[23:19:52] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[23:19:52] ====== drm_test_connector_helper_tv_get_modes_check =======
[23:19:52] [PASSED] None
[23:19:52] [PASSED] PAL
[23:19:52] [PASSED] NTSC
[23:19:52] [PASSED] Both, NTSC Default
[23:19:52] [PASSED] Both, PAL Default
[23:19:52] [PASSED] Both, NTSC Default, with PAL on command-line
[23:19:52] [PASSED] Both, PAL Default, with NTSC on command-line
[23:19:52] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[23:19:52] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[23:19:52] ================== drm_rect (9 subtests) ===================
[23:19:52] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[23:19:52] [PASSED] drm_test_rect_clip_scaled_not_clipped
[23:19:52] [PASSED] drm_test_rect_clip_scaled_clipped
[23:19:52] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[23:19:52] ================= drm_test_rect_intersect =================
[23:19:52] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[23:19:52] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[23:19:52] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[23:19:52] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[23:19:52] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[23:19:52] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[23:19:52] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[23:19:52] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[23:19:52] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[23:19:52] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[23:19:52] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[23:19:52] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[23:19:52] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[23:19:52] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[23:19:52] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[23:19:52] ============= [PASSED] drm_test_rect_intersect =============
[23:19:52] ================ drm_test_rect_calc_hscale ================
[23:19:52] [PASSED] normal use
[23:19:52] [PASSED] out of max range
[23:19:52] [PASSED] out of min range
[23:19:52] [PASSED] zero dst
[23:19:52] [PASSED] negative src
[23:19:52] [PASSED] negative dst
[23:19:52] ============ [PASSED] drm_test_rect_calc_hscale ============
[23:19:52] ================ drm_test_rect_calc_vscale ================
[23:19:52] [PASSED] normal use
[23:19:52] [PASSED] out of max range
[23:19:52] [PASSED] out of min range
[23:19:52] [PASSED] zero dst
[23:19:52] [PASSED] negative src
[23:19:52] [PASSED] negative dst
[23:19:52] ============ [PASSED] drm_test_rect_calc_vscale ============
[23:19:52] ================== drm_test_rect_rotate ===================
[23:19:52] [PASSED] reflect-x
[23:19:52] [PASSED] reflect-y
[23:19:52] [PASSED] rotate-0
[23:19:52] [PASSED] rotate-90
[23:19:52] [PASSED] rotate-180
[23:19:52] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[23:19:52] ============== [PASSED] drm_test_rect_rotate ===============
[23:19:52] ================ drm_test_rect_rotate_inv =================
[23:19:52] [PASSED] reflect-x
[23:19:52] [PASSED] reflect-y
[23:19:52] [PASSED] rotate-0
[23:19:52] [PASSED] rotate-90
[23:19:52] [PASSED] rotate-180
[23:19:52] [PASSED] rotate-270
[23:19:52] ============ [PASSED] drm_test_rect_rotate_inv =============
[23:19:52] ==================== [PASSED] drm_rect =====================
[23:19:52] ============ drm_sysfb_modeset_test (1 subtest) ============
[23:19:52] ============ drm_test_sysfb_build_fourcc_list =============
[23:19:52] [PASSED] no native formats
[23:19:52] [PASSED] XRGB8888 as native format
[23:19:52] [PASSED] remove duplicates
[23:19:52] [PASSED] convert alpha formats
[23:19:52] [PASSED] random formats
[23:19:52] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[23:19:52] ============= [PASSED] drm_sysfb_modeset_test ==============
[23:19:52] ============================================================
[23:19:52] Testing complete. Ran 616 tests: passed: 616
[23:19:52] Elapsed time: 29.314s total, 1.741s configuring, 27.407s building, 0.144s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[23:19:52] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:19:53] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[23:20:01] Starting KUnit Kernel (1/1)...
[23:20:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:20:01] ================= ttm_device (5 subtests) ==================
[23:20:01] [PASSED] ttm_device_init_basic
[23:20:01] [PASSED] ttm_device_init_multiple
[23:20:01] [PASSED] ttm_device_fini_basic
[23:20:01] [PASSED] ttm_device_init_no_vma_man
[23:20:01] ================== ttm_device_init_pools ==================
[23:20:01] [PASSED] No DMA allocations, no DMA32 required
[23:20:01] [PASSED] DMA allocations, DMA32 required
[23:20:01] [PASSED] No DMA allocations, DMA32 required
[23:20:01] [PASSED] DMA allocations, no DMA32 required
[23:20:01] ============== [PASSED] ttm_device_init_pools ==============
[23:20:01] =================== [PASSED] ttm_device ====================
[23:20:01] ================== ttm_pool (8 subtests) ===================
[23:20:01] ================== ttm_pool_alloc_basic ===================
[23:20:01] [PASSED] One page
[23:20:01] [PASSED] More than one page
[23:20:01] [PASSED] Above the allocation limit
[23:20:01] [PASSED] One page, with coherent DMA mappings enabled
[23:20:01] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:20:01] ============== [PASSED] ttm_pool_alloc_basic ===============
[23:20:01] ============== ttm_pool_alloc_basic_dma_addr ==============
[23:20:01] [PASSED] One page
[23:20:01] [PASSED] More than one page
[23:20:01] [PASSED] Above the allocation limit
[23:20:01] [PASSED] One page, with coherent DMA mappings enabled
[23:20:01] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:20:01] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[23:20:01] [PASSED] ttm_pool_alloc_order_caching_match
[23:20:01] [PASSED] ttm_pool_alloc_caching_mismatch
[23:20:01] [PASSED] ttm_pool_alloc_order_mismatch
[23:20:01] [PASSED] ttm_pool_free_dma_alloc
[23:20:01] [PASSED] ttm_pool_free_no_dma_alloc
[23:20:01] [PASSED] ttm_pool_fini_basic
[23:20:01] ==================== [PASSED] ttm_pool =====================
[23:20:01] ================ ttm_resource (8 subtests) =================
[23:20:01] ================= ttm_resource_init_basic =================
[23:20:01] [PASSED] Init resource in TTM_PL_SYSTEM
[23:20:01] [PASSED] Init resource in TTM_PL_VRAM
[23:20:01] [PASSED] Init resource in a private placement
[23:20:01] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[23:20:01] ============= [PASSED] ttm_resource_init_basic =============
[23:20:01] [PASSED] ttm_resource_init_pinned
[23:20:01] [PASSED] ttm_resource_fini_basic
[23:20:01] [PASSED] ttm_resource_manager_init_basic
[23:20:01] [PASSED] ttm_resource_manager_usage_basic
[23:20:01] [PASSED] ttm_resource_manager_set_used_basic
[23:20:01] [PASSED] ttm_sys_man_alloc_basic
[23:20:01] [PASSED] ttm_sys_man_free_basic
[23:20:01] ================== [PASSED] ttm_resource ===================
[23:20:01] =================== ttm_tt (15 subtests) ===================
[23:20:01] ==================== ttm_tt_init_basic ====================
[23:20:01] [PASSED] Page-aligned size
[23:20:01] [PASSED] Extra pages requested
[23:20:01] ================ [PASSED] ttm_tt_init_basic ================
[23:20:01] [PASSED] ttm_tt_init_misaligned
[23:20:01] [PASSED] ttm_tt_fini_basic
[23:20:01] [PASSED] ttm_tt_fini_sg
[23:20:01] [PASSED] ttm_tt_fini_shmem
[23:20:01] [PASSED] ttm_tt_create_basic
[23:20:01] [PASSED] ttm_tt_create_invalid_bo_type
[23:20:01] [PASSED] ttm_tt_create_ttm_exists
[23:20:01] [PASSED] ttm_tt_create_failed
[23:20:01] [PASSED] ttm_tt_destroy_basic
[23:20:01] [PASSED] ttm_tt_populate_null_ttm
[23:20:01] [PASSED] ttm_tt_populate_populated_ttm
[23:20:01] [PASSED] ttm_tt_unpopulate_basic
[23:20:01] [PASSED] ttm_tt_unpopulate_empty_ttm
[23:20:01] [PASSED] ttm_tt_swapin_basic
[23:20:01] ===================== [PASSED] ttm_tt ======================
[23:20:01] =================== ttm_bo (14 subtests) ===================
[23:20:01] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[23:20:01] [PASSED] Cannot be interrupted and sleeps
[23:20:01] [PASSED] Cannot be interrupted, locks straight away
[23:20:01] [PASSED] Can be interrupted, sleeps
[23:20:01] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[23:20:01] [PASSED] ttm_bo_reserve_locked_no_sleep
[23:20:01] [PASSED] ttm_bo_reserve_no_wait_ticket
[23:20:01] [PASSED] ttm_bo_reserve_double_resv
[23:20:01] [PASSED] ttm_bo_reserve_interrupted
[23:20:01] [PASSED] ttm_bo_reserve_deadlock
[23:20:01] [PASSED] ttm_bo_unreserve_basic
[23:20:01] [PASSED] ttm_bo_unreserve_pinned
[23:20:01] [PASSED] ttm_bo_unreserve_bulk
[23:20:01] [PASSED] ttm_bo_put_basic
[23:20:01] [PASSED] ttm_bo_put_shared_resv
[23:20:01] [PASSED] ttm_bo_pin_basic
[23:20:01] [PASSED] ttm_bo_pin_unpin_resource
[23:20:01] [PASSED] ttm_bo_multiple_pin_one_unpin
[23:20:01] ===================== [PASSED] ttm_bo ======================
[23:20:01] ============== ttm_bo_validate (21 subtests) ===============
[23:20:01] ============== ttm_bo_init_reserved_sys_man ===============
[23:20:01] [PASSED] Buffer object for userspace
[23:20:01] [PASSED] Kernel buffer object
[23:20:01] [PASSED] Shared buffer object
[23:20:01] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[23:20:01] ============== ttm_bo_init_reserved_mock_man ==============
[23:20:01] [PASSED] Buffer object for userspace
[23:20:01] [PASSED] Kernel buffer object
[23:20:01] [PASSED] Shared buffer object
[23:20:01] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[23:20:01] [PASSED] ttm_bo_init_reserved_resv
[23:20:01] ================== ttm_bo_validate_basic ==================
[23:20:01] [PASSED] Buffer object for userspace
[23:20:01] [PASSED] Kernel buffer object
[23:20:01] [PASSED] Shared buffer object
[23:20:01] ============== [PASSED] ttm_bo_validate_basic ==============
[23:20:01] [PASSED] ttm_bo_validate_invalid_placement
[23:20:01] ============= ttm_bo_validate_same_placement ==============
[23:20:01] [PASSED] System manager
[23:20:01] [PASSED] VRAM manager
[23:20:01] ========= [PASSED] ttm_bo_validate_same_placement ==========
[23:20:01] [PASSED] ttm_bo_validate_failed_alloc
[23:20:01] [PASSED] ttm_bo_validate_pinned
[23:20:01] [PASSED] ttm_bo_validate_busy_placement
[23:20:01] ================ ttm_bo_validate_multihop =================
[23:20:01] [PASSED] Buffer object for userspace
[23:20:01] [PASSED] Kernel buffer object
[23:20:01] [PASSED] Shared buffer object
[23:20:01] ============ [PASSED] ttm_bo_validate_multihop =============
[23:20:01] ========== ttm_bo_validate_no_placement_signaled ==========
[23:20:01] [PASSED] Buffer object in system domain, no page vector
[23:20:01] [PASSED] Buffer object in system domain with an existing page vector
[23:20:01] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[23:20:01] ======== ttm_bo_validate_no_placement_not_signaled ========
[23:20:01] [PASSED] Buffer object for userspace
[23:20:01] [PASSED] Kernel buffer object
[23:20:01] [PASSED] Shared buffer object
[23:20:01] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[23:20:01] [PASSED] ttm_bo_validate_move_fence_signaled
[23:20:01] ========= ttm_bo_validate_move_fence_not_signaled =========
[23:20:01] [PASSED] Waits for GPU
[23:20:01] [PASSED] Tries to lock straight away
[23:20:01] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[23:20:01] [PASSED] ttm_bo_validate_happy_evict
[23:20:01] [PASSED] ttm_bo_validate_all_pinned_evict
[23:20:01] [PASSED] ttm_bo_validate_allowed_only_evict
[23:20:01] [PASSED] ttm_bo_validate_deleted_evict
[23:20:01] [PASSED] ttm_bo_validate_busy_domain_evict
[23:20:01] [PASSED] ttm_bo_validate_evict_gutting
[23:20:01] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[23:20:01] ================= [PASSED] ttm_bo_validate =================
[23:20:01] ============================================================
[23:20:01] Testing complete. Ran 101 tests: passed: 101
[23:20:01] Elapsed time: 9.723s total, 1.637s configuring, 7.820s building, 0.226s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Xe.CI.BAT: success for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (6 preceding siblings ...)
2025-09-03 23:19 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-04 0:04 ` Patchwork
2025-09-04 8:56 ` ✗ Xe.CI.Full: failure " Patchwork
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-09-04 0:04 UTC (permalink / raw)
To: Vivek Kasireddy; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 2112 bytes --]
== Series Details ==
Series: drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
URL : https://patchwork.freedesktop.org/series/139920/
State : success
== Summary ==
CI Bug Log - changes from xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7_BAT -> xe-pw-139920v3_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-139920v3_BAT that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@kms_flip@basic-plain-flip@c-edp1:
- bat-adlp-7: [DMESG-WARN][1] ([Intel XE#4543]) -> [PASS][2] +1 other test pass
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/bat-adlp-7/igt@kms_flip@basic-plain-flip@c-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/bat-adlp-7/igt@kms_flip@basic-plain-flip@c-edp1.html
* igt@xe_vm@bind-execqueues-independent:
- {bat-ptl-vm}: [FAIL][3] ([Intel XE#5783]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/bat-ptl-vm/igt@xe_vm@bind-execqueues-independent.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/bat-ptl-vm/igt@xe_vm@bind-execqueues-independent.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#5783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5783
Build changes
-------------
* Linux: xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7 -> xe-pw-139920v3
IGT_8521: 8521
xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7: 2b95afd5f659a01a6fc8195358e62077846b97e7
xe-pw-139920v3: 139920v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/index.html
[-- Attachment #2: Type: text/html, Size: 2726 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✗ Xe.CI.Full: failure for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
` (7 preceding siblings ...)
2025-09-04 0:04 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-09-04 8:56 ` Patchwork
8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-09-04 8:56 UTC (permalink / raw)
To: Vivek Kasireddy; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 45614 bytes --]
== Series Details ==
Series: drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3)
URL : https://patchwork.freedesktop.org/series/139920/
State : failure
== Summary ==
CI Bug Log - changes from xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7_FULL -> xe-pw-139920v3_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-139920v3_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-139920v3_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-139920v3_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_async_flips@invalid-async-flip-atomic:
- shard-dg2-set2: [PASS][1] -> [SKIP][2] +10 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_async_flips@invalid-async-flip-atomic.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_async_flips@invalid-async-flip-atomic.html
* igt@xe_exec_balancer@many-cm-parallel-userptr:
- shard-bmg: [PASS][3] -> [TIMEOUT][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-8/igt@xe_exec_balancer@many-cm-parallel-userptr.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@xe_exec_balancer@many-cm-parallel-userptr.html
* igt@xe_exec_compute_mode@many-execqueues-userptr-invalidate:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][5]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@xe_exec_compute_mode@many-execqueues-userptr-invalidate.html
#### Warnings ####
* igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
- shard-dg2-set2: [SKIP][6] ([Intel XE#2191]) -> [SKIP][7]
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
* igt@kms_chamelium_color@ctm-max:
- shard-dg2-set2: [SKIP][8] ([Intel XE#306]) -> [SKIP][9]
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_chamelium_color@ctm-max.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
- shard-dg2-set2: [SKIP][10] ([Intel XE#373]) -> [SKIP][11] +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html
* igt@kms_feature_discovery@psr1:
- shard-dg2-set2: [SKIP][12] ([Intel XE#1135]) -> [SKIP][13]
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_feature_discovery@psr1.html
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_feature_discovery@psr1.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-dg2-set2: [SKIP][14] ([Intel XE#455]) -> [SKIP][15]
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-dg2-set2: [SKIP][16] ([Intel XE#2927]) -> [SKIP][17]
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_joiner@basic-ultra-joiner.html
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-dg2-set2: [SKIP][18] ([Intel XE#870]) -> [SKIP][19]
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_pm_backlight@fade-with-suspend.html
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_pm_backlight@fade-with-suspend.html
New tests
---------
New tests have been introduced between xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7_FULL and xe-pw-139920v3_FULL:
### New IGT tests (1) ###
* igt@kms_cursor_crc@cursor-offscreen-256x256@pipe-a-hdmi-a-2:
- Statuses : 1 pass(s)
- Exec time: [2.76] s
Known issues
------------
Here are the changes found in xe-pw-139920v3_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@eof:
- shard-dg2-set2: [PASS][20] -> [SKIP][21] ([Intel XE#2134])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@fbdev@eof.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@fbdev@eof.html
* igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
- shard-dg2-set2: NOTRUN -> [SKIP][22] ([Intel XE#623])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][23] ([Intel XE#1407])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-8/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-0:
- shard-dg2-set2: [PASS][24] -> [SKIP][25] ([Intel XE#829]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#1124]) +2 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#1467])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-8/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][28] ([Intel XE#455] / [Intel XE#787]) +19 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs@pipe-d-dp-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-b-dp-2:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-b-dp-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
- shard-dg2-set2: NOTRUN -> [SKIP][30] ([Intel XE#787]) +125 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][31] ([Intel XE#1727] / [Intel XE#3113])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4:
- shard-dg2-set2: [PASS][32] -> [INCOMPLETE][33] ([Intel XE#3124] / [Intel XE#6014])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6:
- shard-dg2-set2: [PASS][34] -> [DMESG-WARN][35] ([Intel XE#1727] / [Intel XE#3113])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-6.html
* igt@kms_cdclk@mode-transition@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][36] ([Intel XE#4417]) +3 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-464/igt@kms_cdclk@mode-transition@pipe-d-dp-4.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#4416]) +3 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_cdclk@plane-scaling@pipe-b-dp-2.html
* igt@kms_chamelium_hpd@dp-hpd-after-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#373])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][39] ([Intel XE#1178])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@legacy@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [FAIL][40] ([Intel XE#1178]) +2 other tests fail
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_content_protection@legacy@pipe-a-dp-2.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-bmg: [PASS][41] -> [SKIP][42] ([Intel XE#2291]) +4 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#323])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [PASS][44] -> [SKIP][45] ([Intel XE#1340])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#455]) +6 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_feature_discovery@psr2:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#1135])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [PASS][48] -> [SKIP][49] ([Intel XE#2316]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_flip@2x-plain-flip-fb-recreate.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-rmfb-interruptible:
- shard-adlp: [PASS][50] -> [DMESG-WARN][51] ([Intel XE#4543] / [Intel XE#5208])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible.html
* igt@kms_flip@flip-vs-rmfb-interruptible@c-hdmi-a1:
- shard-adlp: [PASS][52] -> [DMESG-WARN][53] ([Intel XE#4543])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible@c-hdmi-a1.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible@c-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#1401] / [Intel XE#1745])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#1401])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@fbc-tiling-linear:
- shard-dg2-set2: [PASS][56] -> [SKIP][57] ([Intel XE#783]) +2 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_frontbuffer_tracking@fbc-tiling-linear.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_frontbuffer_tracking@fbc-tiling-linear.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render:
- shard-dg2-set2: NOTRUN -> [SKIP][58] ([Intel XE#651]) +4 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#653]) +5 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_hdr@static-swap:
- shard-bmg: [PASS][60] -> [SKIP][61] ([Intel XE#1503]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_hdr@static-swap.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_hdr@static-swap.html
* igt@kms_plane@pixel-format-source-clamping:
- shard-dg2-set2: [PASS][62] -> [INCOMPLETE][63] ([Intel XE#1035]) +1 other test incomplete
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-464/igt@kms_plane@pixel-format-source-clamping.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-464/igt@kms_plane@pixel-format-source-clamping.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-adlp: [PASS][64] -> [DMESG-WARN][65] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-8/igt@kms_plane@plane-panning-bottom-right-suspend.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-4/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256:
- shard-dg2-set2: NOTRUN -> [FAIL][66] ([Intel XE#616]) +2 other tests fail
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-463/igt@kms_plane_cursor@primary@pipe-a-hdmi-a-6-size-256.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-bmg: [PASS][67] -> [SKIP][68] ([Intel XE#2571])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
- shard-dg2-set2: NOTRUN -> [SKIP][69] ([Intel XE#1406] / [Intel XE#1489]) +3 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-434/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr@fbc-psr2-no-drrs:
- shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +5 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-434/igt@kms_psr@fbc-psr2-no-drrs.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-dg2-set2: NOTRUN -> [SKIP][71] ([Intel XE#3414])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_rotation_crc@primary-rotation-270.html
* igt@xe_copy_basic@mem-set-linear-0x369:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#1126])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@xe_copy_basic@mem-set-linear-0x369.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-dg2-set2: [PASS][73] -> [SKIP][74] ([Intel XE#1392]) +5 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-436/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_fault_mode@twice-bindexecqueue-rebind-prefetch:
- shard-dg2-set2: NOTRUN -> [SKIP][75] ([Intel XE#288]) +2 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@xe_exec_fault_mode@twice-bindexecqueue-rebind-prefetch.html
* igt@xe_exec_sip_eudebug@wait-writesip-nodebug:
- shard-dg2-set2: NOTRUN -> [SKIP][76] ([Intel XE#4837]) +2 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@xe_exec_sip_eudebug@wait-writesip-nodebug.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-mmap-new-race-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][77] ([Intel XE#4915]) +52 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-mmap-new-race-nomemset.html
* igt@xe_module_load@reload-no-display:
- shard-dg2-set2: [PASS][78] -> [FAIL][79] ([Intel XE#4208])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@xe_module_load@reload-no-display.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@xe_module_load@reload-no-display.html
* igt@xe_pm@d3cold-basic:
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#2284] / [Intel XE#366])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-434/igt@xe_pm@d3cold-basic.html
* igt@xe_pmu@gt-frequency:
- shard-dg2-set2: [PASS][81] -> [FAIL][82] ([Intel XE#5841]) +1 other test fail
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-436/igt@xe_pmu@gt-frequency.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@xe_pmu@gt-frequency.html
* igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][83] ([Intel XE#4733]) +1 other test skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html
#### Possible fixes ####
* {igt@kms_async_flips@async-flip-dpms@pipe-a-hdmi-a-1}:
- shard-adlp: [DMESG-WARN][84] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][85] +6 other tests pass
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-3/igt@kms_async_flips@async-flip-dpms@pipe-a-hdmi-a-1.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-8/igt@kms_async_flips@async-flip-dpms@pipe-a-hdmi-a-1.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-adlp: [DMESG-FAIL][86] ([Intel XE#4543]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2:
- shard-bmg: [FAIL][88] ([Intel XE#5376]) -> [PASS][89] +1 other test pass
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs@pipe-a-dp-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][90] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124] / [Intel XE#4345]) -> [PASS][91]
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [INCOMPLETE][92] ([Intel XE#3124]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [DMESG-WARN][94] ([Intel XE#1727] / [Intel XE#3113]) -> [PASS][95]
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:
- shard-bmg: [DMESG-WARN][96] ([Intel XE#5354]) -> [PASS][97]
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-5/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [SKIP][98] ([Intel XE#2291]) -> [PASS][99] +1 other test pass
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-bmg: [SKIP][100] ([Intel XE#2316]) -> [PASS][101] +3 other tests pass
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@flip-vs-dpms-on-nop-interruptible:
- shard-adlp: [DMESG-WARN][102] ([Intel XE#4543]) -> [PASS][103] +3 other tests pass
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-2/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-9/igt@kms_flip@flip-vs-dpms-on-nop-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-lnl: [FAIL][104] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][105]
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [FAIL][106] ([Intel XE#301]) -> [PASS][107] +3 other tests pass
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp4:
- shard-dg2-set2: [FAIL][108] ([Intel XE#301]) -> [PASS][109]
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp4.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-434/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp4.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [SKIP][110] ([Intel XE#455]) -> [PASS][111]
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-434/igt@kms_hdr@invalid-hdr.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@static-toggle-suspend:
- shard-bmg: [SKIP][112] ([Intel XE#1503]) -> [PASS][113] +1 other test pass
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_hdr@static-toggle-suspend.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_hdr@static-toggle-suspend.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race:
- shard-dg2-set2: [SKIP][114] ([Intel XE#1392]) -> [PASS][115] +7 other tests pass
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-464/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exec_threads@threads-bal-fd-basic:
- shard-dg2-set2: [INCOMPLETE][116] -> [PASS][117]
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-436/igt@xe_exec_threads@threads-bal-fd-basic.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@xe_exec_threads@threads-bal-fd-basic.html
* igt@xe_exec_threads@threads-hang-rebind-err:
- shard-dg2-set2: [DMESG-WARN][118] ([Intel XE#3876]) -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-435/igt@xe_exec_threads@threads-hang-rebind-err.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-463/igt@xe_exec_threads@threads-hang-rebind-err.html
* igt@xe_pm@s2idle-d3hot-basic-exec:
- shard-adlp: [DMESG-WARN][120] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4504]) -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-adlp-2/igt@xe_pm@s2idle-d3hot-basic-exec.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-adlp-9/igt@xe_pm@s2idle-d3hot-basic-exec.html
* igt@xe_pm@s4-exec-after:
- shard-lnl: [DMESG-WARN][122] -> [PASS][123]
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-lnl-4/igt@xe_pm@s4-exec-after.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-lnl-1/igt@xe_pm@s4-exec-after.html
#### Warnings ####
* igt@kms_big_fb@4-tiled-16bpp-rotate-90:
- shard-dg2-set2: [SKIP][124] ([Intel XE#316]) -> [SKIP][125] ([Intel XE#829])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-dg2-set2: [SKIP][126] ([Intel XE#1124]) -> [SKIP][127] ([Intel XE#829]) +2 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs:
- shard-dg2-set2: [SKIP][128] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][129] ([Intel XE#829]) +2 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][130] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [INCOMPLETE][131] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [SKIP][132] ([Intel XE#2341]) -> [FAIL][133] ([Intel XE#1178])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@srm:
- shard-bmg: [FAIL][134] ([Intel XE#1178]) -> [SKIP][135] ([Intel XE#2341])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_content_protection@srm.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_content_protection@srm.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][136] ([Intel XE#2311]) -> [SKIP][137] ([Intel XE#2312]) +11 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][138] ([Intel XE#2312]) -> [SKIP][139] ([Intel XE#2311]) +9 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][140] ([Intel XE#2312]) -> [SKIP][141] ([Intel XE#5390]) +3 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen:
- shard-bmg: [SKIP][142] ([Intel XE#5390]) -> [SKIP][143] ([Intel XE#2312]) +2 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render:
- shard-dg2-set2: [SKIP][144] ([Intel XE#651]) -> [SKIP][145] ([Intel XE#783]) +4 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt:
- shard-bmg: [SKIP][146] ([Intel XE#2312]) -> [SKIP][147] ([Intel XE#2313]) +9 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: [SKIP][148] ([Intel XE#653]) -> [SKIP][149] ([Intel XE#783]) +4 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
- shard-bmg: [SKIP][150] ([Intel XE#2313]) -> [SKIP][151] ([Intel XE#2312]) +9 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][152] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][153] ([Intel XE#3544])
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
- shard-dg2-set2: [SKIP][154] ([Intel XE#1406] / [Intel XE#1489]) -> [SKIP][155] ([Intel XE#1406]) +1 other test skip
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html
* igt@kms_psr@psr-dpms:
- shard-dg2-set2: [SKIP][156] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) -> [SKIP][157] ([Intel XE#1406]) +3 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_psr@psr-dpms.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_psr@psr-dpms.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-dg2-set2: [SKIP][158] ([Intel XE#455]) -> [SKIP][159] ([Intel XE#578])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@kms_setmode@basic-clone-single-crtc.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][160] ([Intel XE#2426]) -> [SKIP][161] ([Intel XE#2509])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-bmg-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_pxp@display-black-pxp-fb:
- shard-dg2-set2: [SKIP][162] ([Intel XE#4733]) -> [SKIP][163] ([Intel XE#829])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7/shard-dg2-466/igt@xe_pxp@display-black-pxp-fb.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/shard-dg2-433/igt@xe_pxp@display-black-pxp-fb.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1035
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1467]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1467
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4208
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4416
[Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
[Intel XE#4504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4504
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
[Intel XE#5376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5376
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#578]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/578
[Intel XE#5841]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5841
[Intel XE#6014]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6014
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/783
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#829]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/829
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
Build changes
-------------
* Linux: xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7 -> xe-pw-139920v3
IGT_8521: 8521
xe-3673-2b95afd5f659a01a6fc8195358e62077846b97e7: 2b95afd5f659a01a6fc8195358e62077846b97e7
xe-pw-139920v3: 139920v3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139920v3/index.html
[-- Attachment #2: Type: text/html, Size: 53774 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
2025-09-03 22:30 ` [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
@ 2025-09-04 15:15 ` Logan Gunthorpe
2025-09-05 4:42 ` Kasireddy, Vivek
0 siblings, 1 reply; 15+ messages in thread
From: Logan Gunthorpe @ 2025-09-04 15:15 UTC (permalink / raw)
To: Vivek Kasireddy, dri-devel, intel-xe; +Cc: Bjorn Helgaas, linux-pci
On 2025-09-03 16:30, Vivek Kasireddy wrote:
> diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
> index da5657a02007..9484991c4765 100644
> --- a/drivers/pci/p2pdma.c
> +++ b/drivers/pci/p2pdma.c
> @@ -544,6 +544,18 @@ static unsigned long map_types_idx(struct pci_dev *client)
> return (pci_domain_nr(client->bus) << 16) | pci_dev_id(client);
> }
>
> +static bool pci_devfns_support_p2pdma(struct pci_dev *provider,
> + struct pci_dev *client)
> +{
> + if (provider->vendor == PCI_VENDOR_ID_INTEL) {
> + if ((pci_is_vga(provider) && pci_is_vga(client)) ||
> + (pci_is_display(provider) && pci_is_display(client)))
> + return pci_physfn(provider) == pci_physfn(client);
> + }
Do we not also need to check that the client has a vendor of
PCI_VENDOR_ID_INTEL?
> @@ -705,7 +717,9 @@ int pci_p2pdma_distance_many(struct pci_dev *provider, struct device **clients,
> return -1;
>
> for (i = 0; i < num_clients; i++) {
> - pci_client = find_parent_pci_dev(clients[i]);
> + pci_client = dev_is_pf(clients[i]) ?
> + pci_dev_get(to_pci_dev(clients[i])) :
> + find_parent_pci_dev(clients[i]);
I don't understand this hunk. Why would this need special handling if
dev_is_pf()?. find_parent_pci_dev() looks like it will do the same thing
just look at the parents if it is not a PCI devices.
Logan
^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
2025-09-04 15:15 ` Logan Gunthorpe
@ 2025-09-05 4:42 ` Kasireddy, Vivek
0 siblings, 0 replies; 15+ messages in thread
From: Kasireddy, Vivek @ 2025-09-05 4:42 UTC (permalink / raw)
To: Logan Gunthorpe, dri-devel@lists.freedesktop.org,
intel-xe@lists.freedesktop.org
Cc: Bjorn Helgaas, linux-pci@vger.kernel.org
Hi Logan,
> Subject: Re: [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device
> functions of Intel GPUs
>
>
>
> On 2025-09-03 16:30, Vivek Kasireddy wrote:
> > diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
> > index da5657a02007..9484991c4765 100644
> > --- a/drivers/pci/p2pdma.c
> > +++ b/drivers/pci/p2pdma.c
> > @@ -544,6 +544,18 @@ static unsigned long map_types_idx(struct pci_dev
> *client)
> > return (pci_domain_nr(client->bus) << 16) | pci_dev_id(client);
> > }
> >
> > +static bool pci_devfns_support_p2pdma(struct pci_dev *provider,
> > + struct pci_dev *client)
> > +{
> > + if (provider->vendor == PCI_VENDOR_ID_INTEL) {
> > + if ((pci_is_vga(provider) && pci_is_vga(client)) ||
> > + (pci_is_display(provider) && pci_is_display(client)))
> > + return pci_physfn(provider) == pci_physfn(client);
> > + }
>
> Do we not also need to check that the client has a vendor of
> PCI_VENDOR_ID_INTEL?
Yes, I missed that. Will add it in the next version.
>
> > @@ -705,7 +717,9 @@ int pci_p2pdma_distance_many(struct pci_dev
> *provider, struct device **clients,
> > return -1;
> >
> > for (i = 0; i < num_clients; i++) {
> > - pci_client = find_parent_pci_dev(clients[i]);
> > + pci_client = dev_is_pf(clients[i]) ?
> > + pci_dev_get(to_pci_dev(clients[i])) :
> > + find_parent_pci_dev(clients[i]);
>
> I don't understand this hunk. Why would this need special handling if
> dev_is_pf()?. find_parent_pci_dev() looks like it will do the same thing
> just look at the parents if it is not a PCI devices.
Right, this hunk is not needed. Its a leftover from an earlier experimental
version that I'll drop in the next iteration.
Thanks,
Vivek
>
> Logan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs
2025-09-03 22:30 ` [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs Vivek Kasireddy
@ 2025-09-16 20:25 ` Thomas Hellström
2025-09-17 2:45 ` Matthew Brost
0 siblings, 1 reply; 15+ messages in thread
From: Thomas Hellström @ 2025-09-16 20:25 UTC (permalink / raw)
To: Vivek Kasireddy, dri-devel, intel-xe; +Cc: Matthew Brost
On Wed, 2025-09-03 at 15:30 -0700, Vivek Kasireddy wrote:
> For BOs of type ttm_bo_type_sg, that are backed by PCI BAR addresses
> associated with a VF, we need to adjust and translate these addresses
> to LMEM addresses to make the BOs usable by the PF. Otherwise, the
> BOs (i.e, PCI BAR addresses) are only accessible by the CPU and not
> by the GPU.
>
> In order to do the above, we first need to identify if the addresses
> associated with an imported BO (type ttm_bo_type_sg) belong to System
> RAM or a VF or other PCI devices. After we confirm that they belong
> to
> a VF, we convert the BAR addresses to DPAs and create a new dma_addr
> array (of type drm_pagemap_dma_addr) and populate it with the new
> addresses along with the segment sizes.
>
> v2:
> - Use dma_addr array instead of sg table to store translated
> addresses
> (Matt)
>
> v3:
> - Remove the usage of iommu_iova_to_phys() as the imported BO would
> no
> longer contain IOVAs and would instead have BAR addresses.
>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
> ---
> drivers/gpu/drm/xe/xe_bo.c | 98
> +++++++++++++++++++++++++++++++-
> drivers/gpu/drm/xe/xe_bo_types.h | 12 ++++
> 2 files changed, 109 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 4faf15d5fa6d..6987bffb7aa7 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -21,11 +21,13 @@
>
> #include <trace/events/gpu_mem.h>
>
> +#include "regs/xe_bars.h"
> #include "xe_device.h"
> #include "xe_dma_buf.h"
> #include "xe_drm_client.h"
> #include "xe_ggtt.h"
> #include "xe_gt.h"
> +#include "xe_gt_sriov_pf_config.h"
> #include "xe_map.h"
> #include "xe_migrate.h"
> #include "xe_pm.h"
> @@ -33,6 +35,7 @@
> #include "xe_pxp.h"
> #include "xe_res_cursor.h"
> #include "xe_shrinker.h"
> +#include "xe_sriov_pf_helpers.h"
> #include "xe_sriov_vf_ccs.h"
> #include "xe_trace_bo.h"
> #include "xe_ttm_stolen_mgr.h"
> @@ -677,6 +680,88 @@ static int xe_bo_trigger_rebind(struct xe_device
> *xe, struct xe_bo *bo,
> return ret;
> }
>
> +static struct pci_dev *xe_find_vf_dev(struct xe_device *xe,
> + phys_addr_t phys)
> +{
> + struct pci_dev *pdev, *pf_pdev = to_pci_dev(xe->drm.dev);
> + resource_size_t io_start, io_size;
> +
> + list_for_each_entry(pdev, &pf_pdev->bus->devices, bus_list)
> {
> + if (pdev->is_physfn)
> + continue;
> +
> + io_start = pci_resource_start(pdev, LMEM_BAR);
> + io_size = pci_resource_len(pdev, LMEM_BAR);
> +
> + if (phys >= io_start &&
> + phys < (io_start + io_size - PAGE_SIZE))
> + return pdev;
> + }
> +
> + return NULL;
> +}
> +
> +
> +static void xe_bo_translate_io_to_dpa(struct xe_bo *bo, struct
> sg_table *sg,
> + resource_size_t io_start, int
> vfid)
> +{
> + struct xe_device *xe = xe_bo_device(bo);
> + struct xe_gt *gt = xe_root_mmio_gt(xe);
> + struct scatterlist *sgl;
> + struct xe_bo *lmem_bo;
> + phys_addr_t phys;
> + dma_addr_t addr;
> + u64 offset, i;
> +
> + lmem_bo = xe_gt_sriov_pf_config_get_lmem_obj(gt, ++vfid);
> +
> + for_each_sgtable_dma_sg(sg, sgl, i) {
> + phys = sg_dma_address(sgl);
> + offset = phys - io_start;
> + addr = xe_bo_addr(lmem_bo, offset, sg_dma_len(sgl));
Umm, isn't this O(npages²) complexity? Should be using a resource
cursor for this rather than xe_bo_addr().
Also as mentioned separately for malicious guest KMDs, the resulting
address must be sanity checked?
> +
> + bo->dma_addr[i] = drm_pagemap_addr_encode(addr,
> + DRM_INTERCONNECT_DRI
> VER,
Please use the XE variant here, XE_INTERCONNECT_VRAM, The DRM define
just says that it's the first free enum that drivers can use for their
private interconnects.
> + get_order(sg_dma_len
> (sgl)),
> + DMA_BIDIRECTIONAL);
> + }
> +}
> +
> +static int xe_bo_sg_to_dma_addr_array(struct sg_table *sg, struct
> xe_bo *bo)
> +{
> + struct xe_device *xe = xe_bo_device(bo);
> + resource_size_t io_start;
> + struct pci_dev *pdev;
> + phys_addr_t phys;
> + int vfid;
> +
> + if (!IS_SRIOV_PF(xe))
> + return 0;
> +
> + phys = sg_dma_address(sg->sgl);
> + if (page_is_ram(PFN_DOWN(phys)))
> + return 0;
> +
> + pdev = xe_find_vf_dev(xe, phys);
> + if (!pdev)
> + return 0;
> +
> + vfid = pci_iov_vf_id(pdev);
> + if (vfid < 0)
> + return 0;
> +
> + bo->dma_addr = kmalloc_array(sg->nents, sizeof(*bo-
> >dma_addr),
> + GFP_KERNEL);
> + if (!bo->dma_addr)
> + return -ENOMEM;
> +
> + bo->is_devmem_external = true;
> + io_start = pci_resource_start(pdev, LMEM_BAR);
> + xe_bo_translate_io_to_dpa(bo, sg, io_start, vfid);
> +
> + return 0;
> +}
> +
> /*
> * The dma-buf map_attachment() / unmap_attachment() is hooked up
> here.
> * Note that unmapping the attachment is deferred to the next
> @@ -695,6 +780,7 @@ static int xe_bo_move_dmabuf(struct
> ttm_buffer_object *ttm_bo,
> struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev);
> bool device_unplugged = drm_dev_is_unplugged(&xe->drm);
> struct sg_table *sg;
> + int ret = 0;
>
> xe_assert(xe, attach);
> xe_assert(xe, ttm_bo->ttm);
> @@ -719,13 +805,19 @@ static int xe_bo_move_dmabuf(struct
> ttm_buffer_object *ttm_bo,
> if (IS_ERR(sg))
> return PTR_ERR(sg);
>
> + ret = xe_bo_sg_to_dma_addr_array(sg, ttm_to_xe_bo(ttm_bo));
It looks like this is called for *all* imported dma-bufs,
Shouldn't this be checked for is_devmem_external?
> + if (ret < 0) {
> + dma_buf_unmap_attachment(attach, sg,
> DMA_BIDIRECTIONAL);
> + return ret;
> + }
> +
> ttm_bo->sg = sg;
> xe_tt->sg = sg;
>
> out:
> ttm_bo_move_null(ttm_bo, new_res);
>
> - return 0;
> + return ret;
> }
>
> /**
> @@ -1540,6 +1632,10 @@ static void xe_ttm_bo_delete_mem_notify(struct
> ttm_buffer_object *ttm_bo)
>
> dma_buf_unmap_attachment(ttm_bo->base.import_attach,
> ttm_bo->sg,
> DMA_BIDIRECTIONAL);
> +
> + if (bo->is_devmem_external) {
> + kfree(bo->dma_addr);
> + }
> ttm_bo->sg = NULL;
> xe_tt->sg = NULL;
> }
> diff --git a/drivers/gpu/drm/xe/xe_bo_types.h
> b/drivers/gpu/drm/xe/xe_bo_types.h
> index 314652afdca7..371eee3f975f 100644
> --- a/drivers/gpu/drm/xe/xe_bo_types.h
> +++ b/drivers/gpu/drm/xe/xe_bo_types.h
> @@ -88,6 +88,18 @@ struct xe_bo {
> /** @bb_ccs_rw: BB instructions of CCS read/write. Valid
> only for VF */
> struct xe_bb *bb_ccs[XE_SRIOV_VF_CCS_CTX_COUNT];
>
> + /**
> + * @is_devmem_external: Whether this BO is an imported dma-
> buf that
> + * is LMEM based.
> + */
> + bool is_devmem_external;
> +
> + /**
> + * @dma_addr: An array to store DMA addresses (DPAs) for
> imported
> + * dmabuf BOs that are LMEM based.
> + */
> + struct drm_pagemap_addr *dma_addr;
> +
> /**
> * @cpu_caching: CPU caching mode. Currently only used for
> userspace
> * objects. Exceptions are system memory on DGFX, which is
> always
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs
2025-09-16 20:25 ` Thomas Hellström
@ 2025-09-17 2:45 ` Matthew Brost
0 siblings, 0 replies; 15+ messages in thread
From: Matthew Brost @ 2025-09-17 2:45 UTC (permalink / raw)
To: Thomas Hellström; +Cc: Vivek Kasireddy, dri-devel, intel-xe
On Tue, Sep 16, 2025 at 10:25:29PM +0200, Thomas Hellström wrote:
> On Wed, 2025-09-03 at 15:30 -0700, Vivek Kasireddy wrote:
> > For BOs of type ttm_bo_type_sg, that are backed by PCI BAR addresses
> > associated with a VF, we need to adjust and translate these addresses
> > to LMEM addresses to make the BOs usable by the PF. Otherwise, the
> > BOs (i.e, PCI BAR addresses) are only accessible by the CPU and not
> > by the GPU.
> >
> > In order to do the above, we first need to identify if the addresses
> > associated with an imported BO (type ttm_bo_type_sg) belong to System
> > RAM or a VF or other PCI devices. After we confirm that they belong
> > to
> > a VF, we convert the BAR addresses to DPAs and create a new dma_addr
> > array (of type drm_pagemap_dma_addr) and populate it with the new
> > addresses along with the segment sizes.
> >
> > v2:
> > - Use dma_addr array instead of sg table to store translated
> > addresses
> > (Matt)
> >
> > v3:
> > - Remove the usage of iommu_iova_to_phys() as the imported BO would
> > no
> > longer contain IOVAs and would instead have BAR addresses.
> >
> > Cc: Matthew Brost <matthew.brost@intel.com>
> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_bo.c | 98
> > +++++++++++++++++++++++++++++++-
> > drivers/gpu/drm/xe/xe_bo_types.h | 12 ++++
> > 2 files changed, 109 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> > index 4faf15d5fa6d..6987bffb7aa7 100644
> > --- a/drivers/gpu/drm/xe/xe_bo.c
> > +++ b/drivers/gpu/drm/xe/xe_bo.c
> > @@ -21,11 +21,13 @@
> >
> > #include <trace/events/gpu_mem.h>
> >
> > +#include "regs/xe_bars.h"
> > #include "xe_device.h"
> > #include "xe_dma_buf.h"
> > #include "xe_drm_client.h"
> > #include "xe_ggtt.h"
> > #include "xe_gt.h"
> > +#include "xe_gt_sriov_pf_config.h"
> > #include "xe_map.h"
> > #include "xe_migrate.h"
> > #include "xe_pm.h"
> > @@ -33,6 +35,7 @@
> > #include "xe_pxp.h"
> > #include "xe_res_cursor.h"
> > #include "xe_shrinker.h"
> > +#include "xe_sriov_pf_helpers.h"
> > #include "xe_sriov_vf_ccs.h"
> > #include "xe_trace_bo.h"
> > #include "xe_ttm_stolen_mgr.h"
> > @@ -677,6 +680,88 @@ static int xe_bo_trigger_rebind(struct xe_device
> > *xe, struct xe_bo *bo,
> > return ret;
> > }
> >
> > +static struct pci_dev *xe_find_vf_dev(struct xe_device *xe,
> > + phys_addr_t phys)
> > +{
> > + struct pci_dev *pdev, *pf_pdev = to_pci_dev(xe->drm.dev);
> > + resource_size_t io_start, io_size;
> > +
> > + list_for_each_entry(pdev, &pf_pdev->bus->devices, bus_list)
> > {
> > + if (pdev->is_physfn)
> > + continue;
> > +
> > + io_start = pci_resource_start(pdev, LMEM_BAR);
> > + io_size = pci_resource_len(pdev, LMEM_BAR);
> > +
> > + if (phys >= io_start &&
> > + phys < (io_start + io_size - PAGE_SIZE))
> > + return pdev;
> > + }
> > +
> > + return NULL;
> > +}
> > +
> > +
> > +static void xe_bo_translate_io_to_dpa(struct xe_bo *bo, struct
> > sg_table *sg,
> > + resource_size_t io_start, int
> > vfid)
> > +{
> > + struct xe_device *xe = xe_bo_device(bo);
> > + struct xe_gt *gt = xe_root_mmio_gt(xe);
> > + struct scatterlist *sgl;
> > + struct xe_bo *lmem_bo;
> > + phys_addr_t phys;
> > + dma_addr_t addr;
> > + u64 offset, i;
> > +
> > + lmem_bo = xe_gt_sriov_pf_config_get_lmem_obj(gt, ++vfid);
> > +
> > + for_each_sgtable_dma_sg(sg, sgl, i) {
> > + phys = sg_dma_address(sgl);
> > + offset = phys - io_start;
> > + addr = xe_bo_addr(lmem_bo, offset, sg_dma_len(sgl));
>
> Umm, isn't this O(npages²) complexity? Should be using a resource
> cursor for this rather than xe_bo_addr().
>
Yea, the coplexity isn't great but the cursor as is won't work. The
cursor assumes continous walk in increasing values and sg list could be
out of order. We could find a happy medium are try to use the cursor of
if entires show up in increasing order, reinit it if out of order.
Matt
> Also as mentioned separately for malicious guest KMDs, the resulting
> address must be sanity checked?
>
> > +
> > + bo->dma_addr[i] = drm_pagemap_addr_encode(addr,
> > + DRM_INTERCONNECT_DRI
> > VER,
>
> Please use the XE variant here, XE_INTERCONNECT_VRAM, The DRM define
> just says that it's the first free enum that drivers can use for their
> private interconnects.
>
> > + get_order(sg_dma_len
> > (sgl)),
> > + DMA_BIDIRECTIONAL);
> > + }
> > +}
> > +
> > +static int xe_bo_sg_to_dma_addr_array(struct sg_table *sg, struct
> > xe_bo *bo)
> > +{
> > + struct xe_device *xe = xe_bo_device(bo);
> > + resource_size_t io_start;
> > + struct pci_dev *pdev;
> > + phys_addr_t phys;
> > + int vfid;
> > +
> > + if (!IS_SRIOV_PF(xe))
> > + return 0;
> > +
> > + phys = sg_dma_address(sg->sgl);
> > + if (page_is_ram(PFN_DOWN(phys)))
> > + return 0;
> > +
> > + pdev = xe_find_vf_dev(xe, phys);
> > + if (!pdev)
> > + return 0;
> > +
> > + vfid = pci_iov_vf_id(pdev);
> > + if (vfid < 0)
> > + return 0;
> > +
> > + bo->dma_addr = kmalloc_array(sg->nents, sizeof(*bo-
> > >dma_addr),
> > + GFP_KERNEL);
> > + if (!bo->dma_addr)
> > + return -ENOMEM;
> > +
> > + bo->is_devmem_external = true;
> > + io_start = pci_resource_start(pdev, LMEM_BAR);
> > + xe_bo_translate_io_to_dpa(bo, sg, io_start, vfid);
> > +
> > + return 0;
> > +}
> > +
> > /*
> > * The dma-buf map_attachment() / unmap_attachment() is hooked up
> > here.
> > * Note that unmapping the attachment is deferred to the next
> > @@ -695,6 +780,7 @@ static int xe_bo_move_dmabuf(struct
> > ttm_buffer_object *ttm_bo,
> > struct xe_device *xe = ttm_to_xe_device(ttm_bo->bdev);
> > bool device_unplugged = drm_dev_is_unplugged(&xe->drm);
> > struct sg_table *sg;
> > + int ret = 0;
> >
> > xe_assert(xe, attach);
> > xe_assert(xe, ttm_bo->ttm);
> > @@ -719,13 +805,19 @@ static int xe_bo_move_dmabuf(struct
> > ttm_buffer_object *ttm_bo,
> > if (IS_ERR(sg))
> > return PTR_ERR(sg);
> >
> > + ret = xe_bo_sg_to_dma_addr_array(sg, ttm_to_xe_bo(ttm_bo));
>
> It looks like this is called for *all* imported dma-bufs,
> Shouldn't this be checked for is_devmem_external?
>
> > + if (ret < 0) {
> > + dma_buf_unmap_attachment(attach, sg,
> > DMA_BIDIRECTIONAL);
> > + return ret;
> > + }
> > +
> > ttm_bo->sg = sg;
> > xe_tt->sg = sg;
> >
> > out:
> > ttm_bo_move_null(ttm_bo, new_res);
> >
> > - return 0;
> > + return ret;
> > }
> >
> > /**
> > @@ -1540,6 +1632,10 @@ static void xe_ttm_bo_delete_mem_notify(struct
> > ttm_buffer_object *ttm_bo)
> >
> > dma_buf_unmap_attachment(ttm_bo->base.import_attach,
> > ttm_bo->sg,
> > DMA_BIDIRECTIONAL);
> > +
> > + if (bo->is_devmem_external) {
> > + kfree(bo->dma_addr);
> > + }
> > ttm_bo->sg = NULL;
> > xe_tt->sg = NULL;
> > }
> > diff --git a/drivers/gpu/drm/xe/xe_bo_types.h
> > b/drivers/gpu/drm/xe/xe_bo_types.h
> > index 314652afdca7..371eee3f975f 100644
> > --- a/drivers/gpu/drm/xe/xe_bo_types.h
> > +++ b/drivers/gpu/drm/xe/xe_bo_types.h
> > @@ -88,6 +88,18 @@ struct xe_bo {
> > /** @bb_ccs_rw: BB instructions of CCS read/write. Valid
> > only for VF */
> > struct xe_bb *bb_ccs[XE_SRIOV_VF_CCS_CTX_COUNT];
> >
> > + /**
> > + * @is_devmem_external: Whether this BO is an imported dma-
> > buf that
> > + * is LMEM based.
> > + */
> > + bool is_devmem_external;
> > +
> > + /**
> > + * @dma_addr: An array to store DMA addresses (DPAs) for
> > imported
> > + * dmabuf BOs that are LMEM based.
> > + */
> > + struct drm_pagemap_addr *dma_addr;
> > +
> > /**
> > * @cpu_caching: CPU caching mode. Currently only used for
> > userspace
> > * objects. Exceptions are system memory on DGFX, which is
> > always
>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-09-17 2:45 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-03 22:30 [PATCH v3 0/5] drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
2025-09-04 15:15 ` Logan Gunthorpe
2025-09-05 4:42 ` Kasireddy, Vivek
2025-09-03 22:30 ` [PATCH v3 2/5] drm/xe/dmabuf: Don't migrate BO to System RAM while running in VF mode Vivek Kasireddy
2025-09-03 22:30 ` [PATCH v3 3/5] drm/xe/pf: Add a helper function to get a VF's backing object in LMEM Vivek Kasireddy
2025-09-03 22:52 ` Michal Wajdeczko
2025-09-03 22:30 ` [PATCH v3 4/5] drm/xe/bo: Create new dma_addr array for dmabuf BOs associated with VFs Vivek Kasireddy
2025-09-16 20:25 ` Thomas Hellström
2025-09-17 2:45 ` Matthew Brost
2025-09-03 22:30 ` [PATCH v3 5/5] drm/xe/pt: Add an additional check for dmabuf BOs while doing bind Vivek Kasireddy
2025-09-03 23:18 ` ✗ CI.checkpatch: warning for drm/xe/sriov: Don't migrate dmabuf BO to System RAM while running in VM (rev3) Patchwork
2025-09-03 23:19 ` ✓ CI.KUnit: success " Patchwork
2025-09-04 0:04 ` ✓ Xe.CI.BAT: " Patchwork
2025-09-04 8:56 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox