greybus: audio: Use CSD instead of E2EFC for audio data connections
authorMark Greer <mgreer@animalcreek.com>
Thu, 17 Mar 2016 17:32:37 +0000 (10:32 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 17 Mar 2016 22:42:44 +0000 (15:42 -0700)
There is no reason to use end-to-end flow control for Greybus
audio data connections so disable it and enable Controlled
Segment Dropping (CSD).

Testing Done: Played music using audio modules on an EVT1.5.

CC: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
CC: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/audio_codec.c

index d7cae77..025dd53 100644 (file)
@@ -694,8 +694,10 @@ static int gb_audio_add_data_connection(struct gbaudio_codec_info *gbcodec,
                return -ENOMEM;
        }
 
-       connection = gb_connection_create(bundle, le16_to_cpu(cport_desc->id),
-                                         gbaudio_dai_request_handler);
+       connection = gb_connection_create_flags(bundle,
+                                               le16_to_cpu(cport_desc->id),
+                                               gbaudio_dai_request_handler,
+                                               GB_CONNECTION_FLAG_CSD);
        if (IS_ERR(connection)) {
                devm_kfree(gbcodec->dev, dai);
                return PTR_ERR(connection);