All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 16:22 ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Daniel Vetter, Kevin Cernekee, Mathias Nyman,
	Andrew Morton

Some of the existing users, and definitely will be new ones, want to
count existing nodes in the list. Provide a generic API for that by
moving code from i915 to list.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: dropped the duplicate code in i915 (LKP)
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
 include/linux/list.h                      | 13 +++++++++++++
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 6ae8b07cfaa1..b5d474be564d 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
 	}
 }
 
-static unsigned long list_count(struct list_head *list)
-{
-	struct list_head *pos;
-	unsigned long count = 0;
-
-	list_for_each(pos, list)
-		count++;
-
-	return count;
-}
-
 static unsigned long read_ul(void *p, size_t x)
 {
 	return *(unsigned long *)(p + x);
@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
 	engine_dump_active_requests(engine, m);
 
-	drm_printf(m, "\tOn hold?: %lu\n",
+	drm_printf(m, "\tOn hold?: %zu\n",
 		   list_count(&engine->sched_engine->hold));
 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
 
diff --git a/include/linux/list.h b/include/linux/list.h
index 61762054b4be..098eccf8c1b6 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
 	     !list_is_head(pos, (head)); \
 	     pos = n, n = pos->prev)
 
+/**
+ * list_count - count nodes in the list
+ * @head:	the head for your list.
+ */
+#define list_count(head)		\
+({					\
+	struct list_head *__tmp;	\
+	size_t __i = 0;			\
+	list_for_each(__tmp, head)	\
+		__i++;			\
+	__i;				\
+})
+
 /**
  * list_entry_is_head - test if the entry points to the head of the list
  * @pos:	the type * to cursor
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 16:22 ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Rodrigo Vivi,
	Andrew Morton

Some of the existing users, and definitely will be new ones, want to
count existing nodes in the list. Provide a generic API for that by
moving code from i915 to list.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: dropped the duplicate code in i915 (LKP)
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
 include/linux/list.h                      | 13 +++++++++++++
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 6ae8b07cfaa1..b5d474be564d 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
 	}
 }
 
-static unsigned long list_count(struct list_head *list)
-{
-	struct list_head *pos;
-	unsigned long count = 0;
-
-	list_for_each(pos, list)
-		count++;
-
-	return count;
-}
-
 static unsigned long read_ul(void *p, size_t x)
 {
 	return *(unsigned long *)(p + x);
@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
 	engine_dump_active_requests(engine, m);
 
-	drm_printf(m, "\tOn hold?: %lu\n",
+	drm_printf(m, "\tOn hold?: %zu\n",
 		   list_count(&engine->sched_engine->hold));
 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
 
diff --git a/include/linux/list.h b/include/linux/list.h
index 61762054b4be..098eccf8c1b6 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
 	     !list_is_head(pos, (head)); \
 	     pos = n, n = pos->prev)
 
+/**
+ * list_count - count nodes in the list
+ * @head:	the head for your list.
+ */
+#define list_count(head)		\
+({					\
+	struct list_head *__tmp;	\
+	size_t __i = 0;			\
+	list_for_each(__tmp, head)	\
+		__i++;			\
+	__i;				\
+})
+
 /**
  * list_entry_is_head - test if the entry points to the head of the list
  * @pos:	the type * to cursor
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 16:22 ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Kevin Cernekee, Mathias Nyman, Daniel Vetter, Rodrigo Vivi,
	Andrew Morton, David Airlie

Some of the existing users, and definitely will be new ones, want to
count existing nodes in the list. Provide a generic API for that by
moving code from i915 to list.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: dropped the duplicate code in i915 (LKP)
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
 include/linux/list.h                      | 13 +++++++++++++
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 6ae8b07cfaa1..b5d474be564d 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
 	}
 }
 
-static unsigned long list_count(struct list_head *list)
-{
-	struct list_head *pos;
-	unsigned long count = 0;
-
-	list_for_each(pos, list)
-		count++;
-
-	return count;
-}
-
 static unsigned long read_ul(void *p, size_t x)
 {
 	return *(unsigned long *)(p + x);
@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
 	engine_dump_active_requests(engine, m);
 
-	drm_printf(m, "\tOn hold?: %lu\n",
+	drm_printf(m, "\tOn hold?: %zu\n",
 		   list_count(&engine->sched_engine->hold));
 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
 
diff --git a/include/linux/list.h b/include/linux/list.h
index 61762054b4be..098eccf8c1b6 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
 	     !list_is_head(pos, (head)); \
 	     pos = n, n = pos->prev)
 
+/**
+ * list_count - count nodes in the list
+ * @head:	the head for your list.
+ */
+#define list_count(head)		\
+({					\
+	struct list_head *__tmp;	\
+	size_t __i = 0;			\
+	list_for_each(__tmp, head)	\
+		__i++;			\
+	__i;				\
+})
+
 /**
  * list_entry_is_head - test if the entry points to the head of the list
  * @pos:	the type * to cursor
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
  2022-11-14 16:22 ` Andy Shevchenko
  (?)
@ 2022-11-14 16:22   ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Daniel Vetter, Kevin Cernekee, Mathias Nyman,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/legacy/hid.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/legacy/hid.c b/drivers/usb/gadget/legacy/hid.c
index 1187ee4f316a..6196c3456e0b 100644
--- a/drivers/usb/gadget/legacy/hid.c
+++ b/drivers/usb/gadget/legacy/hid.c
@@ -133,14 +133,11 @@ static struct usb_configuration config_driver = {
 static int hid_bind(struct usb_composite_dev *cdev)
 {
 	struct usb_gadget *gadget = cdev->gadget;
-	struct list_head *tmp;
 	struct hidg_func_node *n = NULL, *m, *iter_n;
 	struct f_hid_opts *hid_opts;
-	int status, funcs = 0;
-
-	list_for_each(tmp, &hidg_func_list)
-		funcs++;
+	int status, funcs;
 
+	funcs = list_count(&hidg_func_list);
 	if (!funcs)
 		return -ENODEV;
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Rodrigo Vivi,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/legacy/hid.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/legacy/hid.c b/drivers/usb/gadget/legacy/hid.c
index 1187ee4f316a..6196c3456e0b 100644
--- a/drivers/usb/gadget/legacy/hid.c
+++ b/drivers/usb/gadget/legacy/hid.c
@@ -133,14 +133,11 @@ static struct usb_configuration config_driver = {
 static int hid_bind(struct usb_composite_dev *cdev)
 {
 	struct usb_gadget *gadget = cdev->gadget;
-	struct list_head *tmp;
 	struct hidg_func_node *n = NULL, *m, *iter_n;
 	struct f_hid_opts *hid_opts;
-	int status, funcs = 0;
-
-	list_for_each(tmp, &hidg_func_list)
-		funcs++;
+	int status, funcs;
 
+	funcs = list_count(&hidg_func_list);
 	if (!funcs)
 		return -ENODEV;
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Intel-gfx] [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Kevin Cernekee, Mathias Nyman, Daniel Vetter, Rodrigo Vivi,
	Andrew Morton, David Airlie

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/legacy/hid.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/gadget/legacy/hid.c b/drivers/usb/gadget/legacy/hid.c
index 1187ee4f316a..6196c3456e0b 100644
--- a/drivers/usb/gadget/legacy/hid.c
+++ b/drivers/usb/gadget/legacy/hid.c
@@ -133,14 +133,11 @@ static struct usb_configuration config_driver = {
 static int hid_bind(struct usb_composite_dev *cdev)
 {
 	struct usb_gadget *gadget = cdev->gadget;
-	struct list_head *tmp;
 	struct hidg_func_node *n = NULL, *m, *iter_n;
 	struct f_hid_opts *hid_opts;
-	int status, funcs = 0;
-
-	list_for_each(tmp, &hidg_func_list)
-		funcs++;
+	int status, funcs;
 
+	funcs = list_count(&hidg_func_list);
 	if (!funcs)
 		return -ENODEV;
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 3/4] usb: gadget: udc: bcm63xx: Convert to use list_count()
  2022-11-14 16:22 ` Andy Shevchenko
  (?)
@ 2022-11-14 16:22   ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Daniel Vetter, Kevin Cernekee, Mathias Nyman,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/udc/bcm63xx_udc.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index 2cdb07905bde..0762e49e85f8 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -2172,7 +2172,6 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 
 	for (ch_idx = 0; ch_idx < BCM63XX_NUM_IUDMA; ch_idx++) {
 		struct iudma_ch *iudma = &udc->iudma[ch_idx];
-		struct list_head *pos;
 
 		seq_printf(s, "IUDMA channel %d -- ", ch_idx);
 		switch (iudma_defaults[ch_idx].ep_type) {
@@ -2205,14 +2204,10 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 		seq_printf(s, "  desc: %d/%d used", iudma->n_bds_used,
 			   iudma->n_bds);
 
-		if (iudma->bep) {
-			i = 0;
-			list_for_each(pos, &iudma->bep->queue)
-				i++;
-			seq_printf(s, "; %d queued\n", i);
-		} else {
+		if (iudma->bep)
+			seq_printf(s, "; %zu queued\n", list_count(&iudma->bep->queue));
+		else
 			seq_printf(s, "\n");
-		}
 
 		for (i = 0; i < iudma->n_bds; i++) {
 			struct bcm_enet_desc *d = &iudma->bd_ring[i];
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Intel-gfx] [PATCH v2 3/4] usb: gadget: udc: bcm63xx: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Kevin Cernekee, Mathias Nyman, Daniel Vetter, Rodrigo Vivi,
	Andrew Morton, David Airlie

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/udc/bcm63xx_udc.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index 2cdb07905bde..0762e49e85f8 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -2172,7 +2172,6 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 
 	for (ch_idx = 0; ch_idx < BCM63XX_NUM_IUDMA; ch_idx++) {
 		struct iudma_ch *iudma = &udc->iudma[ch_idx];
-		struct list_head *pos;
 
 		seq_printf(s, "IUDMA channel %d -- ", ch_idx);
 		switch (iudma_defaults[ch_idx].ep_type) {
@@ -2205,14 +2204,10 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 		seq_printf(s, "  desc: %d/%d used", iudma->n_bds_used,
 			   iudma->n_bds);
 
-		if (iudma->bep) {
-			i = 0;
-			list_for_each(pos, &iudma->bep->queue)
-				i++;
-			seq_printf(s, "; %d queued\n", i);
-		} else {
+		if (iudma->bep)
+			seq_printf(s, "; %zu queued\n", list_count(&iudma->bep->queue));
+		else
 			seq_printf(s, "\n");
-		}
 
 		for (i = 0; i < iudma->n_bds; i++) {
 			struct bcm_enet_desc *d = &iudma->bd_ring[i];
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 3/4] usb: gadget: udc: bcm63xx: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Rodrigo Vivi,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/gadget/udc/bcm63xx_udc.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/gadget/udc/bcm63xx_udc.c b/drivers/usb/gadget/udc/bcm63xx_udc.c
index 2cdb07905bde..0762e49e85f8 100644
--- a/drivers/usb/gadget/udc/bcm63xx_udc.c
+++ b/drivers/usb/gadget/udc/bcm63xx_udc.c
@@ -2172,7 +2172,6 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 
 	for (ch_idx = 0; ch_idx < BCM63XX_NUM_IUDMA; ch_idx++) {
 		struct iudma_ch *iudma = &udc->iudma[ch_idx];
-		struct list_head *pos;
 
 		seq_printf(s, "IUDMA channel %d -- ", ch_idx);
 		switch (iudma_defaults[ch_idx].ep_type) {
@@ -2205,14 +2204,10 @@ static int bcm63xx_iudma_dbg_show(struct seq_file *s, void *p)
 		seq_printf(s, "  desc: %d/%d used", iudma->n_bds_used,
 			   iudma->n_bds);
 
-		if (iudma->bep) {
-			i = 0;
-			list_for_each(pos, &iudma->bep->queue)
-				i++;
-			seq_printf(s, "; %d queued\n", i);
-		} else {
+		if (iudma->bep)
+			seq_printf(s, "; %zu queued\n", list_count(&iudma->bep->queue));
+		else
 			seq_printf(s, "\n");
-		}
 
 		for (i = 0; i < iudma->n_bds; i++) {
 			struct bcm_enet_desc *d = &iudma->bd_ring[i];
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 4/4] xhci: Convert to use list_count()
  2022-11-14 16:22 ` Andy Shevchenko
  (?)
@ 2022-11-14 16:22   ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin,
	David Airlie, Daniel Vetter, Kevin Cernekee, Mathias Nyman,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/host/xhci-ring.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index ad81e9a508b1..817c31e3b0c8 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2532,7 +2532,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	union xhci_trb *ep_trb;
 	int status = -EINPROGRESS;
 	struct xhci_ep_ctx *ep_ctx;
-	struct list_head *tmp;
 	u32 trb_comp_code;
 	int td_num = 0;
 	bool handling_skipped_tds = false;
@@ -2580,10 +2579,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	}
 
 	/* Count current td numbers if ep->skip is set */
-	if (ep->skip) {
-		list_for_each(tmp, &ep_ring->td_list)
-			td_num++;
-	}
+	if (ep->skip)
+		td_num += list_count(&ep_ring->td_list);
 
 	/* Look for common error cases */
 	switch (trb_comp_code) {
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH v2 4/4] xhci: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Rodrigo Vivi,
	Andrew Morton

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/host/xhci-ring.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index ad81e9a508b1..817c31e3b0c8 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2532,7 +2532,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	union xhci_trb *ep_trb;
 	int status = -EINPROGRESS;
 	struct xhci_ep_ctx *ep_ctx;
-	struct list_head *tmp;
 	u32 trb_comp_code;
 	int td_num = 0;
 	bool handling_skipped_tds = false;
@@ -2580,10 +2579,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	}
 
 	/* Count current td numbers if ep->skip is set */
-	if (ep->skip) {
-		list_for_each(tmp, &ep_ring->td_list)
-			td_num++;
-	}
+	if (ep->skip)
+		td_num += list_count(&ep_ring->td_list);
 
 	/* Look for common error cases */
 	switch (trb_comp_code) {
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [Intel-gfx] [PATCH v2 4/4] xhci: Convert to use list_count()
@ 2022-11-14 16:22   ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 16:22 UTC (permalink / raw)
  To: Jakob Koschel, Andy Shevchenko, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Kevin Cernekee, Mathias Nyman, Daniel Vetter, Rodrigo Vivi,
	Andrew Morton, David Airlie

The list API now provides the list_count() to help with counting
existing nodes in the list. Uilise it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: no change
 drivers/usb/host/xhci-ring.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index ad81e9a508b1..817c31e3b0c8 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2532,7 +2532,6 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	union xhci_trb *ep_trb;
 	int status = -EINPROGRESS;
 	struct xhci_ep_ctx *ep_ctx;
-	struct list_head *tmp;
 	u32 trb_comp_code;
 	int td_num = 0;
 	bool handling_skipped_tds = false;
@@ -2580,10 +2579,8 @@ static int handle_tx_event(struct xhci_hcd *xhci,
 	}
 
 	/* Count current td numbers if ep->skip is set */
-	if (ep->skip) {
-		list_for_each(tmp, &ep_ring->td_list)
-			td_num++;
-	}
+	if (ep->skip)
+		td_num += list_count(&ep_ring->td_list);
 
 	/* Look for common error cases */
 	switch (trb_comp_code) {
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 16:22 ` Andy Shevchenko
  (?)
@ 2022-11-14 18:11   ` Ruhl, Michael J
  -1 siblings, 0 replies; 33+ messages in thread
From: Ruhl, Michael J @ 2022-11-14 18:11 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Andrew Morton, Kevin Cernekee, Nyman, Mathias, Vivi,  Rodrigo

>-----Original Message-----
>From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
>Andy Shevchenko
>Sent: Monday, November 14, 2022 11:22 AM
>To: Jakob Koschel <jakobkoschel@gmail.com>; Andy Shevchenko
><andriy.shevchenko@linux.intel.com>; Greg Kroah-Hartman
><gregkh@linuxfoundation.org>; Mathias Nyman
><mathias.nyman@linux.intel.com>; intel-gfx@lists.freedesktop.org; dri-
>devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; linux-
>usb@vger.kernel.org
>Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>; Kevin Cernekee
><cernekee@gmail.com>; Nyman, Mathias <mathias.nyman@intel.com>; Vivi,
>Rodrigo <rodrigo.vivi@intel.com>; Andrew Morton <akpm@linux-
>foundation.org>
>Subject: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
>
>Some of the existing users, and definitely will be new ones, want to
>count existing nodes in the list. Provide a generic API for that by
>moving code from i915 to list.h.
>
>Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>---
>v2: dropped the duplicate code in i915 (LKP)
> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
> include/linux/list.h                      | 13 +++++++++++++
> 2 files changed, 14 insertions(+), 12 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>index 6ae8b07cfaa1..b5d474be564d 100644
>--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer
>*m, struct i915_request *rq)
> 	}
> }
>
>-static unsigned long list_count(struct list_head *list)
>-{
>-	struct list_head *pos;
>-	unsigned long count = 0;
>-
>-	list_for_each(pos, list)
>-		count++;
>-
>-	return count;
>-}
>-
> static unsigned long read_ul(void *p, size_t x)
> {
> 	return *(unsigned long *)(p + x);
>@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs
>*engine,
> 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
> 	engine_dump_active_requests(engine, m);
>
>-	drm_printf(m, "\tOn hold?: %lu\n",
>+	drm_printf(m, "\tOn hold?: %zu\n",
> 		   list_count(&engine->sched_engine->hold));
> 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>
>diff --git a/include/linux/list.h b/include/linux/list.h
>index 61762054b4be..098eccf8c1b6 100644
>--- a/include/linux/list.h
>+++ b/include/linux/list.h
>@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head
>*list,
> 	     !list_is_head(pos, (head)); \
> 	     pos = n, n = pos->prev)
>
>+/**
>+ * list_count - count nodes in the list
>+ * @head:	the head for your list.
>+ */
>+#define list_count(head)		\
>+({					\
>+	struct list_head *__tmp;	\
>+	size_t __i = 0;			\
>+	list_for_each(__tmp, head)	\
>+		__i++;			\
>+	__i;				\
>+})

So all of the non-list_for_each code appears to be an inline.

This which, resembles the non-list_for_each pattern is a macro?

Just curious as to why the macro rather than inline?

Mike
+
> /**
>  * list_entry_is_head - test if the entry points to the head of the list
>  * @pos:	the type * to cursor
>--
>2.35.1


^ permalink raw reply	[flat|nested] 33+ messages in thread

* RE: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 18:11   ` Ruhl, Michael J
  0 siblings, 0 replies; 33+ messages in thread
From: Ruhl, Michael J @ 2022-11-14 18:11 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Kevin Cernekee, Nyman, Mathias, Vivi, Rodrigo,
	Andrew Morton

>-----Original Message-----
>From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
>Andy Shevchenko
>Sent: Monday, November 14, 2022 11:22 AM
>To: Jakob Koschel <jakobkoschel@gmail.com>; Andy Shevchenko
><andriy.shevchenko@linux.intel.com>; Greg Kroah-Hartman
><gregkh@linuxfoundation.org>; Mathias Nyman
><mathias.nyman@linux.intel.com>; intel-gfx@lists.freedesktop.org; dri-
>devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; linux-
>usb@vger.kernel.org
>Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>; Kevin Cernekee
><cernekee@gmail.com>; Nyman, Mathias <mathias.nyman@intel.com>; Vivi,
>Rodrigo <rodrigo.vivi@intel.com>; Andrew Morton <akpm@linux-
>foundation.org>
>Subject: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
>
>Some of the existing users, and definitely will be new ones, want to
>count existing nodes in the list. Provide a generic API for that by
>moving code from i915 to list.h.
>
>Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>---
>v2: dropped the duplicate code in i915 (LKP)
> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
> include/linux/list.h                      | 13 +++++++++++++
> 2 files changed, 14 insertions(+), 12 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>index 6ae8b07cfaa1..b5d474be564d 100644
>--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer
>*m, struct i915_request *rq)
> 	}
> }
>
>-static unsigned long list_count(struct list_head *list)
>-{
>-	struct list_head *pos;
>-	unsigned long count = 0;
>-
>-	list_for_each(pos, list)
>-		count++;
>-
>-	return count;
>-}
>-
> static unsigned long read_ul(void *p, size_t x)
> {
> 	return *(unsigned long *)(p + x);
>@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs
>*engine,
> 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
> 	engine_dump_active_requests(engine, m);
>
>-	drm_printf(m, "\tOn hold?: %lu\n",
>+	drm_printf(m, "\tOn hold?: %zu\n",
> 		   list_count(&engine->sched_engine->hold));
> 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>
>diff --git a/include/linux/list.h b/include/linux/list.h
>index 61762054b4be..098eccf8c1b6 100644
>--- a/include/linux/list.h
>+++ b/include/linux/list.h
>@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head
>*list,
> 	     !list_is_head(pos, (head)); \
> 	     pos = n, n = pos->prev)
>
>+/**
>+ * list_count - count nodes in the list
>+ * @head:	the head for your list.
>+ */
>+#define list_count(head)		\
>+({					\
>+	struct list_head *__tmp;	\
>+	size_t __i = 0;			\
>+	list_for_each(__tmp, head)	\
>+		__i++;			\
>+	__i;				\
>+})

So all of the non-list_for_each code appears to be an inline.

This which, resembles the non-list_for_each pattern is a macro?

Just curious as to why the macro rather than inline?

Mike
+
> /**
>  * list_entry_is_head - test if the entry points to the head of the list
>  * @pos:	the type * to cursor
>--
>2.35.1


^ permalink raw reply	[flat|nested] 33+ messages in thread

* RE: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 18:11   ` Ruhl, Michael J
  0 siblings, 0 replies; 33+ messages in thread
From: Ruhl, Michael J @ 2022-11-14 18:11 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Greg Kroah-Hartman,
	Mathias Nyman, intel-gfx, dri-devel, linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Andrew Morton, Kevin Cernekee, Nyman, Mathias,
	Vivi,  Rodrigo

>-----Original Message-----
>From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of
>Andy Shevchenko
>Sent: Monday, November 14, 2022 11:22 AM
>To: Jakob Koschel <jakobkoschel@gmail.com>; Andy Shevchenko
><andriy.shevchenko@linux.intel.com>; Greg Kroah-Hartman
><gregkh@linuxfoundation.org>; Mathias Nyman
><mathias.nyman@linux.intel.com>; intel-gfx@lists.freedesktop.org; dri-
>devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; linux-
>usb@vger.kernel.org
>Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>; Kevin Cernekee
><cernekee@gmail.com>; Nyman, Mathias <mathias.nyman@intel.com>; Vivi,
>Rodrigo <rodrigo.vivi@intel.com>; Andrew Morton <akpm@linux-
>foundation.org>
>Subject: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
>
>Some of the existing users, and definitely will be new ones, want to
>count existing nodes in the list. Provide a generic API for that by
>moving code from i915 to list.h.
>
>Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>---
>v2: dropped the duplicate code in i915 (LKP)
> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
> include/linux/list.h                      | 13 +++++++++++++
> 2 files changed, 14 insertions(+), 12 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>index 6ae8b07cfaa1..b5d474be564d 100644
>--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
>@@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer
>*m, struct i915_request *rq)
> 	}
> }
>
>-static unsigned long list_count(struct list_head *list)
>-{
>-	struct list_head *pos;
>-	unsigned long count = 0;
>-
>-	list_for_each(pos, list)
>-		count++;
>-
>-	return count;
>-}
>-
> static unsigned long read_ul(void *p, size_t x)
> {
> 	return *(unsigned long *)(p + x);
>@@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs
>*engine,
> 	spin_lock_irqsave(&engine->sched_engine->lock, flags);
> 	engine_dump_active_requests(engine, m);
>
>-	drm_printf(m, "\tOn hold?: %lu\n",
>+	drm_printf(m, "\tOn hold?: %zu\n",
> 		   list_count(&engine->sched_engine->hold));
> 	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>
>diff --git a/include/linux/list.h b/include/linux/list.h
>index 61762054b4be..098eccf8c1b6 100644
>--- a/include/linux/list.h
>+++ b/include/linux/list.h
>@@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head
>*list,
> 	     !list_is_head(pos, (head)); \
> 	     pos = n, n = pos->prev)
>
>+/**
>+ * list_count - count nodes in the list
>+ * @head:	the head for your list.
>+ */
>+#define list_count(head)		\
>+({					\
>+	struct list_head *__tmp;	\
>+	size_t __i = 0;			\
>+	list_for_each(__tmp, head)	\
>+		__i++;			\
>+	__i;				\
>+})

So all of the non-list_for_each code appears to be an inline.

This which, resembles the non-list_for_each pattern is a macro?

Just curious as to why the macro rather than inline?

Mike
+
> /**
>  * list_entry_is_head - test if the entry points to the head of the list
>  * @pos:	the type * to cursor
>--
>2.35.1


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 18:11   ` Ruhl, Michael J
  (?)
@ 2022-11-14 18:48     ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 18:48 UTC (permalink / raw)
  To: Ruhl, Michael J
  Cc: Jakob Koschel, Greg Kroah-Hartman, Mathias Nyman, intel-gfx,
	dri-devel, linux-kernel, linux-usb, Tvrtko Ursulin,
	Kevin Cernekee, Nyman, Mathias, Vivi, Rodrigo, Andrew Morton

On Mon, Nov 14, 2022 at 06:11:51PM +0000, Ruhl, Michael J wrote:

...

> So all of the non-list_for_each code appears to be an inline.

This is not true.

> This which, resembles the non-list_for_each pattern is a macro?
> 
> Just curious as to why the macro rather than inline?

See above. However, I'm fine with the inline.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 18:48     ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 18:48 UTC (permalink / raw)
  To: Ruhl, Michael J
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Nyman, Mathias,
	Greg Kroah-Hartman, intel-gfx, linux-usb, linux-kernel,
	dri-devel, Jakob Koschel, Vivi, Rodrigo, Andrew Morton

On Mon, Nov 14, 2022 at 06:11:51PM +0000, Ruhl, Michael J wrote:

...

> So all of the non-list_for_each code appears to be an inline.

This is not true.

> This which, resembles the non-list_for_each pattern is a macro?
> 
> Just curious as to why the macro rather than inline?

See above. However, I'm fine with the inline.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-14 18:48     ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-14 18:48 UTC (permalink / raw)
  To: Ruhl, Michael J
  Cc: Kevin Cernekee, Mathias Nyman, Nyman, Mathias,
	Greg Kroah-Hartman, intel-gfx, linux-usb, linux-kernel,
	dri-devel, Jakob Koschel, Vivi, Rodrigo, Andrew Morton

On Mon, Nov 14, 2022 at 06:11:51PM +0000, Ruhl, Michael J wrote:

...

> So all of the non-list_for_each code appears to be an inline.

This is not true.

> This which, resembles the non-list_for_each pattern is a macro?
> 
> Just curious as to why the macro rather than inline?

See above. However, I'm fine with the inline.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
  2022-11-14 16:22   ` Andy Shevchenko
  (?)
@ 2022-11-14 19:15     ` Fabio Estevam
  -1 siblings, 0 replies; 33+ messages in thread
From: Fabio Estevam @ 2022-11-14 19:15 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Jakob Koschel, Greg Kroah-Hartman, Mathias Nyman, intel-gfx,
	dri-devel, linux-kernel, linux-usb, Tvrtko Ursulin,
	Kevin Cernekee, Mathias Nyman, Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> The list API now provides the list_count() to help with counting
> existing nodes in the list. Uilise it.

s/Uilise/Utilise

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-14 19:15     ` Fabio Estevam
  0 siblings, 0 replies; 33+ messages in thread
From: Fabio Estevam @ 2022-11-14 19:15 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Mathias Nyman,
	Greg Kroah-Hartman, intel-gfx, linux-usb, linux-kernel,
	dri-devel, Jakob Koschel, Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> The list API now provides the list_count() to help with counting
> existing nodes in the list. Uilise it.

s/Uilise/Utilise

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-14 19:15     ` Fabio Estevam
  0 siblings, 0 replies; 33+ messages in thread
From: Fabio Estevam @ 2022-11-14 19:15 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Kevin Cernekee, Mathias Nyman, Mathias Nyman, Greg Kroah-Hartman,
	intel-gfx, linux-usb, linux-kernel, dri-devel, Jakob Koschel,
	Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> The list API now provides the list_count() to help with counting
> existing nodes in the list. Uilise it.

s/Uilise/Utilise

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 16:22 ` Andy Shevchenko
                   ` (5 preceding siblings ...)
  (?)
@ 2022-11-14 23:53 ` Patchwork
  -1 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2022-11-14 23:53 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
URL   : https://patchwork.freedesktop.org/series/110870/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 16:22 ` Andy Shevchenko
                   ` (6 preceding siblings ...)
  (?)
@ 2022-11-15  0:13 ` Patchwork
  -1 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2022-11-15  0:13 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 8992 bytes --]

== Series Details ==

Series: series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
URL   : https://patchwork.freedesktop.org/series/110870/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12379 -> Patchwork_110870v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/index.html

Participating hosts (40 -> 37)
------------------------------

  Additional (1): fi-rkl-11600 
  Missing    (4): fi-hsw-4770 bat-kbl-2 bat-atsm-1 fi-bdw-samus 

Known issues
------------

  Here are the changes found in Patchwork_110870v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-rkl-11600:       NOTRUN -> [SKIP][1] ([i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-rkl-11600:       NOTRUN -> [SKIP][2] ([i915#4613]) +3 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_tiled_pread_basic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][3] ([i915#3282])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-rkl-11600:       NOTRUN -> [SKIP][4] ([i915#3012])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-7567u:       [PASS][5] -> [DMESG-FAIL][6] ([i915#5334])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/fi-kbl-7567u/igt@i915_selftest@live@gt_heartbeat.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-kbl-7567u/igt@i915_selftest@live@gt_heartbeat.html
    - fi-bxt-dsi:         [PASS][7] -> [DMESG-FAIL][8] ([i915#5334])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/fi-bxt-dsi/igt@i915_selftest@live@gt_heartbeat.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-bxt-dsi/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       NOTRUN -> [INCOMPLETE][9] ([i915#4817])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-rkl-11600:       NOTRUN -> [SKIP][10] ([fdo#111827]) +7 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - fi-rkl-11600:       NOTRUN -> [SKIP][11] ([i915#4103])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-rkl-11600:       NOTRUN -> [SKIP][12] ([fdo#109285] / [i915#4098])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@sprite_plane_onoff:
    - fi-rkl-11600:       NOTRUN -> [SKIP][13] ([i915#1072]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-rkl-11600:       NOTRUN -> [SKIP][14] ([i915#3555] / [i915#4098])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-read:
    - fi-rkl-11600:       NOTRUN -> [SKIP][15] ([fdo#109295] / [i915#3291] / [i915#3708]) +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-userptr:
    - fi-rkl-11600:       NOTRUN -> [SKIP][16] ([fdo#109295] / [i915#3301] / [i915#3708])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-rkl-11600/igt@prime_vgem@basic-userptr.html

  
#### Possible fixes ####

  * igt@gem_huc_copy@huc-copy:
    - {bat-dg2-8}:        [FAIL][17] ([i915#7029]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/bat-dg2-8/igt@gem_huc_copy@huc-copy.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/bat-dg2-8/igt@gem_huc_copy@huc-copy.html

  * igt@i915_selftest@live@migrate:
    - {bat-adlp-6}:       [INCOMPLETE][19] ([i915#7348]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/bat-adlp-6/igt@i915_selftest@live@migrate.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/bat-adlp-6/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@requests:
    - {bat-rpls-1}:       [INCOMPLETE][21] ([i915#6257]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/bat-rpls-1/igt@i915_selftest@live@requests.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/bat-rpls-1/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@slpc:
    - {bat-adln-1}:       [DMESG-FAIL][23] ([i915#6997]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/bat-adln-1/igt@i915_selftest@live@slpc.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/bat-adln-1/igt@i915_selftest@live@slpc.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
    - fi-bsw-kefka:       [FAIL][25] ([i915#6298]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6434]: https://gitlab.freedesktop.org/drm/intel/issues/6434
  [i915#6816]: https://gitlab.freedesktop.org/drm/intel/issues/6816
  [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7029]: https://gitlab.freedesktop.org/drm/intel/issues/7029
  [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
  [i915#7348]: https://gitlab.freedesktop.org/drm/intel/issues/7348
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456


Build changes
-------------

  * Linux: CI_DRM_12379 -> Patchwork_110870v1

  CI-20190529: 20190529
  CI_DRM_12379: fbd41f5bba3fa2af510a37dadb4ef872e2c54701 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7056: 05096a6754048f4b5a2de798ab4bea32012b556a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_110870v1: fbd41f5bba3fa2af510a37dadb4ef872e2c54701 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

c9cc3b64fbe8 xhci: Convert to use list_count()
62ba9510764d usb: gadget: udc: bcm63xx: Convert to use list_count()
bfc974e0e38d usb: gadget: hid: Convert to use list_count()
507daebd0af7 i915: Move list_count() to list.h for broader use

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/index.html

[-- Attachment #2: Type: text/html, Size: 9812 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 16:22 ` Andy Shevchenko
                   ` (7 preceding siblings ...)
  (?)
@ 2022-11-15  7:37 ` Patchwork
  -1 siblings, 0 replies; 33+ messages in thread
From: Patchwork @ 2022-11-15  7:37 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 36082 bytes --]

== Series Details ==

Series: series starting with [v2,1/4] i915: Move list_count() to list.h for broader use
URL   : https://patchwork.freedesktop.org/series/110870/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12379_full -> Patchwork_110870v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_110870v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_110870v1_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_110870v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_spin_batch@user-each:
    - shard-skl:          [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl10/igt@gem_spin_batch@user-each.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@gem_spin_batch@user-each.html

  
Known issues
------------

  Here are the changes found in Patchwork_110870v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@psr2:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([i915#658])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@feature_discovery@psr2.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb3/igt@feature_discovery@psr2.html

  * igt@gem_ctx_persistence@hang:
    - shard-skl:          NOTRUN -> [SKIP][5] ([fdo#109271]) +249 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@gem_ctx_persistence@hang.html

  * igt@gem_eio@in-flight-suspend:
    - shard-apl:          [PASS][6] -> [DMESG-WARN][7] ([i915#180])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl3/igt@gem_eio@in-flight-suspend.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl3/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][8] -> [FAIL][9] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk2/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - shard-skl:          [PASS][10] -> [FAIL][11] ([fdo#103375])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl10/igt@gem_exec_suspend@basic-s3@smem.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_lmem_swapping@random:
    - shard-apl:          NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl6/igt@gem_lmem_swapping@random.html

  * igt@gem_lmem_swapping@random-engines:
    - shard-skl:          NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#4613]) +5 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_tiled_wb:
    - shard-skl:          NOTRUN -> [TIMEOUT][14] ([i915#6990])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@gem_tiled_wb.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-skl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#3323])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@i915_module_load@load:
    - shard-skl:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#6227])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl1/igt@i915_module_load@load.html

  * igt@i915_selftest@live@hangcheck:
    - shard-tglb:         [PASS][17] -> [DMESG-WARN][18] ([i915#5591])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb3/igt@i915_selftest@live@hangcheck.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb3/igt@i915_selftest@live@hangcheck.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#3886]) +10 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl1/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-random-ccs-data-4_tiled_dg2_rc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][20] ([fdo#109271]) +19 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl6/igt@kms_ccs@pipe-b-random-ccs-data-4_tiled_dg2_rc_ccs.html

  * igt@kms_chamelium@hdmi-crc-fast:
    - shard-skl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@kms_chamelium@hdmi-crc-fast.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [fdo#111827])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl6/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size:
    - shard-glk:          [PASS][23] -> [FAIL][24] ([i915#2346])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor@legacy:
    - shard-skl:          [PASS][25] -> [SKIP][26] ([fdo#109271])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor@legacy.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor@legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor@toggle:
    - shard-skl:          [PASS][27] -> [FAIL][28] ([i915#2346])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-skl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#7205])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
    - shard-skl:          [PASS][30] -> [FAIL][31] ([i915#2122]) +2 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl1/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][32] ([i915#3555]) +2 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][33] ([i915#2587] / [i915#2672]) +4 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb8/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][34] ([i915#2672]) +2 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][35] ([i915#2672] / [i915#3555])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-glk:          [PASS][36] -> [FAIL][37] ([i915#2546])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk5/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-c-edp-1:
    - shard-skl:          NOTRUN -> [FAIL][38] ([i915#4573]) +2 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-c-edp-1.html

  * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1:
    - shard-iclb:         [PASS][39] -> [SKIP][40] ([i915#5176]) +2 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb7/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-b-edp-1.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-skl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#658]) +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@psr2_sprite_plane_onoff:
    - shard-iclb:         [PASS][42] -> [SKIP][43] ([fdo#109441]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb5/igt@kms_psr@psr2_sprite_plane_onoff.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-tglb:         [PASS][44] -> [SKIP][45] ([i915#5519])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-skl:          NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#2437])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl1/igt@kms_writeback@writeback-pixel-formats.html

  * igt@sw_sync@sync_multi_consumer_producer:
    - shard-skl:          [PASS][47] -> [DMESG-WARN][48] ([i915#1982])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl1/igt@sw_sync@sync_multi_consumer_producer.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl2/igt@sw_sync@sync_multi_consumer_producer.html

  * igt@sysfs_clients@sema-10:
    - shard-skl:          NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#2994]) +2 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl7/igt@sysfs_clients@sema-10.html

  
#### Possible fixes ####

  * igt@fbdev@eof:
    - {shard-rkl}:        [SKIP][50] ([i915#2582]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-4/igt@fbdev@eof.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@fbdev@eof.html

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-rkl}:        [FAIL][52] ([i915#6268]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-1/igt@gem_ctx_exec@basic-nohangcheck.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-4/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_eio@kms:
    - {shard-dg1}:        [FAIL][54] ([i915#5784]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-dg1-18/igt@gem_eio@kms.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-dg1-18/igt@gem_eio@kms.html

  * igt@gem_exec_balancer@full-late:
    - {shard-dg1}:        [FAIL][56] ([i915#6032]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-dg1-13/igt@gem_exec_balancer@full-late.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-dg1-13/igt@gem_exec_balancer@full-late.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][58] ([i915#2842]) -> [PASS][59] +4 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-glk:          [FAIL][60] ([i915#2842]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk8/igt@gem_exec_fair@basic-none@vcs0.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk5/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - {shard-rkl}:        [SKIP][62] ([i915#3281]) -> [PASS][63] +7 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-5/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_tiled_partial_pwrite_pread@writes:
    - {shard-rkl}:        [SKIP][64] ([i915#3282]) -> [PASS][65] +4 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-6/igt@gem_tiled_partial_pwrite_pread@writes.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-5/igt@gem_tiled_partial_pwrite_pread@writes.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-apl:          [DMESG-WARN][66] ([i915#180]) -> [PASS][67]
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl1/igt@gem_workarounds@suspend-resume-fd.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl6/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - {shard-rkl}:        [SKIP][68] ([i915#2527]) -> [PASS][69] +2 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-4/igt@gen9_exec_parse@batch-invalid-length.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-5/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@i915_pm_backlight@fade:
    - {shard-rkl}:        [SKIP][70] ([i915#3012]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-2/igt@i915_pm_backlight@fade.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@i915_pm_backlight@fade.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-iclb:         [FAIL][72] ([i915#3989]) -> [PASS][73]
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb8/igt@i915_pm_dc@dc5-psr.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb7/igt@i915_pm_dc@dc5-psr.html

  * igt@i915_pm_dc@dc6-psr:
    - {shard-rkl}:        [SKIP][74] ([i915#658]) -> [PASS][75] +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-5/igt@i915_pm_dc@dc6-psr.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - {shard-rkl}:        [SKIP][76] ([i915#1397]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-5/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@i915_pm_rps@min-max-config-idle:
    - {shard-rkl}:        [FAIL][78] -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-6/igt@i915_pm_rps@min-max-config-idle.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-4/igt@i915_pm_rps@min-max-config-idle.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - shard-skl:          [INCOMPLETE][80] ([i915#1982] / [i915#4817]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl7/igt@i915_suspend@basic-s2idle-without-i915.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl4/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic:
    - shard-tglb:         [FAIL][82] ([i915#7405]) -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor@atomic.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor@atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor@toggle:
    - shard-tglb:         [FAIL][84] ([i915#2346]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor@toggle.html

  * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
    - shard-glk:          [FAIL][86] ([i915#79]) -> [PASS][87] +1 similar issue
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html

  * igt@kms_flip@plain-flip-ts-check@a-edp1:
    - shard-skl:          [FAIL][88] ([i915#2122]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl9/igt@kms_flip@plain-flip-ts-check@a-edp1.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl10/igt@kms_flip@plain-flip-ts-check@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-iclb:         [SKIP][90] ([i915#3555]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
    - shard-iclb:         [FAIL][92] ([i915#2546]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
    - {shard-rkl}:        [SKIP][94] ([i915#1849] / [i915#4098]) -> [PASS][95] +18 similar issues
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_plane@plane-position-hole-dpms@pipe-b-planes:
    - {shard-rkl}:        [SKIP][96] ([i915#1849] / [i915#3558]) -> [PASS][97] +1 similar issue
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-5/igt@kms_plane@plane-position-hole-dpms@pipe-b-planes.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@kms_plane@plane-position-hole-dpms@pipe-b-planes.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1:
    - shard-iclb:         [SKIP][98] ([i915#5235]) -> [PASS][99] +5 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb3/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html

  * igt@kms_psr@primary_render:
    - {shard-rkl}:        [SKIP][100] ([i915#1072]) -> [PASS][101] +1 similar issue
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-5/igt@kms_psr@primary_render.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@kms_psr@primary_render.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [SKIP][102] ([fdo#109441]) -> [PASS][103] +3 similar issues
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb1/igt@kms_psr@psr2_primary_page_flip.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - {shard-rkl}:        [SKIP][104] ([i915#5461]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-4/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_vblank@pipe-b-query-idle:
    - {shard-rkl}:        [SKIP][106] ([i915#1845] / [i915#4098]) -> [PASS][107] +22 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-2/igt@kms_vblank@pipe-b-query-idle.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@kms_vblank@pipe-b-query-idle.html

  * igt@perf@polling-small-buf:
    - {shard-rkl}:        [FAIL][108] ([i915#1722]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-4/igt@perf@polling-small-buf.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-5/igt@perf@polling-small-buf.html

  * igt@testdisplay:
    - {shard-rkl}:        [SKIP][110] ([i915#4098]) -> [PASS][111] +1 similar issue
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-rkl-2/igt@testdisplay.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-rkl-6/igt@testdisplay.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-tglb:         [FAIL][112] ([i915#2842]) -> [SKIP][113] ([i915#2848])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-tglb1/igt@gem_exec_fair@basic-none@rcs0.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-tglb6/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_pread@exhaustion:
    - shard-glk:          [INCOMPLETE][114] ([i915#7248]) -> [WARN][115] ([i915#2658])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-glk8/igt@gem_pread@exhaustion.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-glk9/igt@gem_pread@exhaustion.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-edp-1:
    - shard-skl:          [FAIL][116] ([i915#4573]) -> [DMESG-FAIL][117] ([IGT#6])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-skl9/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-edp-1.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-skl10/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-edp-1.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
    - shard-iclb:         [SKIP][118] ([i915#2920]) -> [SKIP][119] ([i915#658])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb5/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-sf:
    - shard-iclb:         [SKIP][120] ([i915#658]) -> [SKIP][121] ([i915#2920]) +1 similar issue
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb7/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
    - shard-iclb:         [SKIP][122] ([i915#2920]) -> [SKIP][123] ([fdo#111068] / [i915#658])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-iclb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html

  * igt@runner@aborted:
    - shard-apl:          ([FAIL][124], [FAIL][125], [FAIL][126], [FAIL][127]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312]) -> ([FAIL][128], [FAIL][129], [FAIL][130]) ([i915#3002] / [i915#4312])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl1/igt@runner@aborted.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl3/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl6/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12379/shard-apl3/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl3/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl1/igt@runner@aborted.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/shard-apl3/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2232]: https://gitlab.freedesktop.org/drm/intel/issues/2232
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532
  [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2848]: https://gitlab.freedesktop.org/drm/intel/issues/2848
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3692]: https://gitlab.freedesktop.org/drm/intel/issues/3692
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3810]: https://gitlab.freedesktop.org/drm/intel/issues/3810
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5030]: https://gitlab.freedesktop.org/drm/intel/issues/5030
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6032]: https://gitlab.freedesktop.org/drm/intel/issues/6032
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6251]: https://gitlab.freedesktop.org/drm/intel/issues/6251
  [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6990]: https://gitlab.freedesktop.org/drm/intel/issues/6990
  [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7205]: https://gitlab.freedesktop.org/drm/intel/issues/7205
  [i915#7248]: https://gitlab.freedesktop.org/drm/intel/issues/7248
  [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
  [i915#7405]: https://gitlab.freedesktop.org/drm/intel/issues/7405
  [i915#7468]: https://gitlab.freedesktop.org/drm/intel/issues/7468
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Build changes
-------------

  * Linux: CI_DRM_12379 -> Patchwork_110870v1

  CI-20190529: 20190529
  CI_DRM_12379: fbd41f5bba3fa2af510a37dadb4ef872e2c54701 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7056: 05096a6754048f4b5a2de798ab4bea32012b556a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_110870v1: fbd41f5bba3fa2af510a37dadb4ef872e2c54701 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_110870v1/index.html

[-- Attachment #2: Type: text/html, Size: 36808 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
  2022-11-14 16:22 ` Andy Shevchenko
  (?)
@ 2022-11-15 15:46   ` Jani Nikula
  -1 siblings, 0 replies; 33+ messages in thread
From: Jani Nikula @ 2022-11-15 15:46 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Andy Shevchenko,
	Greg Kroah-Hartman, Mathias Nyman, intel-gfx, dri-devel,
	linux-kernel, linux-usb
  Cc: Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin, David Airlie,
	Daniel Vetter, Kevin Cernekee, Mathias Nyman, Andrew Morton

On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Some of the existing users, and definitely will be new ones, want to
> count existing nodes in the list. Provide a generic API for that by
> moving code from i915 to list.h.

I think I'd find list_length() a much more natural name for this.

*shrug*

Acked-by: Jani Nikula <jani.nikula@intel.com>

regardless of what you decide to do with name or static inline etc.


>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> v2: dropped the duplicate code in i915 (LKP)
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
>  include/linux/list.h                      | 13 +++++++++++++
>  2 files changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 6ae8b07cfaa1..b5d474be564d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
>  	}
>  }
>  
> -static unsigned long list_count(struct list_head *list)
> -{
> -	struct list_head *pos;
> -	unsigned long count = 0;
> -
> -	list_for_each(pos, list)
> -		count++;
> -
> -	return count;
> -}
> -
>  static unsigned long read_ul(void *p, size_t x)
>  {
>  	return *(unsigned long *)(p + x);
> @@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
>  	spin_lock_irqsave(&engine->sched_engine->lock, flags);
>  	engine_dump_active_requests(engine, m);
>  
> -	drm_printf(m, "\tOn hold?: %lu\n",
> +	drm_printf(m, "\tOn hold?: %zu\n",
>  		   list_count(&engine->sched_engine->hold));
>  	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>  
> diff --git a/include/linux/list.h b/include/linux/list.h
> index 61762054b4be..098eccf8c1b6 100644
> --- a/include/linux/list.h
> +++ b/include/linux/list.h
> @@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
>  	     !list_is_head(pos, (head)); \
>  	     pos = n, n = pos->prev)
>  
> +/**
> + * list_count - count nodes in the list
> + * @head:	the head for your list.
> + */
> +#define list_count(head)		\
> +({					\
> +	struct list_head *__tmp;	\
> +	size_t __i = 0;			\
> +	list_for_each(__tmp, head)	\
> +		__i++;			\
> +	__i;				\
> +})
> +
>  /**
>   * list_entry_is_head - test if the entry points to the head of the list
>   * @pos:	the type * to cursor

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-15 15:46   ` Jani Nikula
  0 siblings, 0 replies; 33+ messages in thread
From: Jani Nikula @ 2022-11-15 15:46 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Andy Shevchenko,
	Greg Kroah-Hartman, Mathias Nyman, intel-gfx, dri-devel,
	linux-kernel, linux-usb
  Cc: Tvrtko Ursulin, Mathias Nyman, Kevin Cernekee, Rodrigo Vivi,
	Andrew Morton

On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Some of the existing users, and definitely will be new ones, want to
> count existing nodes in the list. Provide a generic API for that by
> moving code from i915 to list.h.

I think I'd find list_length() a much more natural name for this.

*shrug*

Acked-by: Jani Nikula <jani.nikula@intel.com>

regardless of what you decide to do with name or static inline etc.


>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> v2: dropped the duplicate code in i915 (LKP)
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
>  include/linux/list.h                      | 13 +++++++++++++
>  2 files changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 6ae8b07cfaa1..b5d474be564d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
>  	}
>  }
>  
> -static unsigned long list_count(struct list_head *list)
> -{
> -	struct list_head *pos;
> -	unsigned long count = 0;
> -
> -	list_for_each(pos, list)
> -		count++;
> -
> -	return count;
> -}
> -
>  static unsigned long read_ul(void *p, size_t x)
>  {
>  	return *(unsigned long *)(p + x);
> @@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
>  	spin_lock_irqsave(&engine->sched_engine->lock, flags);
>  	engine_dump_active_requests(engine, m);
>  
> -	drm_printf(m, "\tOn hold?: %lu\n",
> +	drm_printf(m, "\tOn hold?: %zu\n",
>  		   list_count(&engine->sched_engine->hold));
>  	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>  
> diff --git a/include/linux/list.h b/include/linux/list.h
> index 61762054b4be..098eccf8c1b6 100644
> --- a/include/linux/list.h
> +++ b/include/linux/list.h
> @@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
>  	     !list_is_head(pos, (head)); \
>  	     pos = n, n = pos->prev)
>  
> +/**
> + * list_count - count nodes in the list
> + * @head:	the head for your list.
> + */
> +#define list_count(head)		\
> +({					\
> +	struct list_head *__tmp;	\
> +	size_t __i = 0;			\
> +	list_for_each(__tmp, head)	\
> +		__i++;			\
> +	__i;				\
> +})
> +
>  /**
>   * list_entry_is_head - test if the entry points to the head of the list
>   * @pos:	the type * to cursor

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-15 15:46   ` Jani Nikula
  0 siblings, 0 replies; 33+ messages in thread
From: Jani Nikula @ 2022-11-15 15:46 UTC (permalink / raw)
  To: Andy Shevchenko, Jakob Koschel, Andy Shevchenko,
	Greg Kroah-Hartman, Mathias Nyman, intel-gfx, dri-devel,
	linux-kernel, linux-usb
  Cc: Mathias Nyman, Kevin Cernekee, Daniel Vetter, Rodrigo Vivi,
	Andrew Morton, David Airlie

On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Some of the existing users, and definitely will be new ones, want to
> count existing nodes in the list. Provide a generic API for that by
> moving code from i915 to list.h.

I think I'd find list_length() a much more natural name for this.

*shrug*

Acked-by: Jani Nikula <jani.nikula@intel.com>

regardless of what you decide to do with name or static inline etc.


>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> v2: dropped the duplicate code in i915 (LKP)
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +------------
>  include/linux/list.h                      | 13 +++++++++++++
>  2 files changed, 14 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index 6ae8b07cfaa1..b5d474be564d 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -2085,17 +2085,6 @@ static void print_request_ring(struct drm_printer *m, struct i915_request *rq)
>  	}
>  }
>  
> -static unsigned long list_count(struct list_head *list)
> -{
> -	struct list_head *pos;
> -	unsigned long count = 0;
> -
> -	list_for_each(pos, list)
> -		count++;
> -
> -	return count;
> -}
> -
>  static unsigned long read_ul(void *p, size_t x)
>  {
>  	return *(unsigned long *)(p + x);
> @@ -2270,7 +2259,7 @@ void intel_engine_dump(struct intel_engine_cs *engine,
>  	spin_lock_irqsave(&engine->sched_engine->lock, flags);
>  	engine_dump_active_requests(engine, m);
>  
> -	drm_printf(m, "\tOn hold?: %lu\n",
> +	drm_printf(m, "\tOn hold?: %zu\n",
>  		   list_count(&engine->sched_engine->hold));
>  	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>  
> diff --git a/include/linux/list.h b/include/linux/list.h
> index 61762054b4be..098eccf8c1b6 100644
> --- a/include/linux/list.h
> +++ b/include/linux/list.h
> @@ -655,6 +655,19 @@ static inline void list_splice_tail_init(struct list_head *list,
>  	     !list_is_head(pos, (head)); \
>  	     pos = n, n = pos->prev)
>  
> +/**
> + * list_count - count nodes in the list
> + * @head:	the head for your list.
> + */
> +#define list_count(head)		\
> +({					\
> +	struct list_head *__tmp;	\
> +	size_t __i = 0;			\
> +	list_for_each(__tmp, head)	\
> +		__i++;			\
> +	__i;				\
> +})
> +
>  /**
>   * list_entry_is_head - test if the entry points to the head of the list
>   * @pos:	the type * to cursor

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
  2022-11-14 19:15     ` Fabio Estevam
  (?)
@ 2022-11-22 15:20       ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:20 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Jakob Koschel, Greg Kroah-Hartman, Mathias Nyman, intel-gfx,
	dri-devel, linux-kernel, linux-usb, Tvrtko Ursulin,
	Kevin Cernekee, Mathias Nyman, Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 04:15:35PM -0300, Fabio Estevam wrote:
> On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > The list API now provides the list_count() to help with counting
> > existing nodes in the list. Uilise it.
> 
> s/Uilise/Utilise

Fixed for v3, thanks!

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-22 15:20       ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:20 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Tvrtko Ursulin, Kevin Cernekee, Mathias Nyman, Mathias Nyman,
	Greg Kroah-Hartman, intel-gfx, linux-usb, linux-kernel,
	dri-devel, Jakob Koschel, Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 04:15:35PM -0300, Fabio Estevam wrote:
> On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > The list API now provides the list_count() to help with counting
> > existing nodes in the list. Uilise it.
> 
> s/Uilise/Utilise

Fixed for v3, thanks!

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count()
@ 2022-11-22 15:20       ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:20 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Kevin Cernekee, Mathias Nyman, Mathias Nyman, Greg Kroah-Hartman,
	intel-gfx, linux-usb, linux-kernel, dri-devel, Jakob Koschel,
	Rodrigo Vivi, Andrew Morton

On Mon, Nov 14, 2022 at 04:15:35PM -0300, Fabio Estevam wrote:
> On Mon, Nov 14, 2022 at 1:22 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > The list API now provides the list_count() to help with counting
> > existing nodes in the list. Uilise it.
> 
> s/Uilise/Utilise

Fixed for v3, thanks!

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
  2022-11-15 15:46   ` Jani Nikula
  (?)
@ 2022-11-22 15:23     ` Andy Shevchenko
  -1 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:23 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Jakob Koschel, Greg Kroah-Hartman, Mathias Nyman, intel-gfx,
	dri-devel, linux-kernel, linux-usb, Joonas Lahtinen,
	Rodrigo Vivi, Tvrtko Ursulin, David Airlie, Daniel Vetter,
	Kevin Cernekee, Mathias Nyman, Andrew Morton

On Tue, Nov 15, 2022 at 05:46:28PM +0200, Jani Nikula wrote:
> On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > Some of the existing users, and definitely will be new ones, want to
> > count existing nodes in the list. Provide a generic API for that by
> > moving code from i915 to list.h.
> 
> I think I'd find list_length() a much more natural name for this.

i915 suggests my variant :-)

> *shrug*
> 
> Acked-by: Jani Nikula <jani.nikula@intel.com>
> 
> regardless of what you decide to do with name or static inline etc.

Thanks! I will check which one looks and feels better and update for v3.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-22 15:23     ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:23 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Tvrtko Ursulin, Mathias Nyman, Mathias Nyman, Kevin Cernekee,
	Greg Kroah-Hartman, intel-gfx, linux-usb, linux-kernel,
	dri-devel, Jakob Koschel, Rodrigo Vivi, Andrew Morton

On Tue, Nov 15, 2022 at 05:46:28PM +0200, Jani Nikula wrote:
> On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > Some of the existing users, and definitely will be new ones, want to
> > count existing nodes in the list. Provide a generic API for that by
> > moving code from i915 to list.h.
> 
> I think I'd find list_length() a much more natural name for this.

i915 suggests my variant :-)

> *shrug*
> 
> Acked-by: Jani Nikula <jani.nikula@intel.com>
> 
> regardless of what you decide to do with name or static inline etc.

Thanks! I will check which one looks and feels better and update for v3.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use
@ 2022-11-22 15:23     ` Andy Shevchenko
  0 siblings, 0 replies; 33+ messages in thread
From: Andy Shevchenko @ 2022-11-22 15:23 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Mathias Nyman, Mathias Nyman, Kevin Cernekee, Greg Kroah-Hartman,
	intel-gfx, linux-usb, linux-kernel, dri-devel, Jakob Koschel,
	Daniel Vetter, Rodrigo Vivi, Andrew Morton, David Airlie

On Tue, Nov 15, 2022 at 05:46:28PM +0200, Jani Nikula wrote:
> On Mon, 14 Nov 2022, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > Some of the existing users, and definitely will be new ones, want to
> > count existing nodes in the list. Provide a generic API for that by
> > moving code from i915 to list.h.
> 
> I think I'd find list_length() a much more natural name for this.

i915 suggests my variant :-)

> *shrug*
> 
> Acked-by: Jani Nikula <jani.nikula@intel.com>
> 
> regardless of what you decide to do with name or static inline etc.

Thanks! I will check which one looks and feels better and update for v3.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2022-11-22 15:24 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-14 16:22 [PATCH v2 1/4] i915: Move list_count() to list.h for broader use Andy Shevchenko
2022-11-14 16:22 ` [Intel-gfx] " Andy Shevchenko
2022-11-14 16:22 ` Andy Shevchenko
2022-11-14 16:22 ` [PATCH v2 2/4] usb: gadget: hid: Convert to use list_count() Andy Shevchenko
2022-11-14 16:22   ` [Intel-gfx] " Andy Shevchenko
2022-11-14 16:22   ` Andy Shevchenko
2022-11-14 19:15   ` Fabio Estevam
2022-11-14 19:15     ` [Intel-gfx] " Fabio Estevam
2022-11-14 19:15     ` Fabio Estevam
2022-11-22 15:20     ` Andy Shevchenko
2022-11-22 15:20       ` [Intel-gfx] " Andy Shevchenko
2022-11-22 15:20       ` Andy Shevchenko
2022-11-14 16:22 ` [PATCH v2 3/4] usb: gadget: udc: bcm63xx: " Andy Shevchenko
2022-11-14 16:22   ` Andy Shevchenko
2022-11-14 16:22   ` [Intel-gfx] " Andy Shevchenko
2022-11-14 16:22 ` [PATCH v2 4/4] xhci: " Andy Shevchenko
2022-11-14 16:22   ` [Intel-gfx] " Andy Shevchenko
2022-11-14 16:22   ` Andy Shevchenko
2022-11-14 18:11 ` [Intel-gfx] [PATCH v2 1/4] i915: Move list_count() to list.h for broader use Ruhl, Michael J
2022-11-14 18:11   ` Ruhl, Michael J
2022-11-14 18:11   ` Ruhl, Michael J
2022-11-14 18:48   ` Andy Shevchenko
2022-11-14 18:48     ` [Intel-gfx] " Andy Shevchenko
2022-11-14 18:48     ` Andy Shevchenko
2022-11-14 23:53 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v2,1/4] " Patchwork
2022-11-15  0:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-11-15  7:37 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-11-15 15:46 ` [PATCH v2 1/4] " Jani Nikula
2022-11-15 15:46   ` [Intel-gfx] " Jani Nikula
2022-11-15 15:46   ` Jani Nikula
2022-11-22 15:23   ` Andy Shevchenko
2022-11-22 15:23     ` [Intel-gfx] " Andy Shevchenko
2022-11-22 15:23     ` Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.