linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf()
@ 2023-02-27  2:44 Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 1/4] usb: cdns3: change trace event cdns3_ring() operation Linyu Yuan
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Linyu Yuan @ 2023-02-27  2:44 UTC (permalink / raw)
  To: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman
  Cc: linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap, Linyu Yuan

some trace event funciton use __dynamic_array, but it only used at output
time, change to __get_buf() will allocate tempary buffer for such usage.


v2: remove Aswath Govindraju, seem mail not aviliable.


Linyu Yuan (4):
  usb: cdns3: change trace event cdns3_ring() operation
  usb: cdns3: change some trace event __dynamic_array() to __get_buf()
  usb: dwc3: change some trace event __dynamic_array() to __get_buf()
  usb: xhci: change some trace event __dynamic_array() to __get_buf()

 drivers/usb/cdns3/cdns3-debug.h |  8 ++------
 drivers/usb/cdns3/cdns3-trace.h | 28 +++++++++-------------------
 drivers/usb/cdns3/cdnsp-trace.h | 12 ++++--------
 drivers/usb/dwc3/trace.h        |  6 ++----
 drivers/usb/host/xhci-trace.h   | 20 +++++++-------------
 5 files changed, 24 insertions(+), 50 deletions(-)

-- 
2.7.4


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

* [PATCH v2 1/4] usb: cdns3: change trace event cdns3_ring() operation
  2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
@ 2023-02-27  2:44 ` Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 2/4] usb: cdns3: change some trace event __dynamic_array() to __get_buf() Linyu Yuan
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Linyu Yuan @ 2023-02-27  2:44 UTC (permalink / raw)
  To: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman
  Cc: linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap, Linyu Yuan

the original design seem have several problems, first during trace event
output stage, cdns3_dbg_ring() still refer to priv_ep->trb_pool which
data content may changed during runtime, second when ring number is
greater than TRBS_PER_SEGMENT, it has no change to show "too big" message,
third in cdns3_log_ring event class definition, it allocate too much trace
event buffer.

change cdns3_dbg_ring() to be called at trace event fast assign time, and
change trace buffer real dynamic according ring numbers.

Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
---
v2: no change

 drivers/usb/cdns3/cdns3-debug.h |  8 ++------
 drivers/usb/cdns3/cdns3-trace.h | 16 +++++-----------
 2 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/drivers/usb/cdns3/cdns3-debug.h b/drivers/usb/cdns3/cdns3-debug.h
index a5c6a29..4618cfe 100644
--- a/drivers/usb/cdns3/cdns3-debug.h
+++ b/drivers/usb/cdns3/cdns3-debug.h
@@ -107,8 +107,7 @@ static inline char *cdns3_decode_ep0_irq(char *str,
  * Prints out all TRBs in the endpoint ring, even those after the Link TRB.
  *.
  */
-static inline char *cdns3_dbg_ring(struct cdns3_endpoint *priv_ep,
-				   struct cdns3_trb *ring, char *str)
+static inline char *cdns3_dbg_ring(struct cdns3_endpoint *priv_ep, char *str)
 {
 	dma_addr_t addr = priv_ep->trb_pool_dma;
 	struct cdns3_trb *trb;
@@ -136,9 +135,6 @@ static inline char *cdns3_dbg_ring(struct cdns3_endpoint *priv_ep,
 		       "\t\tfree trbs: %d, CCS=%d, PCS=%d\n",
 		       priv_ep->free_trbs, priv_ep->ccs, priv_ep->pcs);
 
-	if (trb_per_sector > TRBS_PER_SEGMENT)
-		trb_per_sector = TRBS_PER_SEGMENT;
-
 	if (trb_per_sector > TRBS_PER_SEGMENT) {
 		sprintf(str + ret, "\t\tTransfer ring %d too big\n",
 			trb_per_sector);
@@ -146,7 +142,7 @@ static inline char *cdns3_dbg_ring(struct cdns3_endpoint *priv_ep,
 	}
 
 	for (i = 0; i < trb_per_sector; ++i) {
-		trb = &ring[i];
+		trb = &priv_ep->trb_pool[i];
 		ret += sprintf(str + ret,
 			"\t\t@%pad %08x %08x %08x\n", &addr,
 			le32_to_cpu(trb->buffer),
diff --git a/drivers/usb/cdns3/cdns3-trace.h b/drivers/usb/cdns3/cdns3-trace.h
index 7574b4a..9905718 100644
--- a/drivers/usb/cdns3/cdns3-trace.h
+++ b/drivers/usb/cdns3/cdns3-trace.h
@@ -438,22 +438,16 @@ DECLARE_EVENT_CLASS(cdns3_log_ring,
 	TP_PROTO(struct cdns3_endpoint *priv_ep),
 	TP_ARGS(priv_ep),
 	TP_STRUCT__entry(
-		__dynamic_array(u8, ring, TRB_RING_SIZE)
-		__dynamic_array(u8, priv_ep, sizeof(struct cdns3_endpoint))
 		__dynamic_array(char, buffer,
-				(TRBS_PER_SEGMENT * 65) + CDNS3_MSG_MAX)
+				GET_TRBS_PER_SEGMENT(priv_ep->type) > TRBS_PER_SEGMENT ?
+				CDNS3_MSG_MAX :
+				(GET_TRBS_PER_SEGMENT(priv_ep->type) * 65) + CDNS3_MSG_MAX)
 	),
 	TP_fast_assign(
-		memcpy(__get_dynamic_array(priv_ep), priv_ep,
-		       sizeof(struct cdns3_endpoint));
-		memcpy(__get_dynamic_array(ring), priv_ep->trb_pool,
-		       TRB_RING_SIZE);
+		cdns3_dbg_ring(priv_ep, __get_str(buffer));
 	),
 
-	TP_printk("%s",
-		  cdns3_dbg_ring((struct cdns3_endpoint *)__get_str(priv_ep),
-				 (struct cdns3_trb *)__get_str(ring),
-				 __get_str(buffer)))
+	TP_printk("%s", __get_str(buffer))
 );
 
 DEFINE_EVENT(cdns3_log_ring, cdns3_ring,
-- 
2.7.4


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

* [PATCH v2 2/4] usb: cdns3: change some trace event __dynamic_array() to __get_buf()
  2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 1/4] usb: cdns3: change trace event cdns3_ring() operation Linyu Yuan
@ 2023-02-27  2:44 ` Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 3/4] usb: dwc3: " Linyu Yuan
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Linyu Yuan @ 2023-02-27  2:44 UTC (permalink / raw)
  To: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman
  Cc: linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap, Linyu Yuan

some __dynamic_array() buffer will only used at trace event output time,
change to __get_buf() which will allocate tempary trace seq buffer for
output purpose.

Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
---
v2: no change

 drivers/usb/cdns3/cdns3-trace.h | 12 ++++--------
 drivers/usb/cdns3/cdnsp-trace.h | 12 ++++--------
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/drivers/usb/cdns3/cdns3-trace.h b/drivers/usb/cdns3/cdns3-trace.h
index 9905718..40db89e 100644
--- a/drivers/usb/cdns3/cdns3-trace.h
+++ b/drivers/usb/cdns3/cdns3-trace.h
@@ -100,13 +100,12 @@ DECLARE_EVENT_CLASS(cdns3_log_usb_irq,
 	TP_STRUCT__entry(
 		__field(enum usb_device_speed, speed)
 		__field(u32, usb_ists)
-		__dynamic_array(char, str, CDNS3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->speed = cdns3_get_speed(priv_dev);
 		__entry->usb_ists = usb_ists;
 	),
-	TP_printk("%s", cdns3_decode_usb_irq(__get_str(str), __entry->speed,
+	TP_printk("%s", cdns3_decode_usb_irq(__get_buf(CDNS3_MSG_MAX), __entry->speed,
 					     __entry->usb_ists))
 );
 
@@ -124,7 +123,6 @@ DECLARE_EVENT_CLASS(cdns3_log_epx_irq,
 		__field(u32, ep_traddr)
 		__field(u32, ep_last_sid)
 		__field(u32, use_streams)
-		__dynamic_array(char, str, CDNS3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__assign_str(ep_name, priv_ep->name);
@@ -134,7 +132,7 @@ DECLARE_EVENT_CLASS(cdns3_log_epx_irq,
 		__entry->use_streams = priv_ep->use_streams;
 	),
 	TP_printk("%s, ep_traddr: %08x ep_last_sid: %08x use_streams: %d",
-		  cdns3_decode_epx_irq(__get_str(str),
+		  cdns3_decode_epx_irq(__get_buf(CDNS3_MSG_MAX),
 				       __get_str(ep_name),
 				       __entry->ep_sts),
 		  __entry->ep_traddr,
@@ -153,13 +151,12 @@ DECLARE_EVENT_CLASS(cdns3_log_ep0_irq,
 	TP_STRUCT__entry(
 		__field(int, ep_dir)
 		__field(u32, ep_sts)
-		__dynamic_array(char, str, CDNS3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->ep_dir = priv_dev->selected_ep;
 		__entry->ep_sts = ep_sts;
 	),
-	TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str),
+	TP_printk("%s", cdns3_decode_ep0_irq(__get_buf(CDNS3_MSG_MAX),
 					     __entry->ep_dir,
 					     __entry->ep_sts))
 );
@@ -178,7 +175,6 @@ DECLARE_EVENT_CLASS(cdns3_log_ctrl,
 		__field(u16, wValue)
 		__field(u16, wIndex)
 		__field(u16, wLength)
-		__dynamic_array(char, str, CDNS3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->bRequestType = ctrl->bRequestType;
@@ -187,7 +183,7 @@ DECLARE_EVENT_CLASS(cdns3_log_ctrl,
 		__entry->wIndex = le16_to_cpu(ctrl->wIndex);
 		__entry->wLength = le16_to_cpu(ctrl->wLength);
 	),
-	TP_printk("%s", usb_decode_ctrl(__get_str(str), CDNS3_MSG_MAX,
+	TP_printk("%s", usb_decode_ctrl(__get_buf(CDNS3_MSG_MAX), CDNS3_MSG_MAX,
 					__entry->bRequestType,
 					__entry->bRequest, __entry->wValue,
 					__entry->wIndex, __entry->wLength)
diff --git a/drivers/usb/cdns3/cdnsp-trace.h b/drivers/usb/cdns3/cdnsp-trace.h
index 5983dfb..4b51011 100644
--- a/drivers/usb/cdns3/cdnsp-trace.h
+++ b/drivers/usb/cdns3/cdnsp-trace.h
@@ -271,7 +271,6 @@ DECLARE_EVENT_CLASS(cdnsp_log_ctrl,
 		__field(u16, wValue)
 		__field(u16, wIndex)
 		__field(u16, wLength)
-		__dynamic_array(char, str, CDNSP_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->bRequestType = ctrl->bRequestType;
@@ -280,7 +279,7 @@ DECLARE_EVENT_CLASS(cdnsp_log_ctrl,
 		__entry->wIndex = le16_to_cpu(ctrl->wIndex);
 		__entry->wLength = le16_to_cpu(ctrl->wLength);
 	),
-	TP_printk("%s", usb_decode_ctrl(__get_str(str), CDNSP_MSG_MAX,
+	TP_printk("%s", usb_decode_ctrl(__get_buf(CDNSP_MSG_MAX), CDNSP_MSG_MAX,
 					__entry->bRequestType,
 					__entry->bRequest, __entry->wValue,
 					__entry->wIndex, __entry->wLength)
@@ -345,7 +344,6 @@ DECLARE_EVENT_CLASS(cdnsp_log_trb,
 		__field(u32, field3)
 		__field(union cdnsp_trb *, trb)
 		__field(dma_addr_t, trb_dma)
-		__dynamic_array(char, str, CDNSP_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->type = ring->type;
@@ -359,7 +357,7 @@ DECLARE_EVENT_CLASS(cdnsp_log_trb,
 
 	),
 	TP_printk("%s: %s trb: %p(%pad)", cdnsp_ring_type_string(__entry->type),
-		  cdnsp_decode_trb(__get_str(str), CDNSP_MSG_MAX,
+		  cdnsp_decode_trb(__get_buf(CDNSP_MSG_MAX), CDNSP_MSG_MAX,
 				   __entry->field0, __entry->field1,
 				   __entry->field2, __entry->field3),
 				   __entry->trb, &__entry->trb_dma
@@ -544,7 +542,6 @@ DECLARE_EVENT_CLASS(cdnsp_log_ep_ctx,
 		__field(u32, info2)
 		__field(u64, deq)
 		__field(u32, tx_info)
-		__dynamic_array(char, str, CDNSP_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->info = le32_to_cpu(ctx->ep_info);
@@ -552,7 +549,7 @@ DECLARE_EVENT_CLASS(cdnsp_log_ep_ctx,
 		__entry->deq = le64_to_cpu(ctx->deq);
 		__entry->tx_info = le32_to_cpu(ctx->tx_info);
 	),
-	TP_printk("%s", cdnsp_decode_ep_context(__get_str(str), CDNSP_MSG_MAX,
+	TP_printk("%s", cdnsp_decode_ep_context(__get_buf(CDNSP_MSG_MAX), CDNSP_MSG_MAX,
 						__entry->info, __entry->info2,
 						__entry->deq, __entry->tx_info)
 	)
@@ -777,7 +774,6 @@ DECLARE_EVENT_CLASS(cdnsp_log_portsc,
 		TP_STRUCT__entry(
 				__field(u32, portnum)
 				__field(u32, portsc)
-				__dynamic_array(char, str, CDNSP_MSG_MAX)
 				),
 		TP_fast_assign(
 				__entry->portnum = portnum;
@@ -785,7 +781,7 @@ DECLARE_EVENT_CLASS(cdnsp_log_portsc,
 				),
 		TP_printk("port-%d: %s",
 			  __entry->portnum,
-			  cdnsp_decode_portsc(__get_str(str), CDNSP_MSG_MAX,
+			  cdnsp_decode_portsc(__get_buf(CDNSP_MSG_MAX), CDNSP_MSG_MAX,
 					      __entry->portsc)
 			)
 );
-- 
2.7.4


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

* [PATCH v2 3/4] usb: dwc3: change some trace event __dynamic_array() to __get_buf()
  2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 1/4] usb: cdns3: change trace event cdns3_ring() operation Linyu Yuan
  2023-02-27  2:44 ` [PATCH v2 2/4] usb: cdns3: change some trace event __dynamic_array() to __get_buf() Linyu Yuan
@ 2023-02-27  2:44 ` Linyu Yuan
  2023-03-02  1:38   ` Thinh Nguyen
  2023-02-27  2:44 ` [PATCH v2 4/4] usb: xhci: " Linyu Yuan
  2023-02-27  6:32 ` [PATCH v2 0/4] usb: replace some " Greg Kroah-Hartman
  4 siblings, 1 reply; 7+ messages in thread
From: Linyu Yuan @ 2023-02-27  2:44 UTC (permalink / raw)
  To: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman
  Cc: linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap, Linyu Yuan

some __dynamic_array() buffer will only used at trace event output time,
change to __get_buf() which will allocate tempary trace seq buffer for
output purpose.

Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
---
v2: no change

 drivers/usb/dwc3/trace.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/dwc3/trace.h b/drivers/usb/dwc3/trace.h
index 1975aec..d2997d1 100644
--- a/drivers/usb/dwc3/trace.h
+++ b/drivers/usb/dwc3/trace.h
@@ -54,14 +54,13 @@ DECLARE_EVENT_CLASS(dwc3_log_event,
 	TP_STRUCT__entry(
 		__field(u32, event)
 		__field(u32, ep0state)
-		__dynamic_array(char, str, DWC3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->event = event;
 		__entry->ep0state = dwc->ep0state;
 	),
 	TP_printk("event (%08x): %s", __entry->event,
-			dwc3_decode_event(__get_str(str), DWC3_MSG_MAX,
+			dwc3_decode_event(__get_buf(DWC3_MSG_MAX), DWC3_MSG_MAX,
 					__entry->event, __entry->ep0state))
 );
 
@@ -79,7 +78,6 @@ DECLARE_EVENT_CLASS(dwc3_log_ctrl,
 		__field(__u16, wValue)
 		__field(__u16, wIndex)
 		__field(__u16, wLength)
-		__dynamic_array(char, str, DWC3_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->bRequestType = ctrl->bRequestType;
@@ -88,7 +86,7 @@ DECLARE_EVENT_CLASS(dwc3_log_ctrl,
 		__entry->wIndex = le16_to_cpu(ctrl->wIndex);
 		__entry->wLength = le16_to_cpu(ctrl->wLength);
 	),
-	TP_printk("%s", usb_decode_ctrl(__get_str(str), DWC3_MSG_MAX,
+	TP_printk("%s", usb_decode_ctrl(__get_buf(DWC3_MSG_MAX), DWC3_MSG_MAX,
 					__entry->bRequestType,
 					__entry->bRequest, __entry->wValue,
 					__entry->wIndex, __entry->wLength)
-- 
2.7.4


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

* [PATCH v2 4/4] usb: xhci: change some trace event __dynamic_array() to __get_buf()
  2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
                   ` (2 preceding siblings ...)
  2023-02-27  2:44 ` [PATCH v2 3/4] usb: dwc3: " Linyu Yuan
@ 2023-02-27  2:44 ` Linyu Yuan
  2023-02-27  6:32 ` [PATCH v2 0/4] usb: replace some " Greg Kroah-Hartman
  4 siblings, 0 replies; 7+ messages in thread
From: Linyu Yuan @ 2023-02-27  2:44 UTC (permalink / raw)
  To: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman
  Cc: linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap, Linyu Yuan

some __dynamic_array() buffer will only used at trace event output time,
change to __get_buf() which will allocate tempary trace seq buffer for
output purpose.

Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
---
v2: no change

 drivers/usb/host/xhci-trace.h | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h
index 61e93a35..4286dba 100644
--- a/drivers/usb/host/xhci-trace.h
+++ b/drivers/usb/host/xhci-trace.h
@@ -120,7 +120,6 @@ DECLARE_EVENT_CLASS(xhci_log_trb,
 		__field(u32, field1)
 		__field(u32, field2)
 		__field(u32, field3)
-		__dynamic_array(char, str, XHCI_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->type = ring->type;
@@ -130,8 +129,8 @@ DECLARE_EVENT_CLASS(xhci_log_trb,
 		__entry->field3 = le32_to_cpu(trb->field[3]);
 	),
 	TP_printk("%s: %s", xhci_ring_type_string(__entry->type),
-		  xhci_decode_trb(__get_str(str), XHCI_MSG_MAX, __entry->field0, __entry->field1,
-					__entry->field2, __entry->field3)
+		  xhci_decode_trb(__get_buf(XHCI_MSG_MAX), XHCI_MSG_MAX, __entry->field0,
+				  __entry->field1, __entry->field2, __entry->field3)
 	)
 );
 
@@ -322,7 +321,6 @@ DECLARE_EVENT_CLASS(xhci_log_ep_ctx,
 		__field(u32, info2)
 		__field(u64, deq)
 		__field(u32, tx_info)
-		__dynamic_array(char, str, XHCI_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->info = le32_to_cpu(ctx->ep_info);
@@ -330,7 +328,7 @@ DECLARE_EVENT_CLASS(xhci_log_ep_ctx,
 		__entry->deq = le64_to_cpu(ctx->deq);
 		__entry->tx_info = le32_to_cpu(ctx->tx_info);
 	),
-	TP_printk("%s", xhci_decode_ep_context(__get_str(str),
+	TP_printk("%s", xhci_decode_ep_context(__get_buf(XHCI_MSG_MAX),
 		__entry->info, __entry->info2, __entry->deq, __entry->tx_info)
 	)
 );
@@ -368,7 +366,6 @@ DECLARE_EVENT_CLASS(xhci_log_slot_ctx,
 		__field(u32, info2)
 		__field(u32, tt_info)
 		__field(u32, state)
-		__dynamic_array(char, str, XHCI_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->info = le32_to_cpu(ctx->dev_info);
@@ -376,7 +373,7 @@ DECLARE_EVENT_CLASS(xhci_log_slot_ctx,
 		__entry->tt_info = le64_to_cpu(ctx->tt_info);
 		__entry->state = le32_to_cpu(ctx->dev_state);
 	),
-	TP_printk("%s", xhci_decode_slot_context(__get_str(str),
+	TP_printk("%s", xhci_decode_slot_context(__get_buf(XHCI_MSG_MAX),
 			__entry->info, __entry->info2,
 			__entry->tt_info, __entry->state)
 	)
@@ -433,13 +430,12 @@ DECLARE_EVENT_CLASS(xhci_log_ctrl_ctx,
 	TP_STRUCT__entry(
 		__field(u32, drop)
 		__field(u32, add)
-		__dynamic_array(char, str, XHCI_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->drop = le32_to_cpu(ctrl_ctx->drop_flags);
 		__entry->add = le32_to_cpu(ctrl_ctx->add_flags);
 	),
-	TP_printk("%s", xhci_decode_ctrl_ctx(__get_str(str), __entry->drop, __entry->add)
+	TP_printk("%s", xhci_decode_ctrl_ctx(__get_buf(XHCI_MSG_MAX), __entry->drop, __entry->add)
 	)
 );
 
@@ -525,7 +521,6 @@ DECLARE_EVENT_CLASS(xhci_log_portsc,
 		    TP_STRUCT__entry(
 				     __field(u32, portnum)
 				     __field(u32, portsc)
-				     __dynamic_array(char, str, XHCI_MSG_MAX)
 				     ),
 		    TP_fast_assign(
 				   __entry->portnum = portnum;
@@ -533,7 +528,7 @@ DECLARE_EVENT_CLASS(xhci_log_portsc,
 				   ),
 		    TP_printk("port-%d: %s",
 			      __entry->portnum,
-			      xhci_decode_portsc(__get_str(str), __entry->portsc)
+			      xhci_decode_portsc(__get_buf(XHCI_MSG_MAX), __entry->portsc)
 			      )
 );
 
@@ -558,14 +553,13 @@ DECLARE_EVENT_CLASS(xhci_log_doorbell,
 	TP_STRUCT__entry(
 		__field(u32, slot)
 		__field(u32, doorbell)
-		__dynamic_array(char, str, XHCI_MSG_MAX)
 	),
 	TP_fast_assign(
 		__entry->slot = slot;
 		__entry->doorbell = doorbell;
 	),
 	TP_printk("Ring doorbell for %s",
-		  xhci_decode_doorbell(__get_str(str), __entry->slot, __entry->doorbell)
+		  xhci_decode_doorbell(__get_buf(XHCI_MSG_MAX), __entry->slot, __entry->doorbell)
 	)
 );
 
-- 
2.7.4


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

* Re: [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf()
  2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
                   ` (3 preceding siblings ...)
  2023-02-27  2:44 ` [PATCH v2 4/4] usb: xhci: " Linyu Yuan
@ 2023-02-27  6:32 ` Greg Kroah-Hartman
  4 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2023-02-27  6:32 UTC (permalink / raw)
  To: Linyu Yuan
  Cc: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, linux-usb, Jack Pham, Wesley Cheng, Pratham Pratap

On Mon, Feb 27, 2023 at 10:44:06AM +0800, Linyu Yuan wrote:
> some trace event funciton use __dynamic_array, but it only used at output
> time, change to __get_buf() will allocate tempary buffer for such usage.
> 
> 
> v2: remove Aswath Govindraju, seem mail not aviliable.
> 
> 
> Linyu Yuan (4):
>   usb: cdns3: change trace event cdns3_ring() operation
>   usb: cdns3: change some trace event __dynamic_array() to __get_buf()
>   usb: dwc3: change some trace event __dynamic_array() to __get_buf()
>   usb: xhci: change some trace event __dynamic_array() to __get_buf()
> 
>  drivers/usb/cdns3/cdns3-debug.h |  8 ++------
>  drivers/usb/cdns3/cdns3-trace.h | 28 +++++++++-------------------
>  drivers/usb/cdns3/cdnsp-trace.h | 12 ++++--------
>  drivers/usb/dwc3/trace.h        |  6 ++----
>  drivers/usb/host/xhci-trace.h   | 20 +++++++-------------
>  5 files changed, 24 insertions(+), 50 deletions(-)
> 
> -- 
> 2.7.4
> 


Hi,

This is the friendly semi-automated patch-bot of Greg Kroah-Hartman.
You have sent him a patch that has triggered this response.

Right now, the development tree you have sent a patch for is "closed"
due to the timing of the merge window.  Don't worry, the patch(es) you
have sent are not lost, and will be looked at after the merge window is
over (after the -rc1 kernel is released by Linus).

So thank you for your patience and your patches will be reviewed at this
later time, you do not have to do anything further, this is just a short
note to let you know the patch status and so you don't worry they didn't
make it through.

thanks,

greg k-h's patch email bot

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

* Re: [PATCH v2 3/4] usb: dwc3: change some trace event __dynamic_array() to __get_buf()
  2023-02-27  2:44 ` [PATCH v2 3/4] usb: dwc3: " Linyu Yuan
@ 2023-03-02  1:38   ` Thinh Nguyen
  0 siblings, 0 replies; 7+ messages in thread
From: Thinh Nguyen @ 2023-03-02  1:38 UTC (permalink / raw)
  To: Linyu Yuan
  Cc: Mathias Nyman, Thinh Nguyen, Peter Chen, Pawel Laszczak,
	Roger Quadros, Greg Kroah-Hartman, linux-usb@vger.kernel.org,
	Jack Pham, Wesley Cheng, Pratham Pratap

On Mon, Feb 27, 2023, Linyu Yuan wrote:
> some __dynamic_array() buffer will only used at trace event output time,
> change to __get_buf() which will allocate tempary trace seq buffer for
> output purpose.
> 
> Signed-off-by: Linyu Yuan <quic_linyyuan@quicinc.com>
> ---
> v2: no change
> 
>  drivers/usb/dwc3/trace.h | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/trace.h b/drivers/usb/dwc3/trace.h
> index 1975aec..d2997d1 100644
> --- a/drivers/usb/dwc3/trace.h
> +++ b/drivers/usb/dwc3/trace.h
> @@ -54,14 +54,13 @@ DECLARE_EVENT_CLASS(dwc3_log_event,
>  	TP_STRUCT__entry(
>  		__field(u32, event)
>  		__field(u32, ep0state)
> -		__dynamic_array(char, str, DWC3_MSG_MAX)
>  	),
>  	TP_fast_assign(
>  		__entry->event = event;
>  		__entry->ep0state = dwc->ep0state;
>  	),
>  	TP_printk("event (%08x): %s", __entry->event,
> -			dwc3_decode_event(__get_str(str), DWC3_MSG_MAX,
> +			dwc3_decode_event(__get_buf(DWC3_MSG_MAX), DWC3_MSG_MAX,
>  					__entry->event, __entry->ep0state))
>  );
>  
> @@ -79,7 +78,6 @@ DECLARE_EVENT_CLASS(dwc3_log_ctrl,
>  		__field(__u16, wValue)
>  		__field(__u16, wIndex)
>  		__field(__u16, wLength)
> -		__dynamic_array(char, str, DWC3_MSG_MAX)
>  	),
>  	TP_fast_assign(
>  		__entry->bRequestType = ctrl->bRequestType;
> @@ -88,7 +86,7 @@ DECLARE_EVENT_CLASS(dwc3_log_ctrl,
>  		__entry->wIndex = le16_to_cpu(ctrl->wIndex);
>  		__entry->wLength = le16_to_cpu(ctrl->wLength);
>  	),
> -	TP_printk("%s", usb_decode_ctrl(__get_str(str), DWC3_MSG_MAX,
> +	TP_printk("%s", usb_decode_ctrl(__get_buf(DWC3_MSG_MAX), DWC3_MSG_MAX,
>  					__entry->bRequestType,
>  					__entry->bRequest, __entry->wValue,
>  					__entry->wIndex, __entry->wLength)
> -- 
> 2.7.4
> 

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>

Thanks,
Thinh

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

end of thread, other threads:[~2023-03-02  1:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-27  2:44 [PATCH v2 0/4] usb: replace some __dynamic_array() to __get_buf() Linyu Yuan
2023-02-27  2:44 ` [PATCH v2 1/4] usb: cdns3: change trace event cdns3_ring() operation Linyu Yuan
2023-02-27  2:44 ` [PATCH v2 2/4] usb: cdns3: change some trace event __dynamic_array() to __get_buf() Linyu Yuan
2023-02-27  2:44 ` [PATCH v2 3/4] usb: dwc3: " Linyu Yuan
2023-03-02  1:38   ` Thinh Nguyen
2023-02-27  2:44 ` [PATCH v2 4/4] usb: xhci: " Linyu Yuan
2023-02-27  6:32 ` [PATCH v2 0/4] usb: replace some " Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).