diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index 5b97073f4100..e2d38dfe06b6 100644 --- a/drivers/staging/greybus/greybus_protocols.h +++ b/drivers/staging/greybus/greybus_protocols.h @@ -606,6 +606,8 @@ struct gb_svc_conn_create_request { __u16 cport1_id; __u8 intf2_id; __u16 cport2_id; + __u8 tc; + __u8 flags; }; /* connection create response has no payload */ diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index b718a881a7e3..b94a84aca0d8 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 @@ static int connection_create_operation(struct gb_svc *svc, 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);