greybus: svc: add flags and traffic class parameter to connection create op

The AP needs to be able to specify L4 CPort flags and traffic class
parameters on a connection-by-connection basis. Extend the connection
create operation to accept these. Since there's no policy to decide
these, fix them at TC0 with end-to-end-flow control, controlled segment
dropping, and CPort safety valve enabled.

Tested-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Perry Hung <perry@leaflabs.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c
index b718a88..b94a84a 100644
--- a/drivers/staging/greybus/svc.c
+++ b/drivers/staging/greybus/svc.c
@@ -9,6 +9,10 @@
 
 #include "greybus.h"
 
+#define CPORT_FLAGS_E2EFC       (1)
+#define CPORT_FLAGS_CSD_N       (2)
+#define CPORT_FLAGS_CSV_N       (4)
+
 struct gb_svc {
 	struct gb_connection	*connection;
 	u8			version_major;
@@ -98,6 +102,12 @@
 	request.cport1_id = cport1_id;
 	request.intf2_id = intf2_id;
 	request.cport2_id = cport2_id;
+	/*
+	 * XXX: fix connections paramaters to TC0 and all CPort flags
+	 * for now.
+	 */
+	request.tc = 0;
+	request.flags = CPORT_FLAGS_CSV_N | CPORT_FLAGS_E2EFC;
 
 	return gb_operation_sync(svc->connection, GB_SVC_TYPE_CONN_CREATE,
 				 &request, sizeof(request), NULL, 0);