Add CSD connection flag that can be specified when allocating a
connection to enable Controlled Segment Dropping in favour of E2EFC
which is enabled by default.
Note that most connections are expected to have E2EFC enabled.
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
cport_flags = GB_SVC_CPORT_FLAG_CSV_N;
if (intf->boot_over_unipro) {
cport_flags |= GB_SVC_CPORT_FLAG_CSD_N;
- } else {
+ } else if (gb_connection_e2efc_enabled(connection)) {
cport_flags |= GB_SVC_CPORT_FLAG_CSD_N |
GB_SVC_CPORT_FLAG_E2EFC;
}
#include <linux/list.h>
#include <linux/kfifo.h>
+#define GB_CONNECTION_FLAG_CSD BIT(0)
+
enum gb_connection_state {
GB_CONNECTION_STATE_INVALID = 0,
GB_CONNECTION_STATE_DISABLED = 1,
void gb_connection_latency_tag_enable(struct gb_connection *connection);
void gb_connection_latency_tag_disable(struct gb_connection *connection);
+static inline bool gb_connection_e2efc_enabled(struct gb_connection *connection)
+{
+ return !(connection->flags & GB_CONNECTION_FLAG_CSD);
+}
+
#endif /* __CONNECTION_H */