{
struct gb_connection *connection;
+ trace_gb_hd_in(hd);
+
connection = gb_connection_hd_find(hd, cport_id);
if (!connection) {
dev_err(&hd->dev,
#include <asm/unaligned.h>
#include "greybus.h"
+#include "greybus_trace.h"
#include "kernel_ver.h"
#include "connection.h"
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);
*/
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,
/*
* 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);
*/
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 */
#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,