summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/greybus/connection.c2
-rw-r--r--drivers/staging/greybus/es2.c4
-rw-r--r--drivers/staging/greybus/greybus_trace.h15
-rw-r--r--drivers/staging/greybus/hd.c3
4 files changed, 23 insertions, 1 deletions
diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c
index d35e95a..7def600 100644
--- a/drivers/staging/greybus/connection.c
+++ b/drivers/staging/greybus/connection.c
@@ -81,6 +81,8 @@ void greybus_data_rcvd(struct gb_host_device *hd, u16 cport_id,
{
struct gb_connection *connection;
+ trace_gb_hd_in(hd);
+
connection = gb_connection_hd_find(hd, cport_id);
if (!connection) {
dev_err(&hd->dev,
diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c
index 68a8461..bdf5024 100644
--- a/drivers/staging/greybus/es2.c
+++ b/drivers/staging/greybus/es2.c
@@ -14,6 +14,7 @@
#include <asm/unaligned.h>
#include "greybus.h"
+#include "greybus_trace.h"
#include "kernel_ver.h"
#include "connection.h"
@@ -467,6 +468,9 @@ static int message_send(struct gb_host_device *hd, u16 cport_id,
message->buffer, buffer_size,
cport_out_callback, message);
urb->transfer_flags |= URB_ZERO_PACKET;
+
+ trace_gb_message_submit(message);
+
retval = usb_submit_urb(urb, gfp_mask);
if (retval) {
dev_err(&udev->dev, "failed to submit out-urb: %d\n", retval);
diff --git a/drivers/staging/greybus/greybus_trace.h b/drivers/staging/greybus/greybus_trace.h
index a075740..62f5803 100644
--- a/drivers/staging/greybus/greybus_trace.h
+++ b/drivers/staging/greybus/greybus_trace.h
@@ -88,6 +88,12 @@ DEFINE_MESSAGE_EVENT(gb_message_cancel_outgoing);
*/
DEFINE_MESSAGE_EVENT(gb_message_cancel_incoming);
+/*
+ * Occurs in the host driver message_send() function just prior to
+ * handing off the data to be processed by hardware.
+ */
+DEFINE_MESSAGE_EVENT(gb_message_submit);
+
#undef DEFINE_MESSAGE_EVENT
DECLARE_EVENT_CLASS(gb_operation,
@@ -471,7 +477,7 @@ DEFINE_HD_EVENT(gb_hd_release);
/*
* Occurs after a new host device has been added, after the
- * connection to its SVC has * been enabled.
+ * connection to its SVC has been enabled.
*/
DEFINE_HD_EVENT(gb_hd_add);
@@ -481,6 +487,13 @@ DEFINE_HD_EVENT(gb_hd_add);
*/
DEFINE_HD_EVENT(gb_hd_del);
+/*
+ * Occurs when a host device has passed received data to the Greybus
+ * core, after it has been determined it is destined for a valid
+ * CPort.
+ */
+DEFINE_HD_EVENT(gb_hd_in);
+
#undef DEFINE_HD_EVENT
#endif /* _TRACE_GREYBUS_H */
diff --git a/drivers/staging/greybus/hd.c b/drivers/staging/greybus/hd.c
index 12ac0b6..6d952ba 100644
--- a/drivers/staging/greybus/hd.c
+++ b/drivers/staging/greybus/hd.c
@@ -13,6 +13,9 @@
#include "greybus.h"
#include "greybus_trace.h"
+EXPORT_TRACEPOINT_SYMBOL_GPL(gb_message_submit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(gb_hd_in);
+
static struct ida gb_hd_bus_id_map;
int gb_hd_output(struct gb_host_device *hd, void *req, u16 size, u8 cmd,
OpenPOWER on IntegriCloud