Add tracing of bridge commands

Bridge ID can be looked up in services/include/pvr_bridge.h, and
function ID can be looked up in
generated/<whatever>_bridge/common_<whatever>_bridge.h

Change-Id: I4d520734f30f063b4bf84d8df1d931536e14bb97
diff --git a/BUILD.gn b/BUILD.gn
index f7fed6e..c68a261 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -225,6 +225,7 @@
   "//garnet/lib/magma/src/magma_util/platform:device",
   "//garnet/lib/magma/src/magma_util/platform:firmware_loader",
   "//garnet/lib/magma/src/magma_util/platform:thread",
+  "//garnet/lib/magma/src/magma_util/platform:trace",
   "//zircon/public/lib/zx",
 ]
 
diff --git a/fuchsia/msd_img_connection.cc b/fuchsia/msd_img_connection.cc
index ae94094..27803e7 100644
--- a/fuchsia/msd_img_connection.cc
+++ b/fuchsia/msd_img_connection.cc
@@ -8,6 +8,7 @@
 
 #include "include/fuchsia_communication.h"
 #include "msd_img_buffer.h"
+#include "platform_trace.h"
 
 extern "C"
 {
@@ -168,8 +169,14 @@
 	if (status != MAGMA_STATUS_OK)
 		return DRET(status);
 
-	ScopedSetConnection set_connection(this);
-	PVRSRV_ERROR eError = BridgedDispatchKM(connection_data_, &package);
+	PVRSRV_ERROR eError;
+	{
+		TRACE_DURATION("gfx", "MsdImgConnection::ExecuteCommandBuffer", "bridge group", package.ui32BridgeID,
+			       "function", package.ui32FunctionID);
+		ScopedSetConnection set_connection(this);
+
+		eError = BridgedDispatchKM(connection_data_, &package);
+	}
 	CleanupAfterCommand(payload);
 
 	if (eError != PVRSRV_OK)