msm: bam_dmux: Introduce watermarking in client transmit queue

BAM_DMUX does not put any restriction on the number of packets in
flight over the underlying BAM transport. This causes the bandwidth
to be not shared fairly among the clients. So introduce the concept
of watermarking in each client's transmit queue so that the clients
share the transport fairly and efficiently under high throughput
uplink scenarios

Change-Id: Ibf7e12b4cf13e826e7f83a41821f435cb7aa2cb0
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/bam_dmux.h b/arch/arm/mach-msm/include/mach/bam_dmux.h
index a2b0126..fb70da4 100644
--- a/arch/arm/mach-msm/include/mach/bam_dmux.h
+++ b/arch/arm/mach-msm/include/mach/bam_dmux.h
@@ -59,6 +59,10 @@
 int msm_bam_dmux_write(uint32_t id, struct sk_buff *skb);
 
 void msm_bam_dmux_kickoff_ul_wakeup(void);
+
+int msm_bam_dmux_is_ch_full(uint32_t id);
+
+int msm_bam_dmux_is_ch_low(uint32_t id);
 #else
 int msm_bam_dmux_open(uint32_t id, void *priv,
 		       void (*notify)(void *priv, int event_type,
@@ -80,5 +84,15 @@
 void msm_bam_dmux_kickoff_ul_wakeup(void)
 {
 }
+
+int msm_bam_dmux_is_ch_full(uint32_t id)
+{
+	return -ENODEV;
+}
+
+int msm_bam_dmux_is_ch_low(uint32_t id)
+{
+	return -ENODEV;
+}
 #endif
 #endif /* _BAM_DMUX_H */