* [PATCH v2 01/19] powerpc/powermac: fix OF node refcount
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node() Bartosz Golaszewski
` (21 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski, stable
Platform devices created with platform_device_alloc() call
platform_device_release() when the last reference to the device's
kobject is dropped. This function calls of_node_put() unconditionally.
This works fine for devices created with platform_device_register_full()
but users of the split approach (platform_device_alloc() +
platform_device_add()) must bump the reference of the of_node they
assign manually. Add the missing call to of_node_get().
Cc: stable@vger.kernel.org
Fixes: 81e5d8646ff6 ("i2c/powermac: Register i2c devices from device-tree")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
arch/powerpc/platforms/powermac/low_i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index da72a30ab8657e6dc7e6f3437af612155783d8f9..973f58771d9636605ed5d3e91b45008543b584d3 100644
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -1471,7 +1471,7 @@ static int __init pmac_i2c_create_platform_devices(void)
if (bus->platform_dev == NULL)
return -ENOMEM;
bus->platform_dev->dev.platform_data = bus;
- bus->platform_dev->dev.of_node = bus->busnode;
+ bus->platform_dev->dev.of_node = of_node_get(bus->busnode);
platform_device_add(bus->platform_dev);
}
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 01/19] powerpc/powermac: fix OF node refcount Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-30 11:37 ` Manuel Ebner
2026-06-29 9:12 ` [PATCH v2 03/19] driver core: platform: provide platform_device_set_fwnode() Bartosz Golaszewski
` (20 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Encapsulate the reference counting logic for OF nodes assigned to
platform devices created with platform_device_alloc() in a helper
function. Make the kerneldoc state that this is the proper interface for
assigning OF nodes to dynamically allocated platform devices. This will
allow us to switch to counting the references of the device's firmware
nodes, not only the OF nodes.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/base/platform.c | 18 ++++++++++++++++++
include/linux/platform_device.h | 3 +++
2 files changed, 21 insertions(+)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index fb9120b0bcfe0e7dd9dfc0d29b91e0ad40a01440..3188d5aba5f90622f821c695049cacda030204fb 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -693,6 +693,24 @@ int platform_device_add_data(struct platform_device *pdev, const void *data,
}
EXPORT_SYMBOL_GPL(platform_device_add_data);
+/**
+ * platform_device_set_of_node - assign an OF node to device
+ * @pdev: platform device to add the node for
+ * @np: new device node
+ *
+ * Assign an OF node to this platform device. Internally keep track of the
+ * reference count. Devices created with platform_device_alloc() must use this
+ * function instead of assigning the node manually.
+ */
+void platform_device_set_of_node(struct platform_device *pdev,
+ struct device_node *np)
+{
+ of_node_put(pdev->dev.of_node);
+ pdev->dev.of_node = of_node_get(np);
+ pdev->dev.fwnode = of_fwnode_handle(np);
+}
+EXPORT_SYMBOL_GPL(platform_device_set_of_node);
+
/**
* platform_device_add - add a platform device to device hierarchy
* @pdev: platform device we're adding
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 26e6a43358e25cce2e2c38245dc0f0fc43923bf5..870d168aeff8558749eae71723e657ab150ce0be 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -19,6 +19,7 @@ struct irq_affinity;
struct mfd_cell;
struct property_entry;
struct platform_device_id;
+struct device_node;
struct platform_device {
const char *name;
@@ -262,6 +263,8 @@ extern int platform_device_add_resources(struct platform_device *pdev,
unsigned int num);
extern int platform_device_add_data(struct platform_device *pdev,
const void *data, size_t size);
+void platform_device_set_of_node(struct platform_device *pdev,
+ struct device_node *np);
extern int platform_device_add(struct platform_device *pdev);
extern void platform_device_del(struct platform_device *pdev);
extern void platform_device_put(struct platform_device *pdev);
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node() Bartosz Golaszewski
@ 2026-06-30 11:37 ` Manuel Ebner
2026-06-30 13:22 ` Bartosz Golaszewski
0 siblings, 1 reply; 33+ messages in thread
From: Manuel Ebner @ 2026-06-30 11:37 UTC (permalink / raw)
To: Bartosz Golaszewski, Lee Jones, Thierry Reding,
Sebastian Hesselbarth, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Srinivas Kandagatla,
Greg Kroah-Hartman, Vinod Koul, Rafael J. Wysocki,
Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86
On Mon, 2026-06-29 at 11:12 +0200, Bartosz Golaszewski wrote:
> [...]
>
> +/**
> + * platform_device_set_of_node - assign an OF node to device
> + * @pdev: platform device to add the node for
> + * @np: new device node
> + *
> + * Assign an OF node to this platform device. Internally keep track of the
> + * reference count. Devices created with platform_device_alloc() must use this
> + * function instead of assigning the node manually.
Doesn't it make sense to add a remark to the kernel doc of platform_device_alloc()?
Thanks
Manuel
> [...]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node()
2026-06-30 11:37 ` Manuel Ebner
@ 2026-06-30 13:22 ` Bartosz Golaszewski
2026-07-01 15:05 ` Manuel Ebner
0 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-30 13:22 UTC (permalink / raw)
To: Manuel Ebner
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski, Lee Jones,
Thierry Reding, Sebastian Hesselbarth, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
On Tue, 30 Jun 2026 13:37:54 +0200, Manuel Ebner <manuelebner@mailbox.org> said:
> On Mon, 2026-06-29 at 11:12 +0200, Bartosz Golaszewski wrote:
>> [...]
>>
>> +/**
>> + * platform_device_set_of_node - assign an OF node to device
>> + * @pdev: platform device to add the node for
>> + * @np: new device node
>> + *
>> + * Assign an OF node to this platform device. Internally keep track of the
>> + * reference count. Devices created with platform_device_alloc() must use this
>> + * function instead of assigning the node manually.
>
> Doesn't it make sense to add a remark to the kernel doc of platform_device_alloc()?
>
> Thanks
> Manuel
>
>> [...]
>
Sure, will do in the next iteration.
Bart
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node()
2026-06-30 13:22 ` Bartosz Golaszewski
@ 2026-07-01 15:05 ` Manuel Ebner
0 siblings, 0 replies; 33+ messages in thread
From: Manuel Ebner @ 2026-07-01 15:05 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: linux-kernel, netdev, linux-arm-msm, linux-sound, driver-core,
devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm, imx,
linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski, Lee Jones,
Thierry Reding, Sebastian Hesselbarth, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
On Tue, 2026-06-30 at 09:22 -0400, Bartosz Golaszewski wrote:
> On Tue, 30 Jun 2026 13:37:54 +0200, Manuel Ebner <manuelebner@mailbox.org> said:
> > On Mon, 2026-06-29 at 11:12 +0200, Bartosz Golaszewski wrote:
> > > [...]
> > >
> > > +/**
> > > + * platform_device_set_of_node - assign an OF node to device
> > > + * @pdev: platform device to add the node for
> > > + * @np: new device node
> > > + *
> > > + * Assign an OF node to this platform device. Internally keep track of the
> > > + * reference count. Devices created with platform_device_alloc() must use this
> > > + * function instead of assigning the node manually.
> >
> > Doesn't it make sense to add a remark to the kernel doc of platform_device_alloc()?
> >
> > Thanks
> > Manuel
> >
> > > [...]
> >
>
> Sure, will do in the next iteration.
then you can add
Reviewed-by: Manuel Ebner <manuelebner@mailbox.org>
Manuel
>
> Bart
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 03/19] driver core: platform: provide platform_device_set_fwnode()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 01/19] powerpc/powermac: fix OF node refcount Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 02/19] driver core: platform: provide platform_device_set_of_node() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 04/19] driver core: platform: provide platform_device_set_of_node_from_dev() Bartosz Golaszewski
` (19 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Provide a helper function encapsulating the logic of assigning firmware
nodes to platform devices created with platform_device_alloc(). Make the
kerneldoc state that this is the proper interface for assigning firmware
nodes to dynamically allocated platform devices. This will allow us to
switch to counting the references of the device's firmware nodes in the
future, not only the OF nodes.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/base/platform.c | 19 +++++++++++++++++++
include/linux/platform_device.h | 3 +++
2 files changed, 22 insertions(+)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 3188d5aba5f90622f821c695049cacda030204fb..6520b70cf3052d683a2ecb1a0dd7227575546ba0 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -711,6 +711,25 @@ void platform_device_set_of_node(struct platform_device *pdev,
}
EXPORT_SYMBOL_GPL(platform_device_set_of_node);
+/**
+ * platform_device_set_fwnode - assign a firmware node to device
+ * @pdev: platform device to set the node for
+ * @fwnode: new firmware node
+ *
+ * Assign a firmware node to this platform device. Internally keep track of the
+ * reference count. Devices created with platform_device_alloc() must use this
+ * function instead of assigning the node manually.
+ */
+void platform_device_set_fwnode(struct platform_device *pdev,
+ struct fwnode_handle *fwnode)
+{
+ if (is_of_node(fwnode))
+ platform_device_set_of_node(pdev, to_of_node(fwnode));
+ else
+ pdev->dev.fwnode = fwnode;
+}
+EXPORT_SYMBOL_GPL(platform_device_set_fwnode);
+
/**
* platform_device_add - add a platform device to device hierarchy
* @pdev: platform device we're adding
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 870d168aeff8558749eae71723e657ab150ce0be..c463d46b7b9ab6b891df1ca9f0c98608d2bb140f 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -20,6 +20,7 @@ struct mfd_cell;
struct property_entry;
struct platform_device_id;
struct device_node;
+struct fwnode_handle;
struct platform_device {
const char *name;
@@ -265,6 +266,8 @@ extern int platform_device_add_data(struct platform_device *pdev,
const void *data, size_t size);
void platform_device_set_of_node(struct platform_device *pdev,
struct device_node *np);
+void platform_device_set_fwnode(struct platform_device *pdev,
+ struct fwnode_handle *fwnode);
extern int platform_device_add(struct platform_device *pdev);
extern void platform_device_del(struct platform_device *pdev);
extern void platform_device_put(struct platform_device *pdev);
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 04/19] driver core: platform: provide platform_device_set_of_node_from_dev()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (2 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 03/19] driver core: platform: provide platform_device_set_fwnode() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 05/19] of: platform: use platform_device_set_of_node() Bartosz Golaszewski
` (18 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Provide a platform-specific variant of device_set_of_node_from_dev(). In
addition to bumping the reference count of the OF node being assigned,
it also assigns the fwnode of the platform device.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/base/platform.c | 16 ++++++++++++++++
include/linux/platform_device.h | 2 ++
2 files changed, 18 insertions(+)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 6520b70cf3052d683a2ecb1a0dd7227575546ba0..f24a5f406746b53ca9eaab9472f6dd1345e04ad6 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -730,6 +730,22 @@ void platform_device_set_fwnode(struct platform_device *pdev,
}
EXPORT_SYMBOL_GPL(platform_device_set_fwnode);
+/**
+ * platform_device_set_of_node_from_dev - reuse OF node of another device
+ * @pdev: platform device to set the node for
+ * @dev2: device whose OF node to reuse
+ *
+ * Reuses the OF node of another device in this platform device while
+ * internally keeping track of reference counting.
+ */
+void platform_device_set_of_node_from_dev(struct platform_device *pdev,
+ const struct device *dev2)
+{
+ device_set_of_node_from_dev(&pdev->dev, dev2);
+ pdev->dev.fwnode = of_fwnode_handle(pdev->dev.of_node);
+}
+EXPORT_SYMBOL_GPL(platform_device_set_of_node_from_dev);
+
/**
* platform_device_add - add a platform device to device hierarchy
* @pdev: platform device we're adding
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index c463d46b7b9ab6b891df1ca9f0c98608d2bb140f..94b8d2b46e913ebcdbdaa3710f008f478b59d7b4 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -268,6 +268,8 @@ void platform_device_set_of_node(struct platform_device *pdev,
struct device_node *np);
void platform_device_set_fwnode(struct platform_device *pdev,
struct fwnode_handle *fwnode);
+void platform_device_set_of_node_from_dev(struct platform_device *pdev,
+ const struct device *dev2);
extern int platform_device_add(struct platform_device *pdev);
extern void platform_device_del(struct platform_device *pdev);
extern void platform_device_put(struct platform_device *pdev);
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 05/19] of: platform: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (3 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 04/19] driver core: platform: provide platform_device_set_of_node_from_dev() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 06/19] powerpc/powermac: " Bartosz Golaszewski
` (17 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/of/platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 53bca8c6f7810ce2235b4d084a361626b1d2da33..8b1e7640778253492c080085b4015e1423389d83 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -126,7 +126,7 @@ struct platform_device *of_device_alloc(struct device_node *np,
}
/* setup generic device info */
- device_set_node(&dev->dev, of_fwnode_handle(of_node_get(np)));
+ platform_device_set_of_node(dev, np);
dev->dev.parent = parent ? : &platform_bus;
if (bus_id)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 06/19] powerpc/powermac: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (4 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 05/19] of: platform: use platform_device_set_of_node() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 07/19] i2c: pxa-pci: " Bartosz Golaszewski
` (16 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
arch/powerpc/platforms/powermac/low_i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index 973f58771d9636605ed5d3e91b45008543b584d3..a175a32a222bab4cc7400f6ab6071f5630db2cb8 100644
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -1471,7 +1471,7 @@ static int __init pmac_i2c_create_platform_devices(void)
if (bus->platform_dev == NULL)
return -ENOMEM;
bus->platform_dev->dev.platform_data = bus;
- bus->platform_dev->dev.of_node = of_node_get(bus->busnode);
+ platform_device_set_of_node(bus->platform_dev, bus->busnode);
platform_device_add(bus->platform_dev);
}
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 07/19] i2c: pxa-pci: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (5 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 06/19] powerpc/powermac: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 08/19] iommu/fsl: " Bartosz Golaszewski
` (15 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski, Wolfram Sang
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Acked-by: Andi Shyti <andi.shyti@kernel.org>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com> # for I2C
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/i2c/busses/i2c-pxa-pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-pxa-pci.c b/drivers/i2c/busses/i2c-pxa-pci.c
index dbd542300f80043c6bc65a69fa27ca7b3d5fe787..92a0647f08c69f841ca99caca757c1728b3f6fce 100644
--- a/drivers/i2c/busses/i2c-pxa-pci.c
+++ b/drivers/i2c/busses/i2c-pxa-pci.c
@@ -76,7 +76,8 @@ static struct platform_device *add_i2c_device(struct pci_dev *dev, int bar)
goto out;
}
pdev->dev.parent = &dev->dev;
- pdev->dev.of_node = child;
+
+ platform_device_set_of_node(pdev, child);
ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res));
if (ret)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 08/19] iommu/fsl: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (6 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 07/19] i2c: pxa-pci: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 14:08 ` Frank Li
2026-06-29 9:12 ` [PATCH v2 09/19] net: bcmgenet: " Bartosz Golaszewski
` (14 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/iommu/fsl_pamu.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
index 25aa477a95a95cb4fa4e132727cde0a936750ee2..012839fa0d8a27cafc6a441373f4f6da794388c1 100644
--- a/drivers/iommu/fsl_pamu.c
+++ b/drivers/iommu/fsl_pamu.c
@@ -973,7 +973,8 @@ static __init int fsl_pamu_init(void)
ret = -ENOMEM;
goto error_device_alloc;
}
- pdev->dev.of_node = of_node_get(np);
+
+ platform_device_set_of_node(pdev, np);
ret = pamu_domain_init();
if (ret)
@@ -985,12 +986,10 @@ static __init int fsl_pamu_init(void)
goto error_device_add;
}
+ of_node_put(np);
return 0;
error_device_add:
- of_node_put(pdev->dev.of_node);
- pdev->dev.of_node = NULL;
-
platform_device_put(pdev);
error_device_alloc:
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 08/19] iommu/fsl: use platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 08/19] iommu/fsl: " Bartosz Golaszewski
@ 2026-06-29 14:08 ` Frank Li
0 siblings, 0 replies; 33+ messages in thread
From: Frank Li @ 2026-06-29 14:08 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86
On Mon, Jun 29, 2026 at 11:12:31AM +0200, Bartosz Golaszewski wrote:
> [You don't often get email from bartosz.golaszewski@oss.qualcomm.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> Ahead of reworking the reference counting logic for platform devices,
> encapsulate the assignment of the OF node for dynamically allocated
> platform devices with the provided helper.
>
> Acked-by: Robin Murphy <robin.murphy@arm.com>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> ---
> drivers/iommu/fsl_pamu.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
> index 25aa477a95a95cb4fa4e132727cde0a936750ee2..012839fa0d8a27cafc6a441373f4f6da794388c1 100644
> --- a/drivers/iommu/fsl_pamu.c
> +++ b/drivers/iommu/fsl_pamu.c
> @@ -973,7 +973,8 @@ static __init int fsl_pamu_init(void)
> ret = -ENOMEM;
> goto error_device_alloc;
> }
> - pdev->dev.of_node = of_node_get(np);
> +
> + platform_device_set_of_node(pdev, np);
>
> ret = pamu_domain_init();
> if (ret)
> @@ -985,12 +986,10 @@ static __init int fsl_pamu_init(void)
> goto error_device_add;
> }
>
> + of_node_put(np);
there are other place miss of_node_put() at error pass.
Can you use auto cleanup
struct device_node *np __free(device_node) = of_find_compatible_node().
Frank
> return 0;
>
> error_device_add:
> - of_node_put(pdev->dev.of_node);
> - pdev->dev.of_node = NULL;
> -
> platform_device_put(pdev);
>
> error_device_alloc:
>
> --
> 2.47.3
>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 09/19] net: bcmgenet: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (7 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 08/19] iommu/fsl: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 23:15 ` Jakub Kicinski
2026-06-29 9:12 ` [PATCH v2 10/19] pmdomain: imx: " Bartosz Golaszewski
` (13 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/net/ethernet/broadcom/genet/bcmmii.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index a4e0d5a682687533a1b034ccf56cdb363d6b7786..451b23a039cebb777f356f64924838230052dc45 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -490,10 +490,14 @@ static int bcmgenet_mii_register(struct bcmgenet_priv *priv)
/* Retain this platform_device pointer for later cleanup */
priv->mii_pdev = ppdev;
ppdev->dev.parent = &pdev->dev;
- if (dn)
- ppdev->dev.of_node = bcmgenet_mii_of_find_mdio(priv);
- else
+
+ if (dn) {
+ struct device_node *np __free(device_node) = bcmgenet_mii_of_find_mdio(priv);
+
+ platform_device_set_of_node(ppdev, np);
+ } else {
ppd.phy_mask = ~0;
+ }
ret = platform_device_add_resources(ppdev, &res, 1);
if (ret)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 09/19] net: bcmgenet: use platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 09/19] net: bcmgenet: " Bartosz Golaszewski
@ 2026-06-29 23:15 ` Jakub Kicinski
0 siblings, 0 replies; 33+ messages in thread
From: Jakub Kicinski @ 2026-06-29 23:15 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni,
Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86
On Mon, 29 Jun 2026 11:12:32 +0200 Bartosz Golaszewski wrote:
> + if (dn) {
> + struct device_node *np __free(device_node) = bcmgenet_mii_of_find_mdio(priv);
> +
> + platform_device_set_of_node(ppdev, np);
> + } else {
Please don't blindly use __free() in cases where it's clearly
unnecessary.
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 10/19] pmdomain: imx: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (8 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 09/19] net: bcmgenet: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-30 15:27 ` Frank Li
2026-06-29 9:12 ` [PATCH v2 11/19] mfd: tps6586: " Bartosz Golaszewski
` (12 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/pmdomain/imx/gpc.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/pmdomain/imx/gpc.c b/drivers/pmdomain/imx/gpc.c
index 42e50c9b4fb9ffb96a20a462d4eb5168942a893c..abca5f449a226fbae4213926e1395c413160c950 100644
--- a/drivers/pmdomain/imx/gpc.c
+++ b/drivers/pmdomain/imx/gpc.c
@@ -487,8 +487,7 @@ static int imx_gpc_probe(struct platform_device *pdev)
domain->ipg_rate_mhz = ipg_rate_mhz;
pd_pdev->dev.parent = &pdev->dev;
- pd_pdev->dev.of_node = of_node_get(np);
- pd_pdev->dev.fwnode = of_fwnode_handle(np);
+ platform_device_set_of_node(pd_pdev, np);
ret = platform_device_add(pd_pdev);
if (ret) {
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 10/19] pmdomain: imx: use platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 10/19] pmdomain: imx: " Bartosz Golaszewski
@ 2026-06-30 15:27 ` Frank Li
0 siblings, 0 replies; 33+ messages in thread
From: Frank Li @ 2026-06-30 15:27 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86
On Mon, Jun 29, 2026 at 11:12:33AM +0200, Bartosz Golaszewski wrote:
>
> Ahead of reworking the reference counting logic for platform devices,
> encapsulate the assignment of the OF node for dynamically allocated
> platform devices with the provided helper.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> ---
Reviewed-by: Frank Li <Frank.Li@nxp.com>
> drivers/pmdomain/imx/gpc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pmdomain/imx/gpc.c b/drivers/pmdomain/imx/gpc.c
> index 42e50c9b4fb9ffb96a20a462d4eb5168942a893c..abca5f449a226fbae4213926e1395c413160c950 100644
> --- a/drivers/pmdomain/imx/gpc.c
> +++ b/drivers/pmdomain/imx/gpc.c
> @@ -487,8 +487,7 @@ static int imx_gpc_probe(struct platform_device *pdev)
> domain->ipg_rate_mhz = ipg_rate_mhz;
>
> pd_pdev->dev.parent = &pdev->dev;
> - pd_pdev->dev.of_node = of_node_get(np);
> - pd_pdev->dev.fwnode = of_fwnode_handle(np);
> + platform_device_set_of_node(pd_pdev, np);
>
> ret = platform_device_add(pd_pdev);
> if (ret) {
>
> --
> 2.47.3
>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 11/19] mfd: tps6586: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (9 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 10/19] pmdomain: imx: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 12/19] slimbus: qcom-ngd-ctrl: " Bartosz Golaszewski
` (11 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Acked-by: Lee Jones <lee@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/mfd/tps6586x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/tps6586x.c b/drivers/mfd/tps6586x.c
index f5f805446603315ba76ce1fc501c908f1cec0d16..3cfd2f02b62f3cc370e0d970ec2643b638fd0fec 100644
--- a/drivers/mfd/tps6586x.c
+++ b/drivers/mfd/tps6586x.c
@@ -397,7 +397,7 @@ static int tps6586x_add_subdevs(struct tps6586x *tps6586x,
pdev->dev.parent = tps6586x->dev;
pdev->dev.platform_data = subdev->platform_data;
- pdev->dev.of_node = of_node_get(subdev->of_node);
+ platform_device_set_of_node(pdev, subdev->of_node);
ret = platform_device_add(pdev);
if (ret) {
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 12/19] slimbus: qcom-ngd-ctrl: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (10 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 11/19] mfd: tps6586: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:25 ` Konrad Dybcio
2026-06-29 9:12 ` [PATCH v2 13/19] net: mv643xx: " Bartosz Golaszewski
` (10 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/slimbus/qcom-ngd-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index 3071e46d03beaaae2321e858c564b512c22e820e..6e89415712ce1a7a7781af6bd0eaf0d6879da52b 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1539,7 +1539,7 @@ static int of_qcom_slim_ngd_register(struct device *parent,
kfree(ngd);
return ret;
}
- ngd->pdev->dev.of_node = of_node_get(node);
+ platform_device_set_of_node(ngd->pdev, node);
ctrl->ngd = ngd;
ret = platform_device_add(ngd->pdev);
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 12/19] slimbus: qcom-ngd-ctrl: use platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 12/19] slimbus: qcom-ngd-ctrl: " Bartosz Golaszewski
@ 2026-06-29 9:25 ` Konrad Dybcio
0 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-06-29 9:25 UTC (permalink / raw)
To: Bartosz Golaszewski, Lee Jones, Mark Brown, Thierry Reding,
Sebastian Hesselbarth, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Srinivas Kandagatla,
Greg Kroah-Hartman, Vinod Koul, Rafael J. Wysocki,
Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86
On 6/29/26 11:12 AM, Bartosz Golaszewski wrote:
> Ahead of reworking the reference counting logic for platform devices,
> encapsulate the assignment of the OF node for dynamically allocated
> platform devices with the provided helper.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> ---
Acked-by: Konrad Dybcio <konradybcio@kernel.org>
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 13/19] net: mv643xx: use platform_device_set_of_node()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (11 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 12/19] slimbus: qcom-ngd-ctrl: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 23:16 ` Jakub Kicinski
2026-06-29 9:12 ` [PATCH v2 14/19] drm/xe/i2c: use platform_device_set_fwnode() Bartosz Golaszewski
` (9 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/net/ethernet/marvell/mv643xx_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 1881583be5ce2e972fceb14c2b8348280c49ad1d..9caa1e47c174c9d7a161b7f2e2ee12a829b813d4 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2780,7 +2780,7 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev,
goto put_err;
}
ppdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
- ppdev->dev.of_node = of_node_get(pnp);
+ platform_device_set_of_node(ppdev, pnp);
ret = platform_device_add_resources(ppdev, &res, 1);
if (ret)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 13/19] net: mv643xx: use platform_device_set_of_node()
2026-06-29 9:12 ` [PATCH v2 13/19] net: mv643xx: " Bartosz Golaszewski
@ 2026-06-29 23:16 ` Jakub Kicinski
0 siblings, 0 replies; 33+ messages in thread
From: Jakub Kicinski @ 2026-06-29 23:16 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Paolo Abeni,
Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86
On Mon, 29 Jun 2026 11:12:36 +0200 Bartosz Golaszewski wrote:
> Ahead of reworking the reference counting logic for platform devices,
> encapsulate the assignment of the OF node for dynamically allocated
> platform devices with the provided helper.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 14/19] drm/xe/i2c: use platform_device_set_fwnode()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (12 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 13/19] net: mv643xx: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 15/19] platform/surface: gpe: " Bartosz Golaszewski
` (8 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the firmware node for dynamically allocated
platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/gpu/drm/xe/xe_i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_i2c.c b/drivers/gpu/drm/xe/xe_i2c.c
index 706783863d07d66b4685005d6649b3cd143ecc3b..af4ebd93ad8e68c95a14cdf99de0959fbe080354 100644
--- a/drivers/gpu/drm/xe/xe_i2c.c
+++ b/drivers/gpu/drm/xe/xe_i2c.c
@@ -123,7 +123,7 @@ static int xe_i2c_register_adapter(struct xe_i2c *i2c)
}
pdev->dev.parent = i2c->drm_dev;
- pdev->dev.fwnode = fwnode;
+ platform_device_set_fwnode(pdev, fwnode);
i2c->adapter_node = fwnode;
i2c->pdev = pdev;
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 15/19] platform/surface: gpe: use platform_device_set_fwnode()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (13 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 14/19] drm/xe/i2c: use platform_device_set_fwnode() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 16/19] usb: chipidea: use platform_device_set_of_node_from_dev() Bartosz Golaszewski
` (7 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the firmware node for dynamically allocated
platform devices with the provided helper.
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/platform/surface/surface_gpe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/platform/surface/surface_gpe.c b/drivers/platform/surface/surface_gpe.c
index b359413903b13c4f8e8b284ef7ae6f6db3f47d72..40896a8544b0a4da4261ea881b1eaed62d93b32b 100644
--- a/drivers/platform/surface/surface_gpe.c
+++ b/drivers/platform/surface/surface_gpe.c
@@ -317,7 +317,7 @@ static int __init surface_gpe_init(void)
goto err_alloc;
}
- pdev->dev.fwnode = fwnode;
+ platform_device_set_fwnode(pdev, fwnode);
status = platform_device_add(pdev);
if (status)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 16/19] usb: chipidea: use platform_device_set_of_node_from_dev()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (14 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 15/19] platform/surface: gpe: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 17/19] usb: musb: " Bartosz Golaszewski
` (6 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node from another device for
dynamically allocated platform devices with the provided helper.
Acked-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20211215225646.1997946-1-robh@kernel.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/usb/chipidea/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 07563be0013f4d28ed6318a0751670ccef01d0a5..7edc512cc37dc24551efe5fca172777a0a4b0766 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -879,7 +879,7 @@ struct platform_device *ci_hdrc_add_device(struct device *dev,
}
pdev->dev.parent = dev;
- device_set_of_node_from_dev(&pdev->dev, dev);
+ platform_device_set_of_node_from_dev(pdev, dev);
ret = platform_device_add_resources(pdev, res, nres);
if (ret)
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 17/19] usb: musb: use platform_device_set_of_node_from_dev()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (15 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 16/19] usb: chipidea: use platform_device_set_of_node_from_dev() Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 18/19] reset: rzg2l: " Bartosz Golaszewski
` (5 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node from another device for
dynamically allocated platform devices with the provided helper.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/usb/musb/jz4740.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/musb/jz4740.c b/drivers/usb/musb/jz4740.c
index df56c972986f7c4f5174a227f35c7e1ac9afa7ca..c770ba576f05b6b672836753cd9b696b752d017a 100644
--- a/drivers/usb/musb/jz4740.c
+++ b/drivers/usb/musb/jz4740.c
@@ -273,7 +273,7 @@ static int jz4740_probe(struct platform_device *pdev)
musb->dev.parent = dev;
musb->dev.dma_mask = &musb->dev.coherent_dma_mask;
musb->dev.coherent_dma_mask = DMA_BIT_MASK(32);
- device_set_of_node_from_dev(&musb->dev, dev);
+ platform_device_set_of_node_from_dev(musb, dev);
glue->pdev = musb;
glue->clk = clk;
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 18/19] reset: rzg2l: use platform_device_set_of_node_from_dev()
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (16 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 17/19] usb: musb: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 9:12 ` [PATCH v2 19/19] driver core: platform: count references to all kinds of firmware nodes Bartosz Golaszewski
` (4 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
Ahead of reworking the reference counting logic for platform devices,
encapsulate the assignment of the OF node from another device for
dynamically allocated platform devices with the provided helper.
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/reset/reset-rzg2l-usbphy-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/reset/reset-rzg2l-usbphy-ctrl.c b/drivers/reset/reset-rzg2l-usbphy-ctrl.c
index fd75d9601a3bfde7b7e3f6db287ec8c5c45a20ab..f003b360629c90bb37ed0ade7a675b5b0f28fa7e 100644
--- a/drivers/reset/reset-rzg2l-usbphy-ctrl.c
+++ b/drivers/reset/reset-rzg2l-usbphy-ctrl.c
@@ -249,7 +249,7 @@ static int rzg2l_usbphy_ctrl_probe(struct platform_device *pdev)
vdev->dev.parent = dev;
priv->vdev = vdev;
- device_set_of_node_from_dev(&vdev->dev, dev);
+ platform_device_set_of_node_from_dev(vdev, dev);
error = platform_device_add(vdev);
if (error)
goto err_device_put;
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* [PATCH v2 19/19] driver core: platform: count references to all kinds of firmware nodes
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (17 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 18/19] reset: rzg2l: " Bartosz Golaszewski
@ 2026-06-29 9:12 ` Bartosz Golaszewski
2026-06-29 16:21 ` Andy Shevchenko
2026-06-29 16:23 ` [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Andy Shevchenko
` (3 subsequent siblings)
22 siblings, 1 reply; 33+ messages in thread
From: Bartosz Golaszewski @ 2026-06-29 9:12 UTC (permalink / raw)
To: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Andy Shevchenko,
Joerg Roedel, Will Deacon, Robin Murphy, Doug Berger,
Florian Fainelli, Broadcom internal kernel review list,
Ulf Hansson, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
David Airlie, Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu,
Philipp Zabel, Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt
Cc: brgl, linux-kernel, netdev, linux-arm-msm, linux-sound,
driver-core, devicetree, linuxppc-dev, linux-i2c, iommu, linux-pm,
imx, linux-arm-kernel, intel-xe, dri-devel, linux-usb, linux-mips,
platform-driver-x86, Bartosz Golaszewski
When using platform_device_register_full(), we currently only increase
the reference count of the OF node associated with a platform device. We
symmetrically decrease it in platform_device_release(). With all users in
tree now converted to using provided platform device helpers for
assigning OF and firmware nodes, we can now switch to counting references
of all kinds of firmware nodes.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
drivers/base/platform.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index f24a5f406746b53ca9eaab9472f6dd1345e04ad6..bb5f5bddd047d4ec6f238e36dfe4f4ea36b92a76 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -599,7 +599,7 @@ static void platform_device_release(struct device *dev)
struct platform_object *pa = container_of(dev, struct platform_object,
pdev.dev);
- of_node_put(pa->pdev.dev.of_node);
+ fwnode_handle_put(pa->pdev.dev.fwnode);
kfree(pa->pdev.dev.platform_data);
kfree(pa->pdev.mfd_cell);
kfree(pa->pdev.resource);
@@ -705,9 +705,7 @@ EXPORT_SYMBOL_GPL(platform_device_add_data);
void platform_device_set_of_node(struct platform_device *pdev,
struct device_node *np)
{
- of_node_put(pdev->dev.of_node);
- pdev->dev.of_node = of_node_get(np);
- pdev->dev.fwnode = of_fwnode_handle(np);
+ platform_device_set_fwnode(pdev, of_fwnode_handle(np));
}
EXPORT_SYMBOL_GPL(platform_device_set_of_node);
@@ -723,10 +721,9 @@ EXPORT_SYMBOL_GPL(platform_device_set_of_node);
void platform_device_set_fwnode(struct platform_device *pdev,
struct fwnode_handle *fwnode)
{
- if (is_of_node(fwnode))
- platform_device_set_of_node(pdev, to_of_node(fwnode));
- else
- pdev->dev.fwnode = fwnode;
+ fwnode_handle_put(pdev->dev.fwnode);
+ pdev->dev.fwnode = fwnode_handle_get(fwnode);
+ pdev->dev.of_node = to_of_node(fwnode);
}
EXPORT_SYMBOL_GPL(platform_device_set_fwnode);
@@ -921,8 +918,8 @@ struct platform_device *platform_device_register_full(const struct platform_devi
return ERR_PTR(-ENOMEM);
pdev->dev.parent = pdevinfo->parent;
- pdev->dev.fwnode = pdevinfo->fwnode;
- pdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode));
+ pdev->dev.fwnode = fwnode_handle_get(pdevinfo->fwnode);
+ pdev->dev.of_node = to_of_node(pdev->dev.fwnode);
dev_assign_of_node_reused(&pdev->dev, pdevinfo->of_node_reused);
if (pdevinfo->dma_mask) {
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH v2 19/19] driver core: platform: count references to all kinds of firmware nodes
2026-06-29 9:12 ` [PATCH v2 19/19] driver core: platform: count references to all kinds of firmware nodes Bartosz Golaszewski
@ 2026-06-29 16:21 ` Andy Shevchenko
0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2026-06-29 16:21 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Joerg Roedel,
Will Deacon, Robin Murphy, Doug Berger, Florian Fainelli,
Broadcom internal kernel review list, Ulf Hansson, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Matthew Brost, Thomas Hellström, Rodrigo Vivi, David Airlie,
Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu, Philipp Zabel,
Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86
On Mon, Jun 29, 2026 at 11:12:42AM +0200, Bartosz Golaszewski wrote:
> When using platform_device_register_full(), we currently only increase
> the reference count of the OF node associated with a platform device. We
> symmetrically decrease it in platform_device_release(). With all users in
> tree now converted to using provided platform device helpers for
> assigning OF and firmware nodes, we can now switch to counting references
> of all kinds of firmware nodes.
Yep, that's the expected result, thanks!
...
> void platform_device_set_fwnode(struct platform_device *pdev,
> struct fwnode_handle *fwnode)
> {
> - if (is_of_node(fwnode))
> - platform_device_set_of_node(pdev, to_of_node(fwnode));
> - else
> - pdev->dev.fwnode = fwnode;
> + fwnode_handle_put(pdev->dev.fwnode);
> + pdev->dev.fwnode = fwnode_handle_get(fwnode);
> + pdev->dev.of_node = to_of_node(fwnode);
device_set_node(&pdev->dev, fwnode_handle_get(fwnode));
> }
...
> pdev->dev.parent = pdevinfo->parent;
> - pdev->dev.fwnode = pdevinfo->fwnode;
> - pdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode));
> + pdev->dev.fwnode = fwnode_handle_get(pdevinfo->fwnode);
> + pdev->dev.of_node = to_of_node(pdev->dev.fwnode);
See above.
...
With them being addressed,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (18 preceding siblings ...)
2026-06-29 9:12 ` [PATCH v2 19/19] driver core: platform: count references to all kinds of firmware nodes Bartosz Golaszewski
@ 2026-06-29 16:23 ` Andy Shevchenko
2026-06-29 23:20 ` ✓ CI.KUnit: success for driver core: count references of the platform device's fwnode, not OF node (rev2) Patchwork
` (2 subsequent siblings)
22 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2026-06-29 16:23 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Lee Jones, Mark Brown, Thierry Reding, Sebastian Hesselbarth,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Srinivas Kandagatla, Greg Kroah-Hartman, Vinod Koul,
Rafael J. Wysocki, Danilo Krummrich, Rob Herring, Saravana Kannan,
Madhavan Srinivasan, Michael Ellerman, Nicholas Piggin,
Christophe Leroy (CS GROUP), Andi Shyti, Joerg Roedel,
Will Deacon, Robin Murphy, Doug Berger, Florian Fainelli,
Broadcom internal kernel review list, Ulf Hansson, Frank Li,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
Matthew Brost, Thomas Hellström, Rodrigo Vivi, David Airlie,
Simona Vetter, Peter Chen, Paul Cercueil, Bin Liu, Philipp Zabel,
Maximilian Luz, Hans de Goede, Ilpo Järvinen,
Krzysztof Kozlowski, Benjamin Herrenschmidt, brgl, linux-kernel,
netdev, linux-arm-msm, linux-sound, driver-core, devicetree,
linuxppc-dev, linux-i2c, iommu, linux-pm, imx, linux-arm-kernel,
intel-xe, dri-devel, linux-usb, linux-mips, platform-driver-x86,
stable, Wolfram Sang
On Mon, Jun 29, 2026 at 11:12:23AM +0200, Bartosz Golaszewski wrote:
> Platform device core provides helper interfaces for dealing with
> dynamically created platform devices. Most users should use
> platform_device_register_full() which encapsulates most of the
> operations but some modules will want to use the split approach of
> calling platform_device_alloc() + platform_device_add() separately for
> various reasons.
>
> With many platform devices now using dynamic software nodes as their
> primary firmware nodes and with the platform device interface being
> extended to also better cover the use-cases of secondary software nodes,
> I believe it makes sense to switch to counting the references of all
> kinds of firmware nodes.
>
> To that end, I identified all users of platform_device_alloc() that also
> assign dev.of_node or dev.fwnode manually. I noticed five cases where
> the references are not increased as they should (patches 1-5 fix these
> users) and provided three new functions in platform_device.h that now
> become the preferred interfaces for assigning firmware nodes to dynamic
> platform devices (in line with platform_device_add_data(),
> platform_device_add_resources(), etc.). The bulk of the patches in this
> series are small driver conversions to port all users to going through
> the new functions that now encapsulate the refcount logic. With that
> done, the final patch seamlessly switches to counting the references of
> all firmware node types.
>
> This effort is prerequisite of removing platform_device_release_full()
> and unifying the release path for dynamic platform devices using
> unmanaged software nodes.
>
> Merging strategy: The entire series should go through the driver core
> tree, possibly with an immutable branch provided to solve any potential
> conflicts though these are rather unlikely.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
for patches 2-4 assuming they will be accompanied with patch 19 at the same
time.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 33+ messages in thread* ✓ CI.KUnit: success for driver core: count references of the platform device's fwnode, not OF node (rev2)
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (19 preceding siblings ...)
2026-06-29 16:23 ` [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Andy Shevchenko
@ 2026-06-29 23:20 ` Patchwork
2026-06-30 0:24 ` ✓ Xe.CI.BAT: " Patchwork
2026-06-30 12:47 ` ✓ Xe.CI.FULL: " Patchwork
22 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2026-06-29 23:20 UTC (permalink / raw)
To: Bartosz Golaszewski; +Cc: intel-xe
== Series Details ==
Series: driver core: count references of the platform device's fwnode, not OF node (rev2)
URL : https://patchwork.freedesktop.org/series/166998/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[23:17:30] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:17:42] 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:18:40] Starting KUnit Kernel (1/1)...
[23:18:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:18:40] ================== guc_buf (11 subtests) ===================
[23:18:40] [PASSED] test_smallest
[23:18:40] [PASSED] test_largest
[23:18:40] [PASSED] test_granular
[23:18:40] [PASSED] test_unique
[23:18:40] [PASSED] test_overlap
[23:18:40] [PASSED] test_reusable
[23:18:40] [PASSED] test_too_big
[23:18:40] [PASSED] test_flush
[23:18:40] [PASSED] test_lookup
[23:18:40] [PASSED] test_data
[23:18:40] [PASSED] test_class
[23:18:40] ===================== [PASSED] guc_buf =====================
[23:18:40] =================== guc_dbm (7 subtests) ===================
[23:18:40] [PASSED] test_empty
[23:18:40] [PASSED] test_default
[23:18:40] ======================== test_size ========================
[23:18:40] [PASSED] 4
[23:18:40] [PASSED] 8
[23:18:40] [PASSED] 32
[23:18:40] [PASSED] 256
[23:18:40] ==================== [PASSED] test_size ====================
[23:18:40] ======================= test_reuse ========================
[23:18:40] [PASSED] 4
[23:18:40] [PASSED] 8
[23:18:40] [PASSED] 32
[23:18:40] [PASSED] 256
[23:18:40] =================== [PASSED] test_reuse ====================
[23:18:40] =================== test_range_overlap ====================
[23:18:40] [PASSED] 4
[23:18:40] [PASSED] 8
[23:18:40] [PASSED] 32
[23:18:40] [PASSED] 256
[23:18:40] =============== [PASSED] test_range_overlap ================
[23:18:40] =================== test_range_compact ====================
[23:18:40] [PASSED] 4
[23:18:40] [PASSED] 8
[23:18:40] [PASSED] 32
[23:18:40] [PASSED] 256
[23:18:40] =============== [PASSED] test_range_compact ================
[23:18:40] ==================== test_range_spare =====================
[23:18:40] [PASSED] 4
[23:18:40] [PASSED] 8
[23:18:40] [PASSED] 32
[23:18:40] [PASSED] 256
[23:18:40] ================ [PASSED] test_range_spare =================
[23:18:40] ===================== [PASSED] guc_dbm =====================
[23:18:40] =================== guc_idm (6 subtests) ===================
[23:18:40] [PASSED] bad_init
[23:18:40] [PASSED] no_init
[23:18:40] [PASSED] init_fini
[23:18:40] [PASSED] check_used
[23:18:40] [PASSED] check_quota
[23:18:40] [PASSED] check_all
[23:18:40] ===================== [PASSED] guc_idm =====================
[23:18:40] ================== no_relay (3 subtests) ===================
[23:18:40] [PASSED] xe_drops_guc2pf_if_not_ready
[23:18:40] [PASSED] xe_drops_guc2vf_if_not_ready
[23:18:40] [PASSED] xe_rejects_send_if_not_ready
[23:18:40] ==================== [PASSED] no_relay =====================
[23:18:40] ================== pf_relay (14 subtests) ==================
[23:18:40] [PASSED] pf_rejects_guc2pf_too_short
[23:18:40] [PASSED] pf_rejects_guc2pf_too_long
[23:18:40] [PASSED] pf_rejects_guc2pf_no_payload
[23:18:40] [PASSED] pf_fails_no_payload
[23:18:40] [PASSED] pf_fails_bad_origin
[23:18:40] [PASSED] pf_fails_bad_type
[23:18:40] [PASSED] pf_txn_reports_error
[23:18:40] [PASSED] pf_txn_sends_pf2guc
[23:18:40] [PASSED] pf_sends_pf2guc
[23:18:40] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[23:18:40] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[23:18:40] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[23:18:40] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[23:18:40] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[23:18:40] ==================== [PASSED] pf_relay =====================
[23:18:40] ================== vf_relay (3 subtests) ===================
[23:18:40] [PASSED] vf_rejects_guc2vf_too_short
[23:18:40] [PASSED] vf_rejects_guc2vf_too_long
[23:18:40] [PASSED] vf_rejects_guc2vf_no_payload
[23:18:40] ==================== [PASSED] vf_relay =====================
[23:18:40] ================ pf_gt_config (9 subtests) =================
[23:18:40] [PASSED] fair_contexts_1vf
[23:18:40] [PASSED] fair_doorbells_1vf
[23:18:40] [PASSED] fair_ggtt_1vf
[23:18:40] ====================== fair_vram_1vf ======================
[23:18:40] [PASSED] 3.50 GiB
[23:18:40] [PASSED] 11.5 GiB
[23:18:40] [PASSED] 15.5 GiB
[23:18:40] [PASSED] 31.5 GiB
[23:18:40] [PASSED] 63.5 GiB
[23:18:40] [PASSED] 1.91 GiB
[23:18:40] ================== [PASSED] fair_vram_1vf ==================
[23:18:40] ================ fair_vram_1vf_admin_only =================
[23:18:40] [PASSED] 3.50 GiB
[23:18:40] [PASSED] 11.5 GiB
[23:18:40] [PASSED] 15.5 GiB
[23:18:40] [PASSED] 31.5 GiB
[23:18:40] [PASSED] 63.5 GiB
[23:18:40] [PASSED] 1.91 GiB
[23:18:40] ============ [PASSED] fair_vram_1vf_admin_only =============
[23:18:40] ====================== fair_contexts ======================
[23:18:40] [PASSED] 1 VF
[23:18:40] [PASSED] 2 VFs
[23:18:40] [PASSED] 3 VFs
[23:18:40] [PASSED] 4 VFs
[23:18:40] [PASSED] 5 VFs
[23:18:40] [PASSED] 6 VFs
[23:18:40] [PASSED] 7 VFs
[23:18:40] [PASSED] 8 VFs
[23:18:40] [PASSED] 9 VFs
[23:18:40] [PASSED] 10 VFs
[23:18:40] [PASSED] 11 VFs
[23:18:40] [PASSED] 12 VFs
[23:18:40] [PASSED] 13 VFs
[23:18:40] [PASSED] 14 VFs
[23:18:40] [PASSED] 15 VFs
[23:18:40] [PASSED] 16 VFs
[23:18:40] [PASSED] 17 VFs
[23:18:40] [PASSED] 18 VFs
[23:18:40] [PASSED] 19 VFs
[23:18:40] [PASSED] 20 VFs
[23:18:40] [PASSED] 21 VFs
[23:18:40] [PASSED] 22 VFs
[23:18:40] [PASSED] 23 VFs
[23:18:40] [PASSED] 24 VFs
[23:18:40] [PASSED] 25 VFs
[23:18:40] [PASSED] 26 VFs
[23:18:40] [PASSED] 27 VFs
[23:18:40] [PASSED] 28 VFs
[23:18:40] [PASSED] 29 VFs
[23:18:40] [PASSED] 30 VFs
[23:18:40] [PASSED] 31 VFs
[23:18:40] [PASSED] 32 VFs
[23:18:40] [PASSED] 33 VFs
[23:18:40] [PASSED] 34 VFs
[23:18:40] [PASSED] 35 VFs
[23:18:40] [PASSED] 36 VFs
[23:18:40] [PASSED] 37 VFs
[23:18:40] [PASSED] 38 VFs
[23:18:40] [PASSED] 39 VFs
[23:18:40] [PASSED] 40 VFs
[23:18:40] [PASSED] 41 VFs
[23:18:40] [PASSED] 42 VFs
[23:18:40] [PASSED] 43 VFs
[23:18:40] [PASSED] 44 VFs
[23:18:40] [PASSED] 45 VFs
[23:18:40] [PASSED] 46 VFs
[23:18:40] [PASSED] 47 VFs
[23:18:40] [PASSED] 48 VFs
[23:18:40] [PASSED] 49 VFs
[23:18:40] [PASSED] 50 VFs
[23:18:40] [PASSED] 51 VFs
[23:18:40] [PASSED] 52 VFs
[23:18:40] [PASSED] 53 VFs
[23:18:40] [PASSED] 54 VFs
[23:18:40] [PASSED] 55 VFs
[23:18:40] [PASSED] 56 VFs
[23:18:40] [PASSED] 57 VFs
[23:18:40] [PASSED] 58 VFs
[23:18:40] [PASSED] 59 VFs
[23:18:40] [PASSED] 60 VFs
[23:18:40] [PASSED] 61 VFs
[23:18:40] [PASSED] 62 VFs
[23:18:40] [PASSED] 63 VFs
[23:18:40] ================== [PASSED] fair_contexts ==================
[23:18:40] ===================== fair_doorbells ======================
[23:18:40] [PASSED] 1 VF
[23:18:40] [PASSED] 2 VFs
[23:18:40] [PASSED] 3 VFs
[23:18:40] [PASSED] 4 VFs
[23:18:40] [PASSED] 5 VFs
[23:18:40] [PASSED] 6 VFs
[23:18:40] [PASSED] 7 VFs
[23:18:40] [PASSED] 8 VFs
[23:18:40] [PASSED] 9 VFs
[23:18:40] [PASSED] 10 VFs
[23:18:40] [PASSED] 11 VFs
[23:18:40] [PASSED] 12 VFs
[23:18:40] [PASSED] 13 VFs
[23:18:40] [PASSED] 14 VFs
[23:18:40] [PASSED] 15 VFs
[23:18:40] [PASSED] 16 VFs
[23:18:40] [PASSED] 17 VFs
[23:18:40] [PASSED] 18 VFs
[23:18:40] [PASSED] 19 VFs
[23:18:40] [PASSED] 20 VFs
[23:18:40] [PASSED] 21 VFs
[23:18:40] [PASSED] 22 VFs
[23:18:40] [PASSED] 23 VFs
[23:18:40] [PASSED] 24 VFs
[23:18:40] [PASSED] 25 VFs
[23:18:40] [PASSED] 26 VFs
[23:18:40] [PASSED] 27 VFs
[23:18:40] [PASSED] 28 VFs
[23:18:40] [PASSED] 29 VFs
[23:18:40] [PASSED] 30 VFs
[23:18:40] [PASSED] 31 VFs
[23:18:40] [PASSED] 32 VFs
[23:18:40] [PASSED] 33 VFs
[23:18:40] [PASSED] 34 VFs
[23:18:40] [PASSED] 35 VFs
[23:18:40] [PASSED] 36 VFs
[23:18:40] [PASSED] 37 VFs
[23:18:40] [PASSED] 38 VFs
[23:18:40] [PASSED] 39 VFs
[23:18:40] [PASSED] 40 VFs
[23:18:40] [PASSED] 41 VFs
[23:18:40] [PASSED] 42 VFs
[23:18:40] [PASSED] 43 VFs
[23:18:40] [PASSED] 44 VFs
[23:18:40] [PASSED] 45 VFs
[23:18:40] [PASSED] 46 VFs
[23:18:40] [PASSED] 47 VFs
[23:18:40] [PASSED] 48 VFs
[23:18:40] [PASSED] 49 VFs
[23:18:40] [PASSED] 50 VFs
[23:18:40] [PASSED] 51 VFs
[23:18:40] [PASSED] 52 VFs
[23:18:40] [PASSED] 53 VFs
[23:18:40] [PASSED] 54 VFs
[23:18:40] [PASSED] 55 VFs
[23:18:40] [PASSED] 56 VFs
[23:18:40] [PASSED] 57 VFs
[23:18:40] [PASSED] 58 VFs
[23:18:40] [PASSED] 59 VFs
[23:18:40] [PASSED] 60 VFs
[23:18:40] [PASSED] 61 VFs
[23:18:40] [PASSED] 62 VFs
[23:18:40] [PASSED] 63 VFs
[23:18:40] ================= [PASSED] fair_doorbells ==================
[23:18:40] ======================== fair_ggtt ========================
[23:18:40] [PASSED] 1 VF
[23:18:40] [PASSED] 2 VFs
[23:18:40] [PASSED] 3 VFs
[23:18:40] [PASSED] 4 VFs
[23:18:40] [PASSED] 5 VFs
[23:18:40] [PASSED] 6 VFs
[23:18:40] [PASSED] 7 VFs
[23:18:40] [PASSED] 8 VFs
[23:18:40] [PASSED] 9 VFs
[23:18:40] [PASSED] 10 VFs
[23:18:40] [PASSED] 11 VFs
[23:18:40] [PASSED] 12 VFs
[23:18:40] [PASSED] 13 VFs
[23:18:40] [PASSED] 14 VFs
[23:18:40] [PASSED] 15 VFs
[23:18:40] [PASSED] 16 VFs
[23:18:40] [PASSED] 17 VFs
[23:18:40] [PASSED] 18 VFs
[23:18:40] [PASSED] 19 VFs
[23:18:40] [PASSED] 20 VFs
[23:18:40] [PASSED] 21 VFs
[23:18:40] [PASSED] 22 VFs
[23:18:40] [PASSED] 23 VFs
[23:18:40] [PASSED] 24 VFs
[23:18:40] [PASSED] 25 VFs
[23:18:40] [PASSED] 26 VFs
[23:18:40] [PASSED] 27 VFs
[23:18:40] [PASSED] 28 VFs
[23:18:41] [PASSED] 29 VFs
[23:18:41] [PASSED] 30 VFs
[23:18:41] [PASSED] 31 VFs
[23:18:41] [PASSED] 32 VFs
[23:18:41] [PASSED] 33 VFs
[23:18:41] [PASSED] 34 VFs
[23:18:41] [PASSED] 35 VFs
[23:18:41] [PASSED] 36 VFs
[23:18:41] [PASSED] 37 VFs
[23:18:41] [PASSED] 38 VFs
[23:18:41] [PASSED] 39 VFs
[23:18:41] [PASSED] 40 VFs
[23:18:41] [PASSED] 41 VFs
[23:18:41] [PASSED] 42 VFs
[23:18:41] [PASSED] 43 VFs
[23:18:41] [PASSED] 44 VFs
[23:18:41] [PASSED] 45 VFs
[23:18:41] [PASSED] 46 VFs
[23:18:41] [PASSED] 47 VFs
[23:18:41] [PASSED] 48 VFs
[23:18:41] [PASSED] 49 VFs
[23:18:41] [PASSED] 50 VFs
[23:18:41] [PASSED] 51 VFs
[23:18:41] [PASSED] 52 VFs
[23:18:41] [PASSED] 53 VFs
[23:18:41] [PASSED] 54 VFs
[23:18:41] [PASSED] 55 VFs
[23:18:41] [PASSED] 56 VFs
[23:18:41] [PASSED] 57 VFs
[23:18:41] [PASSED] 58 VFs
[23:18:41] [PASSED] 59 VFs
[23:18:41] [PASSED] 60 VFs
[23:18:41] [PASSED] 61 VFs
[23:18:41] [PASSED] 62 VFs
[23:18:41] [PASSED] 63 VFs
[23:18:41] ==================== [PASSED] fair_ggtt ====================
[23:18:41] ======================== fair_vram ========================
[23:18:41] [PASSED] 1 VF
[23:18:41] [PASSED] 2 VFs
[23:18:41] [PASSED] 3 VFs
[23:18:41] [PASSED] 4 VFs
[23:18:41] [PASSED] 5 VFs
[23:18:41] [PASSED] 6 VFs
[23:18:41] [PASSED] 7 VFs
[23:18:41] [PASSED] 8 VFs
[23:18:41] [PASSED] 9 VFs
[23:18:41] [PASSED] 10 VFs
[23:18:41] [PASSED] 11 VFs
[23:18:41] [PASSED] 12 VFs
[23:18:41] [PASSED] 13 VFs
[23:18:41] [PASSED] 14 VFs
[23:18:41] [PASSED] 15 VFs
[23:18:41] [PASSED] 16 VFs
[23:18:41] [PASSED] 17 VFs
[23:18:41] [PASSED] 18 VFs
[23:18:41] [PASSED] 19 VFs
[23:18:41] [PASSED] 20 VFs
[23:18:41] [PASSED] 21 VFs
[23:18:41] [PASSED] 22 VFs
[23:18:41] [PASSED] 23 VFs
[23:18:41] [PASSED] 24 VFs
[23:18:41] [PASSED] 25 VFs
[23:18:41] [PASSED] 26 VFs
[23:18:41] [PASSED] 27 VFs
[23:18:41] [PASSED] 28 VFs
[23:18:41] [PASSED] 29 VFs
[23:18:41] [PASSED] 30 VFs
[23:18:41] [PASSED] 31 VFs
[23:18:41] [PASSED] 32 VFs
[23:18:41] [PASSED] 33 VFs
[23:18:41] [PASSED] 34 VFs
[23:18:41] [PASSED] 35 VFs
[23:18:41] [PASSED] 36 VFs
[23:18:41] [PASSED] 37 VFs
[23:18:41] [PASSED] 38 VFs
[23:18:41] [PASSED] 39 VFs
[23:18:41] [PASSED] 40 VFs
[23:18:41] [PASSED] 41 VFs
[23:18:41] [PASSED] 42 VFs
[23:18:41] [PASSED] 43 VFs
[23:18:41] [PASSED] 44 VFs
[23:18:41] [PASSED] 45 VFs
[23:18:41] [PASSED] 46 VFs
[23:18:41] [PASSED] 47 VFs
[23:18:41] [PASSED] 48 VFs
[23:18:41] [PASSED] 49 VFs
[23:18:41] [PASSED] 50 VFs
[23:18:41] [PASSED] 51 VFs
[23:18:41] [PASSED] 52 VFs
[23:18:41] [PASSED] 53 VFs
[23:18:41] [PASSED] 54 VFs
[23:18:41] [PASSED] 55 VFs
[23:18:41] [PASSED] 56 VFs
[23:18:41] [PASSED] 57 VFs
[23:18:41] [PASSED] 58 VFs
[23:18:41] [PASSED] 59 VFs
[23:18:41] [PASSED] 60 VFs
[23:18:41] [PASSED] 61 VFs
[23:18:41] [PASSED] 62 VFs
[23:18:41] [PASSED] 63 VFs
[23:18:41] ==================== [PASSED] fair_vram ====================
[23:18:41] ================== [PASSED] pf_gt_config ===================
[23:18:41] ===================== lmtt (1 subtest) =====================
[23:18:41] ======================== test_ops =========================
[23:18:41] [PASSED] 2-level
[23:18:41] [PASSED] multi-level
[23:18:41] ==================== [PASSED] test_ops =====================
[23:18:41] ====================== [PASSED] lmtt =======================
[23:18:41] ================= pf_service (11 subtests) =================
[23:18:41] [PASSED] pf_negotiate_any
[23:18:41] [PASSED] pf_negotiate_base_match
[23:18:41] [PASSED] pf_negotiate_base_newer
[23:18:41] [PASSED] pf_negotiate_base_next
[23:18:41] [SKIPPED] pf_negotiate_base_older (no older minor)
[23:18:41] [PASSED] pf_negotiate_base_prev
[23:18:41] [PASSED] pf_negotiate_latest_match
[23:18:41] [PASSED] pf_negotiate_latest_newer
[23:18:41] [PASSED] pf_negotiate_latest_next
[23:18:41] [SKIPPED] pf_negotiate_latest_older (no older minor)
[23:18:41] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[23:18:41] =================== [PASSED] pf_service ====================
[23:18:41] ================= xe_guc_g2g (2 subtests) ==================
[23:18:41] ============== xe_live_guc_g2g_kunit_default ==============
[23:18:41] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[23:18:41] ============== xe_live_guc_g2g_kunit_allmem ===============
[23:18:41] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[23:18:41] =================== [SKIPPED] xe_guc_g2g ===================
[23:18:41] =================== xe_mocs (2 subtests) ===================
[23:18:41] ================ xe_live_mocs_kernel_kunit ================
[23:18:41] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[23:18:41] ================ xe_live_mocs_reset_kunit =================
[23:18:41] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[23:18:41] ==================== [SKIPPED] xe_mocs =====================
[23:18:41] ================= xe_migrate (2 subtests) ==================
[23:18:41] ================= xe_migrate_sanity_kunit =================
[23:18:41] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[23:18:41] ================== xe_validate_ccs_kunit ==================
[23:18:41] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[23:18:41] =================== [SKIPPED] xe_migrate ===================
[23:18:41] ================== xe_dma_buf (1 subtest) ==================
[23:18:41] ==================== xe_dma_buf_kunit =====================
[23:18:41] ================ [SKIPPED] xe_dma_buf_kunit ================
[23:18:41] =================== [SKIPPED] xe_dma_buf ===================
[23:18:41] ================= xe_bo_shrink (1 subtest) =================
[23:18:41] =================== xe_bo_shrink_kunit ====================
[23:18:41] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[23:18:41] ================== [SKIPPED] xe_bo_shrink ==================
[23:18:41] ==================== xe_bo (2 subtests) ====================
[23:18:41] ================== xe_ccs_migrate_kunit ===================
[23:18:41] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[23:18:41] ==================== xe_bo_evict_kunit ====================
[23:18:41] =============== [SKIPPED] xe_bo_evict_kunit ================
[23:18:41] ===================== [SKIPPED] xe_bo ======================
[23:18:41] ==================== args (13 subtests) ====================
[23:18:41] [PASSED] count_args_test
[23:18:41] [PASSED] call_args_example
[23:18:41] [PASSED] call_args_test
[23:18:41] [PASSED] drop_first_arg_example
[23:18:41] [PASSED] drop_first_arg_test
[23:18:41] [PASSED] first_arg_example
[23:18:41] [PASSED] first_arg_test
[23:18:41] [PASSED] last_arg_example
[23:18:41] [PASSED] last_arg_test
[23:18:41] [PASSED] pick_arg_example
[23:18:41] [PASSED] if_args_example
[23:18:41] [PASSED] if_args_test
[23:18:41] [PASSED] sep_comma_example
[23:18:41] ====================== [PASSED] args =======================
[23:18:41] =================== xe_pci (3 subtests) ====================
[23:18:41] ==================== check_graphics_ip ====================
[23:18:41] [PASSED] 12.00 Xe_LP
[23:18:41] [PASSED] 12.10 Xe_LP+
[23:18:41] [PASSED] 12.55 Xe_HPG
[23:18:41] [PASSED] 12.60 Xe_HPC
[23:18:41] [PASSED] 12.70 Xe_LPG
[23:18:41] [PASSED] 12.71 Xe_LPG
[23:18:41] [PASSED] 12.74 Xe_LPG+
[23:18:41] [PASSED] 20.01 Xe2_HPG
[23:18:41] [PASSED] 20.02 Xe2_HPG
[23:18:41] [PASSED] 20.04 Xe2_LPG
[23:18:41] [PASSED] 30.00 Xe3_LPG
[23:18:41] [PASSED] 30.01 Xe3_LPG
[23:18:41] [PASSED] 30.03 Xe3_LPG
[23:18:41] [PASSED] 30.04 Xe3_LPG
[23:18:41] [PASSED] 30.05 Xe3_LPG
[23:18:41] [PASSED] 35.10 Xe3p_LPG
[23:18:41] [PASSED] 35.11 Xe3p_XPC
[23:18:41] ================ [PASSED] check_graphics_ip ================
[23:18:41] ===================== check_media_ip ======================
[23:18:41] [PASSED] 12.00 Xe_M
[23:18:41] [PASSED] 12.55 Xe_HPM
[23:18:41] [PASSED] 13.00 Xe_LPM+
[23:18:41] [PASSED] 13.01 Xe2_HPM
[23:18:41] [PASSED] 20.00 Xe2_LPM
[23:18:41] [PASSED] 30.00 Xe3_LPM
[23:18:41] [PASSED] 30.02 Xe3_LPM
[23:18:41] [PASSED] 35.00 Xe3p_LPM
[23:18:41] [PASSED] 35.03 Xe3p_HPM
[23:18:41] ================= [PASSED] check_media_ip ==================
[23:18:41] =================== check_platform_desc ===================
[23:18:41] [PASSED] 0x9A60 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A68 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A70 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A40 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A49 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A59 (TIGERLAKE)
[23:18:41] [PASSED] 0x9A78 (TIGERLAKE)
[23:18:41] [PASSED] 0x9AC0 (TIGERLAKE)
[23:18:41] [PASSED] 0x9AC9 (TIGERLAKE)
[23:18:41] [PASSED] 0x9AD9 (TIGERLAKE)
[23:18:41] [PASSED] 0x9AF8 (TIGERLAKE)
[23:18:41] [PASSED] 0x4C80 (ROCKETLAKE)
[23:18:41] [PASSED] 0x4C8A (ROCKETLAKE)
[23:18:41] [PASSED] 0x4C8B (ROCKETLAKE)
[23:18:41] [PASSED] 0x4C8C (ROCKETLAKE)
[23:18:41] [PASSED] 0x4C90 (ROCKETLAKE)
[23:18:41] [PASSED] 0x4C9A (ROCKETLAKE)
[23:18:41] [PASSED] 0x4680 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4682 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4688 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x468A (ALDERLAKE_S)
[23:18:41] [PASSED] 0x468B (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4690 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4692 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4693 (ALDERLAKE_S)
[23:18:41] [PASSED] 0x46A0 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46A1 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46A2 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46A3 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46A6 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46A8 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46AA (ALDERLAKE_P)
[23:18:41] [PASSED] 0x462A (ALDERLAKE_P)
[23:18:41] [PASSED] 0x4626 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x4628 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46B0 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46B1 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46B2 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46B3 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46C0 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46C1 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46C2 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46C3 (ALDERLAKE_P)
[23:18:41] [PASSED] 0x46D0 (ALDERLAKE_N)
[23:18:41] [PASSED] 0x46D1 (ALDERLAKE_N)
[23:18:41] [PASSED] 0x46D2 (ALDERLAKE_N)
[23:18:41] [PASSED] 0x46D3 (ALDERLAKE_N)
[23:18:41] [PASSED] 0x46D4 (ALDERLAKE_N)
[23:18:41] [PASSED] 0xA721 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7A1 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7A9 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7AC (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7AD (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA720 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7A0 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7A8 (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7AA (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA7AB (ALDERLAKE_P)
[23:18:41] [PASSED] 0xA780 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA781 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA782 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA783 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA788 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA789 (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA78A (ALDERLAKE_S)
[23:18:41] [PASSED] 0xA78B (ALDERLAKE_S)
[23:18:41] [PASSED] 0x4905 (DG1)
[23:18:41] [PASSED] 0x4906 (DG1)
[23:18:41] [PASSED] 0x4907 (DG1)
[23:18:41] [PASSED] 0x4908 (DG1)
[23:18:41] [PASSED] 0x4909 (DG1)
[23:18:41] [PASSED] 0x56C0 (DG2)
[23:18:41] [PASSED] 0x56C2 (DG2)
[23:18:41] [PASSED] 0x56C1 (DG2)
[23:18:41] [PASSED] 0x7D51 (METEORLAKE)
[23:18:41] [PASSED] 0x7DD1 (METEORLAKE)
[23:18:41] [PASSED] 0x7D41 (METEORLAKE)
[23:18:41] [PASSED] 0x7D67 (METEORLAKE)
[23:18:41] [PASSED] 0xB640 (METEORLAKE)
[23:18:41] [PASSED] 0x56A0 (DG2)
[23:18:41] [PASSED] 0x56A1 (DG2)
[23:18:41] [PASSED] 0x56A2 (DG2)
[23:18:41] [PASSED] 0x56BE (DG2)
[23:18:41] [PASSED] 0x56BF (DG2)
[23:18:41] [PASSED] 0x5690 (DG2)
[23:18:41] [PASSED] 0x5691 (DG2)
[23:18:41] [PASSED] 0x5692 (DG2)
[23:18:41] [PASSED] 0x56A5 (DG2)
[23:18:41] [PASSED] 0x56A6 (DG2)
[23:18:41] [PASSED] 0x56B0 (DG2)
[23:18:41] [PASSED] 0x56B1 (DG2)
[23:18:41] [PASSED] 0x56BA (DG2)
[23:18:41] [PASSED] 0x56BB (DG2)
[23:18:41] [PASSED] 0x56BC (DG2)
[23:18:41] [PASSED] 0x56BD (DG2)
[23:18:41] [PASSED] 0x5693 (DG2)
[23:18:41] [PASSED] 0x5694 (DG2)
[23:18:41] [PASSED] 0x5695 (DG2)
[23:18:41] [PASSED] 0x56A3 (DG2)
[23:18:41] [PASSED] 0x56A4 (DG2)
[23:18:41] [PASSED] 0x56B2 (DG2)
[23:18:41] [PASSED] 0x56B3 (DG2)
[23:18:41] [PASSED] 0x5696 (DG2)
[23:18:41] [PASSED] 0x5697 (DG2)
[23:18:41] [PASSED] 0xB69 (PVC)
[23:18:41] [PASSED] 0xB6E (PVC)
[23:18:41] [PASSED] 0xBD4 (PVC)
[23:18:41] [PASSED] 0xBD5 (PVC)
[23:18:41] [PASSED] 0xBD6 (PVC)
[23:18:41] [PASSED] 0xBD7 (PVC)
[23:18:41] [PASSED] 0xBD8 (PVC)
[23:18:41] [PASSED] 0xBD9 (PVC)
[23:18:41] [PASSED] 0xBDA (PVC)
[23:18:41] [PASSED] 0xBDB (PVC)
[23:18:41] [PASSED] 0xBE0 (PVC)
[23:18:41] [PASSED] 0xBE1 (PVC)
[23:18:41] [PASSED] 0xBE5 (PVC)
[23:18:41] [PASSED] 0x7D40 (METEORLAKE)
[23:18:41] [PASSED] 0x7D45 (METEORLAKE)
[23:18:41] [PASSED] 0x7D55 (METEORLAKE)
[23:18:41] [PASSED] 0x7D60 (METEORLAKE)
[23:18:41] [PASSED] 0x7DD5 (METEORLAKE)
[23:18:41] [PASSED] 0x6420 (LUNARLAKE)
[23:18:41] [PASSED] 0x64A0 (LUNARLAKE)
[23:18:41] [PASSED] 0x64B0 (LUNARLAKE)
[23:18:41] [PASSED] 0xE202 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE209 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE20B (BATTLEMAGE)
[23:18:41] [PASSED] 0xE20C (BATTLEMAGE)
[23:18:41] [PASSED] 0xE20D (BATTLEMAGE)
[23:18:41] [PASSED] 0xE210 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE211 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE212 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE216 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE220 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE221 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE222 (BATTLEMAGE)
[23:18:41] [PASSED] 0xE223 (BATTLEMAGE)
[23:18:41] [PASSED] 0xB080 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB081 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB082 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB083 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB084 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB085 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB086 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB087 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB08F (PANTHERLAKE)
[23:18:41] [PASSED] 0xB090 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB0A0 (PANTHERLAKE)
[23:18:41] [PASSED] 0xB0B0 (PANTHERLAKE)
[23:18:41] [PASSED] 0xFD80 (PANTHERLAKE)
[23:18:41] [PASSED] 0xFD81 (PANTHERLAKE)
[23:18:41] [PASSED] 0xD740 (NOVALAKE_S)
[23:18:41] [PASSED] 0xD741 (NOVALAKE_S)
[23:18:41] [PASSED] 0xD742 (NOVALAKE_S)
[23:18:41] [PASSED] 0xD743 (NOVALAKE_S)
[23:18:41] [PASSED] 0xD745 (NOVALAKE_S)
[23:18:41] [PASSED] 0xD74A (NOVALAKE_S)
[23:18:41] [PASSED] 0xD74B (NOVALAKE_S)
[23:18:41] [PASSED] 0x674C (CRESCENTISLAND)
[23:18:41] [PASSED] 0x674D (CRESCENTISLAND)
[23:18:41] [PASSED] 0x674E (CRESCENTISLAND)
[23:18:41] [PASSED] 0x674F (CRESCENTISLAND)
[23:18:41] [PASSED] 0x6750 (CRESCENTISLAND)
[23:18:41] [PASSED] 0xD750 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD751 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD752 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD753 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD754 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD755 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD756 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD757 (NOVALAKE_P)
[23:18:41] [PASSED] 0xD75F (NOVALAKE_P)
[23:18:41] =============== [PASSED] check_platform_desc ===============
[23:18:41] ===================== [PASSED] xe_pci ======================
[23:18:41] ============= xe_rtp_tables_test (4 subtests) ==============
[23:18:41] ================== xe_rtp_table_gt_test ===================
[23:18:41] [PASSED] gt_was/14011060649
[23:18:41] [PASSED] gt_was/14011059788
[23:18:41] [PASSED] gt_was/14015795083
[23:18:41] [PASSED] gt_was/16021867713
[23:18:41] [PASSED] gt_was/14019449301
[23:18:41] [PASSED] gt_was/16028005424
[23:18:41] [PASSED] gt_was/14026578760
[23:18:41] [PASSED] gt_was/1409420604
[23:18:41] [PASSED] gt_was/1408615072
[23:18:41] [PASSED] gt_was/22010523718
[23:18:41] [PASSED] gt_was/14011006942
[23:18:41] [PASSED] gt_was/14014830051
[23:18:41] [PASSED] gt_was/18018781329
[23:18:41] [PASSED] gt_was/1509235366
[23:18:41] [PASSED] gt_was/18018781329
[23:18:41] [PASSED] gt_was/16016694945
[23:18:41] [PASSED] gt_was/14018575942
[23:18:41] [PASSED] gt_was/22016670082
[23:18:41] [PASSED] gt_was/22016670082
[23:18:41] [PASSED] gt_was/14017421178
[23:18:41] [PASSED] gt_was/16025250150
[23:18:41] [PASSED] gt_was/14021871409
[23:18:41] [PASSED] gt_was/16021865536
[23:18:41] [PASSED] gt_was/14021486841
[23:18:41] [PASSED] gt_was/14025160223
[23:18:41] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[23:18:41] [PASSED] gt_was/14025635424
[23:18:41] [PASSED] gt_was/16028005424
[23:18:41] ============== [PASSED] xe_rtp_table_gt_test ===============
[23:18:41] ================== xe_rtp_table_gt_test ===================
[23:18:41] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[23:18:41] [PASSED] gt_tunings/Tuning: 32B Access Enable
[23:18:41] [PASSED] gt_tunings/Tuning: L3 cache
[23:18:41] [PASSED] gt_tunings/Tuning: L3 cache - media
[23:18:41] [PASSED] gt_tunings/Tuning: Compression Overfetch
[23:18:41] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[23:18:41] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[23:18:41] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[23:18:41] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[23:18:41] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[23:18:41] [PASSED] gt_tunings/Tuning: Stateless compression control
[23:18:41] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[23:18:41] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[23:18:41] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[23:18:41] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[23:18:41] ============== [PASSED] xe_rtp_table_gt_test ===============
[23:18:41] ================== xe_rtp_table_oob_test ==================
[23:18:41] [PASSED] oob_was/1607983814
[23:18:41] [PASSED] oob_was/16010904313
[23:18:41] [PASSED] oob_was/18022495364
[23:18:41] [PASSED] oob_was/22012773006
[23:18:41] [PASSED] oob_was/14014475959
[23:18:41] [PASSED] oob_was/22011391025
[23:18:41] [PASSED] oob_was/22012727170
[23:18:41] [PASSED] oob_was/22012727685
[23:18:41] [PASSED] oob_was/22016596838
[23:18:41] [PASSED] oob_was/18020744125
[23:18:41] [PASSED] oob_was/1409600907
[23:18:41] [PASSED] oob_was/22014953428
[23:18:41] [PASSED] oob_was/16017236439
[23:18:41] [PASSED] oob_was/14019821291
[23:18:41] [PASSED] oob_was/14015076503
[23:18:41] [PASSED] oob_was/14018913170
[23:18:41] [PASSED] oob_was/14018094691
[23:18:41] [PASSED] oob_was/18024947630
[23:18:41] [PASSED] oob_was/16022287689
[23:18:41] [PASSED] oob_was/13011645652
[23:18:41] [PASSED] oob_was/14022293748
[23:18:41] [PASSED] oob_was/22019794406
[23:18:41] [PASSED] oob_was/22019338487
[23:18:41] [PASSED] oob_was/16023588340
[23:18:41] [PASSED] oob_was/14019789679
[23:18:41] [PASSED] oob_was/14022866841
[23:18:41] [PASSED] oob_was/16021333562
[23:18:41] [PASSED] oob_was/14016712196
[23:18:41] [PASSED] oob_was/14015568240
[23:18:41] [PASSED] oob_was/18013179988
[23:18:41] [PASSED] oob_was/1508761755
[23:18:41] [PASSED] oob_was/16023105232
[23:18:41] [PASSED] oob_was/16026508708
[23:18:41] [PASSED] oob_was/14020001231
[23:18:41] [PASSED] oob_was/16023683509
[23:18:41] [PASSED] oob_was/14025515070
[23:18:41] [PASSED] oob_was/15015404425_disable
[23:18:41] [PASSED] oob_was/16026007364
[23:18:41] [PASSED] oob_was/14020316580
[23:18:41] [PASSED] oob_was/14025883347
[23:18:41] [PASSED] oob_was/16029380221
[23:18:41] ============== [PASSED] xe_rtp_table_oob_test ==============
[23:18:41] ================ xe_rtp_table_dev_oob_test ================
[23:18:41] [PASSED] device_oob_was/22010954014
[23:18:41] [PASSED] device_oob_was/15015404425
[23:18:41] [PASSED] device_oob_was/22019338487_display
[23:18:41] [PASSED] device_oob_was/14022085890
[23:18:41] [PASSED] device_oob_was/14026539277
[23:18:41] [PASSED] device_oob_was/14026633728
[23:18:41] [PASSED] device_oob_was/14026746987
[23:18:41] [PASSED] device_oob_was/14026779378
[23:18:41] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[23:18:41] =============== [PASSED] xe_rtp_tables_test ================
[23:18:41] =================== xe_rtp (3 subtests) ====================
[23:18:41] =================== xe_rtp_rules_tests ====================
[23:18:41] [PASSED] no
[23:18:41] [PASSED] yes
[23:18:41] [PASSED] no-and-no
[23:18:41] [PASSED] no-and-yes
[23:18:41] [PASSED] yes-and-no
[23:18:41] [PASSED] yes-and-yes
[23:18:41] [PASSED] no-or-no
[23:18:41] [PASSED] no-or-yes
[23:18:41] [PASSED] yes-or-no
[23:18:41] [PASSED] yes-or-yes
[23:18:41] [PASSED] no-yes-or-yes-no
[23:18:41] [PASSED] no-yes-or-yes-yes
[23:18:41] [PASSED] yes-yes-or-no-yes
[23:18:41] [PASSED] yes-yes-or-yes-yes
[23:18:41] [PASSED] no-no-or-yes-or-no
[23:18:41] [PASSED] or
[23:18:41] [PASSED] or-yes
[23:18:41] [PASSED] or-no
[23:18:41] [PASSED] yes-or
[23:18:41] [PASSED] no-or
[23:18:41] [PASSED] no-or-or-yes
[23:18:41] [PASSED] yes-or-or-no
[23:18:41] [PASSED] no-or-or-no
[23:18:41] [PASSED] missing-context-engine-class
[23:18:41] [PASSED] missing-context-engine-class-or-yes
[23:18:41] [PASSED] missing-context-engine-class-or-or-yes
[23:18:41] =============== [PASSED] xe_rtp_rules_tests ================
[23:18:41] =============== xe_rtp_process_to_sr_tests ================
[23:18:41] [PASSED] coalesce-same-reg
[23:18:41] [PASSED] coalesce-same-reg-literal-and-func
[23:18:41] [PASSED] no-match-no-add
[23:18:41] [PASSED] two-regs-two-entries
[23:18:41] [PASSED] clr-one-set-other
[23:18:41] [PASSED] set-field
[23:18:41] [PASSED] conflict-duplicate
[23:18:41] [PASSED] conflict-not-disjoint
[23:18:41] [PASSED] conflict-not-disjoint-literal-and-func
[23:18:41] [PASSED] conflict-reg-type
[23:18:41] [PASSED] bad-mcr-reg-forced-to-regular
[23:18:41] [PASSED] bad-regular-reg-forced-to-mcr
[23:18:41] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[23:18:41] ================== xe_rtp_process_tests ===================
[23:18:41] [PASSED] active1
[23:18:41] [PASSED] active2
[23:18:41] [PASSED] active-inactive
[23:18:41] [PASSED] inactive-active
[23:18:41] [PASSED] inactive-active-inactive
[23:18:41] [PASSED] inactive-inactive-inactive
[23:18:41] ============== [PASSED] xe_rtp_process_tests ===============
[23:18:41] ===================== [PASSED] xe_rtp ======================
[23:18:41] ==================== xe_wa (1 subtest) =====================
[23:18:41] ======================== xe_wa_gt =========================
[23:18:41] [PASSED] TIGERLAKE B0
[23:18:41] [PASSED] DG1 A0
[23:18:41] [PASSED] DG1 B0
[23:18:41] [PASSED] ALDERLAKE_S A0
[23:18:41] [PASSED] ALDERLAKE_S B0
[23:18:41] [PASSED] ALDERLAKE_S C0
[23:18:41] [PASSED] ALDERLAKE_S D0
[23:18:41] [PASSED] ALDERLAKE_P A0
[23:18:41] [PASSED] ALDERLAKE_P B0
[23:18:41] [PASSED] ALDERLAKE_P C0
[23:18:41] [PASSED] ALDERLAKE_S RPLS D0
[23:18:41] [PASSED] ALDERLAKE_P RPLU E0
[23:18:41] [PASSED] DG2 G10 C0
[23:18:41] [PASSED] DG2 G11 B1
[23:18:41] [PASSED] DG2 G12 A1
[23:18:41] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:18:41] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[23:18:41] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[23:18:41] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[23:18:41] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[23:18:41] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[23:18:41] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[23:18:41] ==================== [PASSED] xe_wa_gt =====================
[23:18:41] ====================== [PASSED] xe_wa ======================
[23:18:41] ============================================================
[23:18:41] Testing complete. Ran 719 tests: passed: 701, skipped: 18
[23:18:41] Elapsed time: 71.013s total, 12.492s configuring, 57.196s building, 1.270s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[23:18:41] Configuring KUnit Kernel ...
Regenerating .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:34] Starting KUnit Kernel (1/1)...
[23:19:34] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:19:34] ============ drm_test_pick_cmdline (2 subtests) ============
[23:19:34] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[23:19:34] =============== drm_test_pick_cmdline_named ===============
[23:19:34] [PASSED] NTSC
[23:19:34] [PASSED] NTSC-J
[23:19:34] [PASSED] PAL
[23:19:34] [PASSED] PAL-M
[23:19:34] =========== [PASSED] drm_test_pick_cmdline_named ===========
[23:19:34] ============== [PASSED] drm_test_pick_cmdline ==============
[23:19:34] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[23:19:34] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[23:19:34] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[23:19:34] =========== drm_validate_clone_mode (2 subtests) ===========
[23:19:34] ============== drm_test_check_in_clone_mode ===============
[23:19:34] [PASSED] in_clone_mode
[23:19:34] [PASSED] not_in_clone_mode
[23:19:34] ========== [PASSED] drm_test_check_in_clone_mode ===========
[23:19:34] =============== drm_test_check_valid_clones ===============
[23:19:34] [PASSED] not_in_clone_mode
[23:19:34] [PASSED] valid_clone
[23:19:34] [PASSED] invalid_clone
[23:19:34] =========== [PASSED] drm_test_check_valid_clones ===========
[23:19:34] ============= [PASSED] drm_validate_clone_mode =============
[23:19:34] ============= drm_validate_modeset (1 subtest) =============
[23:19:34] [PASSED] drm_test_check_connector_changed_modeset
[23:19:34] ============== [PASSED] drm_validate_modeset ===============
[23:19:34] ====== drm_test_bridge_get_current_state (2 subtests) ======
[23:19:34] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[23:19:34] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[23:19:34] ======== [PASSED] drm_test_bridge_get_current_state ========
[23:19:34] ====== drm_test_bridge_helper_reset_crtc (4 subtests) ======
[23:19:34] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[23:19:34] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[23:19:34] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[23:19:34] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[23:19:34] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[23:19:34] ============== drm_bridge_alloc (2 subtests) ===============
[23:19:34] [PASSED] drm_test_drm_bridge_alloc_basic
[23:19:34] [PASSED] drm_test_drm_bridge_alloc_get_put
[23:19:34] ================ [PASSED] drm_bridge_alloc =================
[23:19:34] ============= drm_bridge_bus_fmt (5 subtests) ==============
[23:19:34] [PASSED] drm_test_bridge_rgb_yuv_rgb
[23:19:34] [PASSED] drm_test_bridge_must_convert_to_yuv444
[23:19:34] [PASSED] drm_test_bridge_hdmi_auto_rgb
[23:19:34] [PASSED] drm_test_bridge_auto_first
[23:19:34] [PASSED] drm_test_bridge_rgb_yuv_no_path
[23:19:34] =============== [PASSED] drm_bridge_bus_fmt ================
[23:19:34] ============= drm_cmdline_parser (40 subtests) =============
[23:19:34] [PASSED] drm_test_cmdline_force_d_only
[23:19:34] [PASSED] drm_test_cmdline_force_D_only_dvi
[23:19:34] [PASSED] drm_test_cmdline_force_D_only_hdmi
[23:19:34] [PASSED] drm_test_cmdline_force_D_only_not_digital
[23:19:34] [PASSED] drm_test_cmdline_force_e_only
[23:19:34] [PASSED] drm_test_cmdline_res
[23:19:34] [PASSED] drm_test_cmdline_res_vesa
[23:19:34] [PASSED] drm_test_cmdline_res_vesa_rblank
[23:19:34] [PASSED] drm_test_cmdline_res_rblank
[23:19:34] [PASSED] drm_test_cmdline_res_bpp
[23:19:34] [PASSED] drm_test_cmdline_res_refresh
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[23:19:34] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[23:19:34] [PASSED] drm_test_cmdline_res_margins_force_on
[23:19:34] [PASSED] drm_test_cmdline_res_vesa_margins
[23:19:34] [PASSED] drm_test_cmdline_name
[23:19:34] [PASSED] drm_test_cmdline_name_bpp
[23:19:34] [PASSED] drm_test_cmdline_name_option
[23:19:34] [PASSED] drm_test_cmdline_name_bpp_option
[23:19:34] [PASSED] drm_test_cmdline_rotate_0
[23:19:34] [PASSED] drm_test_cmdline_rotate_90
[23:19:34] [PASSED] drm_test_cmdline_rotate_180
[23:19:34] [PASSED] drm_test_cmdline_rotate_270
[23:19:34] [PASSED] drm_test_cmdline_hmirror
[23:19:34] [PASSED] drm_test_cmdline_vmirror
[23:19:34] [PASSED] drm_test_cmdline_margin_options
[23:19:34] [PASSED] drm_test_cmdline_multiple_options
[23:19:34] [PASSED] drm_test_cmdline_bpp_extra_and_option
[23:19:34] [PASSED] drm_test_cmdline_extra_and_option
[23:19:34] [PASSED] drm_test_cmdline_freestanding_options
[23:19:34] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[23:19:34] [PASSED] drm_test_cmdline_panel_orientation
[23:19:34] ================ drm_test_cmdline_invalid =================
[23:19:34] [PASSED] margin_only
[23:19:34] [PASSED] interlace_only
[23:19:34] [PASSED] res_missing_x
[23:19:34] [PASSED] res_missing_y
[23:19:34] [PASSED] res_bad_y
[23:19:34] [PASSED] res_missing_y_bpp
[23:19:34] [PASSED] res_bad_bpp
[23:19:34] [PASSED] res_bad_refresh
[23:19:34] [PASSED] res_bpp_refresh_force_on_off
[23:19:34] [PASSED] res_invalid_mode
[23:19:34] [PASSED] res_bpp_wrong_place_mode
[23:19:34] [PASSED] name_bpp_refresh
[23:19:34] [PASSED] name_refresh
[23:19:34] [PASSED] name_refresh_wrong_mode
[23:19:34] [PASSED] name_refresh_invalid_mode
[23:19:34] [PASSED] rotate_multiple
[23:19:34] [PASSED] rotate_invalid_val
[23:19:34] [PASSED] rotate_truncated
[23:19:34] [PASSED] invalid_option
[23:19:34] [PASSED] invalid_tv_option
[23:19:34] [PASSED] truncated_tv_option
[23:19:34] ============ [PASSED] drm_test_cmdline_invalid =============
[23:19:34] =============== drm_test_cmdline_tv_options ===============
[23:19:34] [PASSED] NTSC
[23:19:34] [PASSED] NTSC_443
[23:19:34] [PASSED] NTSC_J
[23:19:34] [PASSED] PAL
[23:19:34] [PASSED] PAL_M
[23:19:34] [PASSED] PAL_N
[23:19:34] [PASSED] SECAM
[23:19:34] [PASSED] MONO_525
[23:19:34] [PASSED] MONO_625
[23:19:34] =========== [PASSED] drm_test_cmdline_tv_options ===========
[23:19:34] =============== [PASSED] drm_cmdline_parser ================
[23:19:34] ========== drmm_connector_hdmi_init (20 subtests) ==========
[23:19:34] [PASSED] drm_test_connector_hdmi_init_valid
[23:19:34] [PASSED] drm_test_connector_hdmi_init_bpc_8
[23:19:34] [PASSED] drm_test_connector_hdmi_init_bpc_10
[23:19:34] [PASSED] drm_test_connector_hdmi_init_bpc_12
[23:19:34] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[23:19:34] [PASSED] drm_test_connector_hdmi_init_bpc_null
[23:19:34] [PASSED] drm_test_connector_hdmi_init_formats_empty
[23:19:34] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[23:19:34] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:19:34] [PASSED] supported_formats=0x9 yuv420_allowed=1
[23:19:34] [PASSED] supported_formats=0x9 yuv420_allowed=0
[23:19:34] [PASSED] supported_formats=0x5 yuv420_allowed=1
[23:19:34] [PASSED] supported_formats=0x5 yuv420_allowed=0
[23:19:34] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[23:19:34] [PASSED] drm_test_connector_hdmi_init_null_ddc
[23:19:34] [PASSED] drm_test_connector_hdmi_init_null_product
[23:19:34] [PASSED] drm_test_connector_hdmi_init_null_vendor
[23:19:34] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[23:19:34] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[23:19:34] [PASSED] drm_test_connector_hdmi_init_product_valid
[23:19:34] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[23:19:34] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[23:19:34] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[23:19:34] ========= drm_test_connector_hdmi_init_type_valid =========
[23:19:34] [PASSED] HDMI-A
[23:19:34] [PASSED] HDMI-B
[23:19:34] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[23:19:34] ======== drm_test_connector_hdmi_init_type_invalid ========
[23:19:34] [PASSED] Unknown
[23:19:34] [PASSED] VGA
[23:19:34] [PASSED] DVI-I
[23:19:34] [PASSED] DVI-D
[23:19:34] [PASSED] DVI-A
[23:19:34] [PASSED] Composite
[23:19:34] [PASSED] SVIDEO
[23:19:34] [PASSED] LVDS
[23:19:34] [PASSED] Component
[23:19:34] [PASSED] DIN
[23:19:34] [PASSED] DP
[23:19:34] [PASSED] TV
[23:19:34] [PASSED] eDP
[23:19:34] [PASSED] Virtual
[23:19:34] [PASSED] DSI
[23:19:34] [PASSED] DPI
[23:19:34] [PASSED] Writeback
[23:19:34] [PASSED] SPI
[23:19:34] [PASSED] USB
[23:19:34] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[23:19:34] ============ [PASSED] drmm_connector_hdmi_init =============
[23:19:34] ============= drmm_connector_init (3 subtests) =============
[23:19:34] [PASSED] drm_test_drmm_connector_init
[23:19:34] [PASSED] drm_test_drmm_connector_init_null_ddc
[23:19:34] ========= drm_test_drmm_connector_init_type_valid =========
[23:19:34] [PASSED] Unknown
[23:19:34] [PASSED] VGA
[23:19:34] [PASSED] DVI-I
[23:19:34] [PASSED] DVI-D
[23:19:34] [PASSED] DVI-A
[23:19:34] [PASSED] Composite
[23:19:34] [PASSED] SVIDEO
[23:19:34] [PASSED] LVDS
[23:19:34] [PASSED] Component
[23:19:34] [PASSED] DIN
[23:19:34] [PASSED] DP
[23:19:34] [PASSED] HDMI-A
[23:19:34] [PASSED] HDMI-B
[23:19:34] [PASSED] TV
[23:19:34] [PASSED] eDP
[23:19:34] [PASSED] Virtual
[23:19:34] [PASSED] DSI
[23:19:34] [PASSED] DPI
[23:19:34] [PASSED] Writeback
[23:19:34] [PASSED] SPI
[23:19:34] [PASSED] USB
[23:19:34] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[23:19:34] =============== [PASSED] drmm_connector_init ===============
[23:19:34] ========= drm_connector_dynamic_init (6 subtests) ==========
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_init
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_init_properties
[23:19:34] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[23:19:34] [PASSED] Unknown
[23:19:34] [PASSED] VGA
[23:19:34] [PASSED] DVI-I
[23:19:34] [PASSED] DVI-D
[23:19:34] [PASSED] DVI-A
[23:19:34] [PASSED] Composite
[23:19:34] [PASSED] SVIDEO
[23:19:34] [PASSED] LVDS
[23:19:34] [PASSED] Component
[23:19:34] [PASSED] DIN
[23:19:34] [PASSED] DP
[23:19:34] [PASSED] HDMI-A
[23:19:34] [PASSED] HDMI-B
[23:19:34] [PASSED] TV
[23:19:34] [PASSED] eDP
[23:19:34] [PASSED] Virtual
[23:19:34] [PASSED] DSI
[23:19:34] [PASSED] DPI
[23:19:34] [PASSED] Writeback
[23:19:34] [PASSED] SPI
[23:19:34] [PASSED] USB
[23:19:34] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[23:19:34] ======== drm_test_drm_connector_dynamic_init_name =========
[23:19:34] [PASSED] Unknown
[23:19:34] [PASSED] VGA
[23:19:34] [PASSED] DVI-I
[23:19:34] [PASSED] DVI-D
[23:19:34] [PASSED] DVI-A
[23:19:34] [PASSED] Composite
[23:19:34] [PASSED] SVIDEO
[23:19:34] [PASSED] LVDS
[23:19:34] [PASSED] Component
[23:19:34] [PASSED] DIN
[23:19:34] [PASSED] DP
[23:19:34] [PASSED] HDMI-A
[23:19:34] [PASSED] HDMI-B
[23:19:34] [PASSED] TV
[23:19:34] [PASSED] eDP
[23:19:34] [PASSED] Virtual
[23:19:34] [PASSED] DSI
[23:19:34] [PASSED] DPI
[23:19:34] [PASSED] Writeback
[23:19:34] [PASSED] SPI
[23:19:34] [PASSED] USB
[23:19:34] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[23:19:34] =========== [PASSED] drm_connector_dynamic_init ============
[23:19:34] ==== drm_connector_dynamic_register_early (4 subtests) =====
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[23:19:34] ====== [PASSED] drm_connector_dynamic_register_early =======
[23:19:34] ======= drm_connector_dynamic_register (7 subtests) ========
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[23:19:34] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[23:19:34] ========= [PASSED] drm_connector_dynamic_register ==========
[23:19:34] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[23:19:34] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[23:19:34] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[23:19:34] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[23:19:34] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[23:19:34] ========== drm_test_get_tv_mode_from_name_valid ===========
[23:19:34] [PASSED] NTSC
[23:19:34] [PASSED] NTSC-443
[23:19:34] [PASSED] NTSC-J
[23:19:34] [PASSED] PAL
[23:19:34] [PASSED] PAL-M
[23:19:34] [PASSED] PAL-N
[23:19:34] [PASSED] SECAM
[23:19:34] [PASSED] Mono
[23:19:34] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[23:19:34] [PASSED] drm_test_get_tv_mode_from_name_truncated
[23:19:34] ============ [PASSED] drm_get_tv_mode_from_name ============
[23:19:34] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[23:19:34] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[23:19:34] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[23:19:34] [PASSED] VIC 96
[23:19:34] [PASSED] VIC 97
[23:19:34] [PASSED] VIC 101
[23:19:34] [PASSED] VIC 102
[23:19:34] [PASSED] VIC 106
[23:19:34] [PASSED] VIC 107
[23:19:34] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[23:19:34] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[23:19:34] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[23:19:34] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[23:19:34] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[23:19:34] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[23:19:34] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[23:19:34] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[23:19:34] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[23:19:34] [PASSED] Automatic
[23:19:34] [PASSED] Full
[23:19:34] [PASSED] Limited 16:235
[23:19:34] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[23:19:34] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[23:19:34] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[23:19:34] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[23:19:34] === drm_test_drm_hdmi_connector_get_output_format_name ====
[23:19:34] [PASSED] RGB
[23:19:34] [PASSED] YUV 4:2:0
[23:19:34] [PASSED] YUV 4:2:2
[23:19:34] [PASSED] YUV 4:4:4
[23:19:34] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[23:19:34] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[23:19:34] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[23:19:34] ============= drm_damage_helper (21 subtests) ==============
[23:19:34] [PASSED] drm_test_damage_iter_no_damage
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_src_moved
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_not_visible
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[23:19:34] [PASSED] drm_test_damage_iter_no_damage_no_fb
[23:19:34] [PASSED] drm_test_damage_iter_simple_damage
[23:19:34] [PASSED] drm_test_damage_iter_single_damage
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_outside_src
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_src_moved
[23:19:34] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[23:19:34] [PASSED] drm_test_damage_iter_damage
[23:19:34] [PASSED] drm_test_damage_iter_damage_one_intersect
[23:19:34] [PASSED] drm_test_damage_iter_damage_one_outside
[23:19:34] [PASSED] drm_test_damage_iter_damage_src_moved
[23:19:34] [PASSED] drm_test_damage_iter_damage_not_visible
[23:19:34] ================ [PASSED] drm_damage_helper ================
[23:19:34] ============== drm_dp_mst_helper (3 subtests) ==============
[23:19:34] ============== drm_test_dp_mst_calc_pbn_mode ==============
[23:19:34] [PASSED] Clock 154000 BPP 30 DSC disabled
[23:19:34] [PASSED] Clock 234000 BPP 30 DSC disabled
[23:19:34] [PASSED] Clock 297000 BPP 24 DSC disabled
[23:19:34] [PASSED] Clock 332880 BPP 24 DSC enabled
[23:19:34] [PASSED] Clock 324540 BPP 24 DSC enabled
[23:19:34] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[23:19:34] ============== drm_test_dp_mst_calc_pbn_div ===============
[23:19:34] [PASSED] Link rate 2000000 lane count 4
[23:19:34] [PASSED] Link rate 2000000 lane count 2
[23:19:34] [PASSED] Link rate 2000000 lane count 1
[23:19:34] [PASSED] Link rate 1350000 lane count 4
[23:19:34] [PASSED] Link rate 1350000 lane count 2
[23:19:34] [PASSED] Link rate 1350000 lane count 1
[23:19:34] [PASSED] Link rate 1000000 lane count 4
[23:19:34] [PASSED] Link rate 1000000 lane count 2
[23:19:34] [PASSED] Link rate 1000000 lane count 1
[23:19:34] [PASSED] Link rate 810000 lane count 4
[23:19:34] [PASSED] Link rate 810000 lane count 2
[23:19:34] [PASSED] Link rate 810000 lane count 1
[23:19:34] [PASSED] Link rate 540000 lane count 4
[23:19:34] [PASSED] Link rate 540000 lane count 2
[23:19:34] [PASSED] Link rate 540000 lane count 1
[23:19:34] [PASSED] Link rate 270000 lane count 4
[23:19:34] [PASSED] Link rate 270000 lane count 2
[23:19:34] [PASSED] Link rate 270000 lane count 1
[23:19:34] [PASSED] Link rate 162000 lane count 4
[23:19:34] [PASSED] Link rate 162000 lane count 2
[23:19:34] [PASSED] Link rate 162000 lane count 1
[23:19:34] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[23:19:34] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[23:19:34] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[23:19:34] [PASSED] DP_POWER_UP_PHY with port number
[23:19:34] [PASSED] DP_POWER_DOWN_PHY with port number
[23:19:34] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[23:19:34] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[23:19:34] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[23:19:34] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[23:19:34] [PASSED] DP_QUERY_PAYLOAD with port number
[23:19:34] [PASSED] DP_QUERY_PAYLOAD with VCPI
[23:19:34] [PASSED] DP_REMOTE_DPCD_READ with port number
[23:19:34] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[23:19:34] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[23:19:34] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[23:19:34] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[23:19:34] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[23:19:34] [PASSED] DP_REMOTE_I2C_READ with port number
[23:19:34] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[23:19:34] [PASSED] DP_REMOTE_I2C_READ with transactions array
[23:19:34] [PASSED] DP_REMOTE_I2C_WRITE with port number
[23:19:34] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[23:19:34] [PASSED] DP_REMOTE_I2C_WRITE with data array
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[23:19:34] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[23:19:34] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[23:19:34] ================ [PASSED] drm_dp_mst_helper ================
[23:19:34] ================== drm_exec (7 subtests) ===================
[23:19:34] [PASSED] sanitycheck
[23:19:34] [PASSED] test_lock
[23:19:34] [PASSED] test_lock_unlock
[23:19:34] [PASSED] test_duplicates
[23:19:34] [PASSED] test_prepare
[23:19:34] [PASSED] test_prepare_array
[23:19:34] [PASSED] test_multiple_loops
[23:19:34] ==================== [PASSED] drm_exec =====================
[23:19:34] =========== drm_format_helper_test (17 subtests) ===========
[23:19:34] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[23:19:34] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[23:19:34] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[23:19:34] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[23:19:34] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[23:19:34] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[23:19:34] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[23:19:34] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[23:19:34] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[23:19:34] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[23:19:34] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[23:19:34] ============== drm_test_fb_xrgb8888_to_mono ===============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[23:19:34] ==================== drm_test_fb_swab =====================
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ================ [PASSED] drm_test_fb_swab =================
[23:19:34] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[23:19:34] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[23:19:34] [PASSED] single_pixel_source_buffer
[23:19:34] [PASSED] single_pixel_clip_rectangle
[23:19:34] [PASSED] well_known_colors
[23:19:34] [PASSED] destination_pitch
[23:19:34] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[23:19:34] ================= drm_test_fb_clip_offset =================
[23:19:34] [PASSED] pass through
[23:19:34] [PASSED] horizontal offset
[23:19:34] [PASSED] vertical offset
[23:19:34] [PASSED] horizontal and vertical offset
[23:19:34] [PASSED] horizontal offset (custom pitch)
[23:19:34] [PASSED] vertical offset (custom pitch)
[23:19:34] [PASSED] horizontal and vertical offset (custom pitch)
[23:19:34] ============= [PASSED] drm_test_fb_clip_offset =============
[23:19:34] =================== drm_test_fb_memcpy ====================
[23:19:34] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[23:19:34] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[23:19:34] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[23:19:34] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[23:19:34] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[23:19:34] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[23:19:34] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[23:19:34] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[23:19:34] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[23:19:34] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[23:19:34] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[23:19:34] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[23:19:34] =============== [PASSED] drm_test_fb_memcpy ================
[23:19:34] ============= [PASSED] drm_format_helper_test ==============
[23:19:34] ================= drm_format (18 subtests) =================
[23:19:34] [PASSED] drm_test_format_block_width_invalid
[23:19:34] [PASSED] drm_test_format_block_width_one_plane
[23:19:34] [PASSED] drm_test_format_block_width_two_plane
[23:19:34] [PASSED] drm_test_format_block_width_three_plane
[23:19:34] [PASSED] drm_test_format_block_width_tiled
[23:19:34] [PASSED] drm_test_format_block_height_invalid
[23:19:34] [PASSED] drm_test_format_block_height_one_plane
[23:19:34] [PASSED] drm_test_format_block_height_two_plane
[23:19:34] [PASSED] drm_test_format_block_height_three_plane
[23:19:34] [PASSED] drm_test_format_block_height_tiled
[23:19:34] [PASSED] drm_test_format_min_pitch_invalid
[23:19:34] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[23:19:34] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[23:19:34] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[23:19:34] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[23:19:34] [PASSED] drm_test_format_min_pitch_two_plane
[23:19:34] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[23:19:34] [PASSED] drm_test_format_min_pitch_tiled
[23:19:34] =================== [PASSED] drm_format ====================
[23:19:34] ============== drm_framebuffer (10 subtests) ===============
[23:19:34] ========== drm_test_framebuffer_check_src_coords ==========
[23:19:34] [PASSED] Success: source fits into fb
[23:19:34] [PASSED] Fail: overflowing fb with x-axis coordinate
[23:19:34] [PASSED] Fail: overflowing fb with y-axis coordinate
[23:19:34] [PASSED] Fail: overflowing fb with source width
[23:19:34] [PASSED] Fail: overflowing fb with source height
[23:19:34] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[23:19:34] [PASSED] drm_test_framebuffer_cleanup
[23:19:34] =============== drm_test_framebuffer_create ===============
[23:19:34] [PASSED] ABGR8888 normal sizes
[23:19:34] [PASSED] ABGR8888 max sizes
[23:19:34] [PASSED] ABGR8888 pitch greater than min required
[23:19:34] [PASSED] ABGR8888 pitch less than min required
[23:19:34] [PASSED] ABGR8888 Invalid width
[23:19:34] [PASSED] ABGR8888 Invalid buffer handle
[23:19:34] [PASSED] No pixel format
[23:19:34] [PASSED] ABGR8888 Width 0
[23:19:34] [PASSED] ABGR8888 Height 0
[23:19:34] [PASSED] ABGR8888 Out of bound height * pitch combination
[23:19:34] [PASSED] ABGR8888 Large buffer offset
[23:19:34] [PASSED] ABGR8888 Buffer offset for inexistent plane
[23:19:34] [PASSED] ABGR8888 Invalid flag
[23:19:34] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[23:19:34] [PASSED] ABGR8888 Valid buffer modifier
[23:19:34] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[23:19:34] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] NV12 Normal sizes
[23:19:34] [PASSED] NV12 Max sizes
[23:19:34] [PASSED] NV12 Invalid pitch
[23:19:34] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[23:19:34] [PASSED] NV12 different modifier per-plane
[23:19:34] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[23:19:34] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] NV12 Modifier for inexistent plane
[23:19:34] [PASSED] NV12 Handle for inexistent plane
[23:19:34] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[23:19:34] [PASSED] YVU420 Normal sizes
[23:19:34] [PASSED] YVU420 Max sizes
[23:19:34] [PASSED] YVU420 Invalid pitch
[23:19:34] [PASSED] YVU420 Different pitches
[23:19:34] [PASSED] YVU420 Different buffer offsets/pitches
[23:19:34] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[23:19:34] [PASSED] YVU420 Valid modifier
[23:19:34] [PASSED] YVU420 Different modifiers per plane
[23:19:34] [PASSED] YVU420 Modifier for inexistent plane
[23:19:34] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[23:19:34] [PASSED] X0L2 Normal sizes
[23:19:34] [PASSED] X0L2 Max sizes
[23:19:34] [PASSED] X0L2 Invalid pitch
[23:19:34] [PASSED] X0L2 Pitch greater than minimum required
[23:19:34] [PASSED] X0L2 Handle for inexistent plane
[23:19:34] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[23:19:34] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[23:19:34] [PASSED] X0L2 Valid modifier
[23:19:34] [PASSED] X0L2 Modifier for inexistent plane
[23:19:34] =========== [PASSED] drm_test_framebuffer_create ===========
[23:19:34] [PASSED] drm_test_framebuffer_free
[23:19:34] [PASSED] drm_test_framebuffer_init
[23:19:34] [PASSED] drm_test_framebuffer_init_bad_format
[23:19:34] [PASSED] drm_test_framebuffer_init_dev_mismatch
[23:19:34] [PASSED] drm_test_framebuffer_lookup
[23:19:34] [PASSED] drm_test_framebuffer_lookup_inexistent
[23:19:34] [PASSED] drm_test_framebuffer_modifiers_not_supported
[23:19:34] ================= [PASSED] drm_framebuffer =================
[23:19:34] ================ drm_gem_shmem (8 subtests) ================
[23:19:34] [PASSED] drm_gem_shmem_test_obj_create
[23:19:34] [PASSED] drm_gem_shmem_test_obj_create_private
[23:19:34] [PASSED] drm_gem_shmem_test_pin_pages
[23:19:34] [PASSED] drm_gem_shmem_test_vmap
[23:19:34] [PASSED] drm_gem_shmem_test_get_sg_table
[23:19:34] [PASSED] drm_gem_shmem_test_get_pages_sgt
[23:19:34] [PASSED] drm_gem_shmem_test_madvise
[23:19:34] [PASSED] drm_gem_shmem_test_purge
[23:19:34] ================== [PASSED] drm_gem_shmem ==================
[23:19:34] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[23:19:34] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[23:19:34] [PASSED] Automatic
[23:19:34] [PASSED] Full
[23:19:34] [PASSED] Limited 16:235
[23:19:34] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[23:19:34] [PASSED] drm_test_check_disable_connector
[23:19:34] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[23:19:34] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[23:19:34] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[23:19:34] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[23:19:34] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[23:19:34] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[23:19:34] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[23:19:34] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[23:19:34] [PASSED] drm_test_check_output_bpc_dvi
[23:19:34] [PASSED] drm_test_check_output_bpc_format_vic_1
[23:19:34] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[23:19:34] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[23:19:34] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[23:19:34] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[23:19:34] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[23:19:34] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[23:19:34] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[23:19:34] ============ drm_test_check_hdmi_color_format =============
[23:19:34] [PASSED] AUTO -> RGB
[23:19:34] [PASSED] YCBCR422 -> YUV422
[23:19:34] [PASSED] YCBCR420 -> YUV420
[23:19:34] [PASSED] YCBCR444 -> YUV444
[23:19:34] [PASSED] RGB -> RGB
[23:19:34] ======== [PASSED] drm_test_check_hdmi_color_format =========
[23:19:34] ======== drm_test_check_hdmi_color_format_420_only ========
[23:19:34] [PASSED] RGB should fail
[23:19:34] [PASSED] YUV444 should fail
[23:19:34] [PASSED] YUV422 should fail
[23:19:34] [PASSED] YUV420 should work
[23:19:34] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[23:19:34] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[23:19:34] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[23:19:34] [PASSED] drm_test_check_broadcast_rgb_value
[23:19:34] [PASSED] drm_test_check_bpc_8_value
[23:19:34] [PASSED] drm_test_check_bpc_10_value
[23:19:34] [PASSED] drm_test_check_bpc_12_value
[23:19:34] [PASSED] drm_test_check_format_value
[23:19:34] [PASSED] drm_test_check_tmds_char_value
[23:19:34] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[23:19:34] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[23:19:34] [PASSED] drm_test_check_mode_valid
[23:19:34] [PASSED] drm_test_check_mode_valid_reject
[23:19:34] [PASSED] drm_test_check_mode_valid_reject_rate
[23:19:34] [PASSED] drm_test_check_mode_valid_reject_max_clock
[23:19:34] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[23:19:34] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[23:19:34] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[23:19:34] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[23:19:34] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[23:19:34] [PASSED] drm_test_check_infoframes
[23:19:34] [PASSED] drm_test_check_reject_avi_infoframe
[23:19:34] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[23:19:34] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[23:19:34] [PASSED] drm_test_check_reject_audio_infoframe
[23:19:34] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[23:19:34] ================= drm_managed (2 subtests) =================
[23:19:34] [PASSED] drm_test_managed_release_action
[23:19:34] [PASSED] drm_test_managed_run_action
[23:19:34] =================== [PASSED] drm_managed ===================
[23:19:34] =================== drm_mm (6 subtests) ====================
[23:19:34] [PASSED] drm_test_mm_init
[23:19:34] [PASSED] drm_test_mm_debug
[23:19:34] [PASSED] drm_test_mm_align32
[23:19:34] [PASSED] drm_test_mm_align64
[23:19:34] [PASSED] drm_test_mm_lowest
[23:19:34] [PASSED] drm_test_mm_highest
[23:19:34] ===================== [PASSED] drm_mm ======================
[23:19:34] ============= drm_modes_analog_tv (5 subtests) =============
[23:19:34] [PASSED] drm_test_modes_analog_tv_mono_576i
[23:19:34] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[23:19:34] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[23:19:34] [PASSED] drm_test_modes_analog_tv_pal_576i
[23:19:34] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[23:19:34] =============== [PASSED] drm_modes_analog_tv ===============
[23:19:34] ============== drm_plane_helper (2 subtests) ===============
[23:19:34] =============== drm_test_check_plane_state ================
[23:19:34] [PASSED] clipping_simple
[23:19:34] [PASSED] clipping_rotate_reflect
[23:19:34] [PASSED] positioning_simple
[23:19:34] [PASSED] upscaling
[23:19:34] [PASSED] downscaling
[23:19:34] [PASSED] rounding1
[23:19:34] [PASSED] rounding2
[23:19:34] [PASSED] rounding3
[23:19:34] [PASSED] rounding4
[23:19:34] =========== [PASSED] drm_test_check_plane_state ============
[23:19:34] =========== drm_test_check_invalid_plane_state ============
[23:19:34] [PASSED] positioning_invalid
[23:19:34] [PASSED] upscaling_invalid
[23:19:34] [PASSED] downscaling_invalid
[23:19:34] ======= [PASSED] drm_test_check_invalid_plane_state ========
[23:19:34] ================ [PASSED] drm_plane_helper =================
[23:19:34] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[23:19:34] ====== drm_test_connector_helper_tv_get_modes_check =======
[23:19:34] [PASSED] None
[23:19:34] [PASSED] PAL
[23:19:34] [PASSED] NTSC
[23:19:34] [PASSED] Both, NTSC Default
[23:19:34] [PASSED] Both, PAL Default
[23:19:34] [PASSED] Both, NTSC Default, with PAL on command-line
[23:19:34] [PASSED] Both, PAL Default, with NTSC on command-line
[23:19:34] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[23:19:34] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[23:19:34] ================== drm_rect (9 subtests) ===================
[23:19:34] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[23:19:34] [PASSED] drm_test_rect_clip_scaled_not_clipped
[23:19:34] [PASSED] drm_test_rect_clip_scaled_clipped
[23:19:34] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[23:19:34] ================= drm_test_rect_intersect =================
[23:19:34] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[23:19:34] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[23:19:34] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[23:19:34] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[23:19:34] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[23:19:34] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[23:19:34] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[23:19:34] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[23:19:34] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[23:19:34] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[23:19:34] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[23:19:34] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[23:19:34] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[23:19:34] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[23:19:34] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[23:19:34] ============= [PASSED] drm_test_rect_intersect =============
[23:19:34] ================ drm_test_rect_calc_hscale ================
[23:19:34] [PASSED] normal use
[23:19:34] [PASSED] out of max range
[23:19:34] [PASSED] out of min range
[23:19:34] [PASSED] zero dst
[23:19:34] [PASSED] negative src
[23:19:34] [PASSED] negative dst
[23:19:34] ============ [PASSED] drm_test_rect_calc_hscale ============
[23:19:34] ================ drm_test_rect_calc_vscale ================
[23:19:34] [PASSED] normal use
[23:19:34] [PASSED] out of max range
[23:19:34] [PASSED] out of min range
[23:19:34] [PASSED] zero dst
[23:19:34] [PASSED] negative src
[23:19:34] [PASSED] negative dst
[23:19:34] ============ [PASSED] drm_test_rect_calc_vscale ============
[23:19:34] ================== drm_test_rect_rotate ===================
[23:19:34] [PASSED] reflect-x
[23:19:34] [PASSED] reflect-y
[23:19:34] [PASSED] rotate-0
[23:19:34] [PASSED] rotate-90
[23:19:34] [PASSED] rotate-180
[23:19:34] [PASSED] rotate-270
[23:19:34] ============== [PASSED] drm_test_rect_rotate ===============
[23:19:34] ================ drm_test_rect_rotate_inv =================
[23:19:34] [PASSED] reflect-x
[23:19:34] [PASSED] reflect-y
[23:19:34] [PASSED] rotate-0
[23:19:34] [PASSED] rotate-90
[23:19:34] [PASSED] rotate-180
[23:19:34] [PASSED] rotate-270
[23:19:34] ============ [PASSED] drm_test_rect_rotate_inv =============
[23:19:34] ==================== [PASSED] drm_rect =====================
[23:19:34] ============ drm_sysfb_modeset_test (1 subtest) ============
[23:19:34] ============ drm_test_sysfb_build_fourcc_list =============
[23:19:34] [PASSED] no native formats
[23:19:34] [PASSED] XRGB8888 as native format
[23:19:34] [PASSED] remove duplicates
[23:19:34] [PASSED] convert alpha formats
[23:19:34] [PASSED] random formats
[23:19:34] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[23:19:34] ============= [PASSED] drm_sysfb_modeset_test ==============
[23:19:34] ================== drm_fixp (2 subtests) ===================
[23:19:34] [PASSED] drm_test_int2fixp
[23:19:34] [PASSED] drm_test_sm2fixp
[23:19:34] ==================== [PASSED] drm_fixp =====================
[23:19:34] ============================================================
[23:19:34] Testing complete. Ran 639 tests: passed: 639
[23:19:34] Elapsed time: 53.107s total, 4.759s configuring, 47.971s building, 0.342s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[23:19:35] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[23:19:39] 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:03] Starting KUnit Kernel (1/1)...
[23:20:03] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[23:20:03] ================= ttm_device (5 subtests) ==================
[23:20:03] [PASSED] ttm_device_init_basic
[23:20:03] [PASSED] ttm_device_init_multiple
[23:20:03] [PASSED] ttm_device_fini_basic
[23:20:03] [PASSED] ttm_device_init_no_vma_man
[23:20:03] ================== ttm_device_init_pools ==================
[23:20:03] [PASSED] No DMA allocations, no DMA32 required
[23:20:03] [PASSED] DMA allocations, DMA32 required
[23:20:03] [PASSED] No DMA allocations, DMA32 required
[23:20:03] [PASSED] DMA allocations, no DMA32 required
[23:20:03] ============== [PASSED] ttm_device_init_pools ==============
[23:20:03] =================== [PASSED] ttm_device ====================
[23:20:03] ================== ttm_pool (8 subtests) ===================
[23:20:03] ================== ttm_pool_alloc_basic ===================
[23:20:03] [PASSED] One page
[23:20:03] [PASSED] More than one page
[23:20:03] [PASSED] Above the allocation limit
[23:20:03] [PASSED] One page, with coherent DMA mappings enabled
[23:20:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:20:03] ============== [PASSED] ttm_pool_alloc_basic ===============
[23:20:03] ============== ttm_pool_alloc_basic_dma_addr ==============
[23:20:03] [PASSED] One page
[23:20:03] [PASSED] More than one page
[23:20:03] [PASSED] Above the allocation limit
[23:20:03] [PASSED] One page, with coherent DMA mappings enabled
[23:20:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[23:20:03] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[23:20:03] [PASSED] ttm_pool_alloc_order_caching_match
[23:20:03] [PASSED] ttm_pool_alloc_caching_mismatch
[23:20:03] [PASSED] ttm_pool_alloc_order_mismatch
[23:20:03] [PASSED] ttm_pool_free_dma_alloc
[23:20:03] [PASSED] ttm_pool_free_no_dma_alloc
[23:20:03] [PASSED] ttm_pool_fini_basic
[23:20:03] ==================== [PASSED] ttm_pool =====================
[23:20:03] ================ ttm_resource (8 subtests) =================
[23:20:03] ================= ttm_resource_init_basic =================
[23:20:03] [PASSED] Init resource in TTM_PL_SYSTEM
[23:20:03] [PASSED] Init resource in TTM_PL_VRAM
[23:20:03] [PASSED] Init resource in a private placement
[23:20:03] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[23:20:03] ============= [PASSED] ttm_resource_init_basic =============
[23:20:03] [PASSED] ttm_resource_init_pinned
[23:20:03] [PASSED] ttm_resource_fini_basic
[23:20:03] [PASSED] ttm_resource_manager_init_basic
[23:20:03] [PASSED] ttm_resource_manager_usage_basic
[23:20:03] [PASSED] ttm_resource_manager_set_used_basic
[23:20:03] [PASSED] ttm_sys_man_alloc_basic
[23:20:03] [PASSED] ttm_sys_man_free_basic
[23:20:03] ================== [PASSED] ttm_resource ===================
[23:20:03] =================== ttm_tt (15 subtests) ===================
[23:20:03] ==================== ttm_tt_init_basic ====================
[23:20:03] [PASSED] Page-aligned size
[23:20:03] [PASSED] Extra pages requested
[23:20:03] ================ [PASSED] ttm_tt_init_basic ================
[23:20:03] [PASSED] ttm_tt_init_misaligned
[23:20:03] [PASSED] ttm_tt_fini_basic
[23:20:03] [PASSED] ttm_tt_fini_sg
[23:20:03] [PASSED] ttm_tt_fini_shmem
[23:20:03] [PASSED] ttm_tt_create_basic
[23:20:03] [PASSED] ttm_tt_create_invalid_bo_type
[23:20:03] [PASSED] ttm_tt_create_ttm_exists
[23:20:03] [PASSED] ttm_tt_create_failed
[23:20:03] [PASSED] ttm_tt_destroy_basic
[23:20:03] [PASSED] ttm_tt_populate_null_ttm
[23:20:03] [PASSED] ttm_tt_populate_populated_ttm
[23:20:03] [PASSED] ttm_tt_unpopulate_basic
[23:20:03] [PASSED] ttm_tt_unpopulate_empty_ttm
[23:20:03] [PASSED] ttm_tt_swapin_basic
[23:20:03] ===================== [PASSED] ttm_tt ======================
[23:20:03] =================== ttm_bo (14 subtests) ===================
[23:20:03] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[23:20:03] [PASSED] Cannot be interrupted and sleeps
[23:20:03] [PASSED] Cannot be interrupted, locks straight away
[23:20:03] [PASSED] Can be interrupted, sleeps
[23:20:03] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[23:20:03] [PASSED] ttm_bo_reserve_locked_no_sleep
[23:20:03] [PASSED] ttm_bo_reserve_no_wait_ticket
[23:20:03] [PASSED] ttm_bo_reserve_double_resv
[23:20:03] [PASSED] ttm_bo_reserve_interrupted
[23:20:03] [PASSED] ttm_bo_reserve_deadlock
[23:20:03] [PASSED] ttm_bo_unreserve_basic
[23:20:03] [PASSED] ttm_bo_unreserve_pinned
[23:20:03] [PASSED] ttm_bo_unreserve_bulk
[23:20:03] [PASSED] ttm_bo_fini_basic
[23:20:03] [PASSED] ttm_bo_fini_shared_resv
[23:20:03] [PASSED] ttm_bo_pin_basic
[23:20:03] [PASSED] ttm_bo_pin_unpin_resource
[23:20:03] [PASSED] ttm_bo_multiple_pin_one_unpin
[23:20:03] ===================== [PASSED] ttm_bo ======================
[23:20:03] ============== ttm_bo_validate (22 subtests) ===============
[23:20:03] ============== ttm_bo_init_reserved_sys_man ===============
[23:20:03] [PASSED] Buffer object for userspace
[23:20:03] [PASSED] Kernel buffer object
[23:20:03] [PASSED] Shared buffer object
[23:20:03] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[23:20:03] ============== ttm_bo_init_reserved_mock_man ==============
[23:20:03] [PASSED] Buffer object for userspace
[23:20:03] [PASSED] Kernel buffer object
[23:20:03] [PASSED] Shared buffer object
[23:20:03] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[23:20:03] [PASSED] ttm_bo_init_reserved_resv
[23:20:03] ================== ttm_bo_validate_basic ==================
[23:20:03] [PASSED] Buffer object for userspace
[23:20:03] [PASSED] Kernel buffer object
[23:20:03] [PASSED] Shared buffer object
[23:20:03] ============== [PASSED] ttm_bo_validate_basic ==============
[23:20:03] [PASSED] ttm_bo_validate_invalid_placement
[23:20:03] ============= ttm_bo_validate_same_placement ==============
[23:20:03] [PASSED] System manager
[23:20:03] [PASSED] VRAM manager
[23:20:03] ========= [PASSED] ttm_bo_validate_same_placement ==========
[23:20:03] [PASSED] ttm_bo_validate_failed_alloc
[23:20:03] [PASSED] ttm_bo_validate_pinned
[23:20:03] [PASSED] ttm_bo_validate_busy_placement
[23:20:03] ================ ttm_bo_validate_multihop =================
[23:20:03] [PASSED] Buffer object for userspace
[23:20:03] [PASSED] Kernel buffer object
[23:20:03] [PASSED] Shared buffer object
[23:20:03] ============ [PASSED] ttm_bo_validate_multihop =============
[23:20:03] ========== ttm_bo_validate_no_placement_signaled ==========
[23:20:03] [PASSED] Buffer object in system domain, no page vector
[23:20:03] [PASSED] Buffer object in system domain with an existing page vector
[23:20:03] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[23:20:03] ======== ttm_bo_validate_no_placement_not_signaled ========
[23:20:03] [PASSED] Buffer object for userspace
[23:20:03] [PASSED] Kernel buffer object
[23:20:03] [PASSED] Shared buffer object
[23:20:03] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[23:20:03] [PASSED] ttm_bo_validate_move_fence_signaled
[23:20:03] ========= ttm_bo_validate_move_fence_not_signaled =========
[23:20:03] [PASSED] Waits for GPU
[23:20:03] [PASSED] Tries to lock straight away
[23:20:03] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[23:20:03] [PASSED] ttm_bo_validate_swapout
[23:20:03] [PASSED] ttm_bo_validate_happy_evict
[23:20:03] [PASSED] ttm_bo_validate_all_pinned_evict
[23:20:03] [PASSED] ttm_bo_validate_allowed_only_evict
[23:20:03] [PASSED] ttm_bo_validate_deleted_evict
[23:20:03] [PASSED] ttm_bo_validate_busy_domain_evict
[23:20:03] [PASSED] ttm_bo_validate_evict_gutting
[23:20:03] [PASSED] ttm_bo_validate_recrusive_evict
[23:20:03] ================= [PASSED] ttm_bo_validate =================
[23:20:03] ============================================================
[23:20:03] Testing complete. Ran 102 tests: passed: 102
[23:20:03] Elapsed time: 28.764s total, 4.741s configuring, 23.705s building, 0.277s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 33+ messages in thread* ✓ Xe.CI.BAT: success for driver core: count references of the platform device's fwnode, not OF node (rev2)
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (20 preceding siblings ...)
2026-06-29 23:20 ` ✓ CI.KUnit: success for driver core: count references of the platform device's fwnode, not OF node (rev2) Patchwork
@ 2026-06-30 0:24 ` Patchwork
2026-06-30 12:47 ` ✓ Xe.CI.FULL: " Patchwork
22 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2026-06-30 0:24 UTC (permalink / raw)
To: Bartosz Golaszewski; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 904 bytes --]
== Series Details ==
Series: driver core: count references of the platform device's fwnode, not OF node (rev2)
URL : https://patchwork.freedesktop.org/series/166998/
State : success
== Summary ==
CI Bug Log - changes from xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc_BAT -> xe-pw-166998v2_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc -> xe-pw-166998v2
IGT_8988: 8988
xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc: 03288b34f48c3fe60055353c30da4aacab572cdc
xe-pw-166998v2: 166998v2
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/index.html
[-- Attachment #2: Type: text/html, Size: 1457 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread* ✓ Xe.CI.FULL: success for driver core: count references of the platform device's fwnode, not OF node (rev2)
2026-06-29 9:12 [PATCH v2 00/19] driver core: count references of the platform device's fwnode, not OF node Bartosz Golaszewski
` (21 preceding siblings ...)
2026-06-30 0:24 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-06-30 12:47 ` Patchwork
22 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2026-06-30 12:47 UTC (permalink / raw)
To: Bartosz Golaszewski; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 24285 bytes --]
== Series Details ==
Series: driver core: count references of the platform device's fwnode, not OF node (rev2)
URL : https://patchwork.freedesktop.org/series/166998/
State : success
== Summary ==
CI Bug Log - changes from xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc_FULL -> xe-pw-166998v2_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-166998v2_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][1] ([Intel XE#2327]) +1 other test skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][2] ([Intel XE#3658] / [Intel XE#7360])
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][3] ([Intel XE#1124]) +2 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_bw@linear-tiling-2-displays-target-2560x1440p:
- shard-bmg: NOTRUN -> [SKIP][4] ([Intel XE#367])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@kms_bw@linear-tiling-2-displays-target-2560x1440p.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][5] ([Intel XE#2887]) +9 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#7358]) +1 other test skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html
* igt@kms_chamelium_hpd@dp-hpd-after-suspend:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#2252]) +3 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
* igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][8] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_content_protection@lic-type-0-hdcp14@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-random-64x21:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#2320]) +1 other test skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_cursor_crc@cursor-random-64x21.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#2321] / [Intel XE#7355])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_dp_link_training@non-uhbr-mst:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#4354] / [Intel XE#5882])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_dp_link_training@non-uhbr-mst.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#8265])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@kms_dsc@dsc-fractional-bpp-with-bpc-bigjoiner.html
* igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-bmg: [PASS][13] -> [FAIL][14] ([Intel XE#3098]) +1 other test fail
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-7/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@kms_flip@2x-flip-vs-wf_vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-lnl: [PASS][15] -> [FAIL][16] ([Intel XE#301])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-pgflip-blt:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#6312] / [Intel XE#651])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@drrshdr-1p-rte:
- shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#2311]) +24 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_frontbuffer_tracking@drrshdr-1p-rte.html
* igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#7061]) +3 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_frontbuffer_tracking@drrshdr-argb161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#4141]) +8 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][23] ([Intel XE#7061] / [Intel XE#7356])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-indfb-plflip-blt:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#7905]) +5 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrshdr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#2313]) +22 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#656] / [Intel XE#7905])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#4298] / [Intel XE#5873])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#6911] / [Intel XE#7466])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#7283])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier:
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#7283])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-cc-modifier.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2763] / [Intel XE#6886]) +4 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b.html
* igt@kms_pm_dc@dc5-dpms-negative:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#1131])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_pm_dc@dc5-dpms-negative.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf:
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#1489]) +2 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr@psr-sprite-plane-onoff:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_psr@psr-sprite-plane-onoff.html
* igt@kms_sharpness_filter@filter-basic:
- shard-bmg: NOTRUN -> [SKIP][35] ([Intel XE#6503])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@kms_sharpness_filter@filter-basic.html
* igt@xe_eudebug@basic-vm-bind-vm-destroy:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#7636]) +2 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@xe_eudebug@basic-vm-bind-vm-destroy.html
* igt@xe_eudebug@multigpu-basic-client-many:
- shard-lnl: NOTRUN -> [SKIP][37] ([Intel XE#7636]) +1 other test skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@xe_eudebug@multigpu-basic-client-many.html
* igt@xe_exec_balancer@many-execqueues-cm-parallel-userptr:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#7482])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@xe_exec_balancer@many-execqueues-cm-parallel-userptr.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-rebind:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2322] / [Intel XE#7372]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-rebind.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-imm:
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#8374]) +6 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_exec_fault_mode@many-execqueues-multi-queue-imm.html
* igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-dyn-priority:
- shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#8364])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@xe_exec_multi_queue@few-execs-preempt-mode-fault-dyn-priority.html
* igt@xe_exec_multi_queue@many-execs-close-fd-smem:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#8364]) +10 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_exec_multi_queue@many-execs-close-fd-smem.html
* igt@xe_exec_reset@multi-queue-cancel:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#8369])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@xe_exec_reset@multi-queue-cancel.html
* igt@xe_exec_threads@threads-multi-queue-cm-basic:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#8378]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@xe_exec_threads@threads-multi-queue-cm-basic.html
* igt@xe_intel_bb@blit-reloc:
- shard-bmg: NOTRUN -> [ABORT][45] ([Intel XE#8007])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@xe_intel_bb@blit-reloc.html
* igt@xe_mmap@small-bar:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#586] / [Intel XE#7323] / [Intel XE#7384])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_mmap@small-bar.html
* igt@xe_module_load@many-reload:
- shard-bmg: [PASS][47] -> [ABORT][48] ([Intel XE#8007])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-8/igt@xe_module_load@many-reload.html
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-10/igt@xe_module_load@many-reload.html
* igt@xe_multigpu_svm@mgpu-migration-basic:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#6964])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_multigpu_svm@mgpu-migration-basic.html
* igt@xe_page_reclaim@pde-vs-pd:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#7793]) +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@xe_page_reclaim@pde-vs-pd.html
* igt@xe_pat@pt-caching-update-pat-and-pte:
- shard-bmg: [PASS][51] -> [ABORT][52] ([Intel XE#7893])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-4/igt@xe_pat@pt-caching-update-pat-and-pte.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_pat@pt-caching-update-pat-and-pte.html
* igt@xe_pm@s3-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2284] / [Intel XE#7370])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-4/igt@xe_pm@s3-d3cold-basic-exec.html
* igt@xe_prefetch_fault@prefetch-fault:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#7599])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-6/igt@xe_prefetch_fault@prefetch-fault.html
* igt@xe_pxp@pxp-optout:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#4733] / [Intel XE#7417])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_pxp@pxp-optout.html
* igt@xe_query@multigpu-query-topology:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#944])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_query@multigpu-query-topology.html
#### Possible fixes ####
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [INCOMPLETE][57] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][58] +1 other test pass
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [FAIL][59] ([Intel XE#301]) -> [PASS][60] +1 other test pass
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
- shard-lnl: [FAIL][61] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
* igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute:
- shard-bmg: [ABORT][63] ([Intel XE#7893] / [Intel XE#8300]) -> [PASS][64] +1 other test pass
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-3/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-2/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html
* igt@xe_survivability@runtime-survivability:
- shard-bmg: [ABORT][65] ([Intel XE#8007]) -> [PASS][66] +2 other tests pass
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-bmg-7/igt@xe_survivability@runtime-survivability.html
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-bmg-7/igt@xe_survivability@runtime-survivability.html
#### Warnings ####
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions:
- shard-lnl: [SKIP][67] ([Intel XE#309] / [Intel XE#7343] / [Intel XE#7935]) -> [SKIP][68] ([Intel XE#309] / [Intel XE#7343])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-lnl: [FAIL][69] ([Intel XE#301] / [Intel XE#3149]) -> [FAIL][70] ([Intel XE#301])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1131
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4298]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4298
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
[Intel XE#5873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5873
[Intel XE#5882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5882
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6911
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7323
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7384]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7384
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7466
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
[Intel XE#7636]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7636
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7893
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#7935]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7935
[Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
[Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
[Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
[Intel XE#8300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8300
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
[Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
[Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* Linux: xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc -> xe-pw-166998v2
IGT_8988: 8988
xe-5306-03288b34f48c3fe60055353c30da4aacab572cdc: 03288b34f48c3fe60055353c30da4aacab572cdc
xe-pw-166998v2: 166998v2
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-166998v2/index.html
[-- Attachment #2: Type: text/html, Size: 27254 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread