Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 280860a4 authored by Sujeet Kumar's avatar Sujeet Kumar
Browse files

usb: u_bam: Support new event to update RX buffer size



Add support for a new event BAM_DMUX_TRANSMIT_SIZE to update
Rx Buffer size when received this event from BAM DMUX side.
The event is triggered every time when msm_bam_dmux_open
function is called. The skb buffer allocation will be done
in gbam_start_io function after msm_bam_dmux_open function.
This new event support will allow to send larger data payloads.

CRs-Fixed: 658306
Change-Id: I01cb1f43f7b745e58645c3b7a3b344e544feff0b
Signed-off-by: default avatarGuang Jian Zeng <gzeng@codeaurora.org>
Signed-off-by: default avatarSujeet Kumar <ksujeet@codeaurora.org>
parent c0ab746c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -86,8 +86,8 @@ module_param(bam_mux_tx_q_size, uint, S_IRUGO | S_IWUSR);
static unsigned int bam_mux_rx_q_size = BAM_MUX_RX_Q_SIZE;
module_param(bam_mux_rx_q_size, uint, S_IRUGO | S_IWUSR);

static unsigned int bam_mux_rx_req_size = BAM_MUX_RX_REQ_SIZE;
module_param(bam_mux_rx_req_size, uint, S_IRUGO | S_IWUSR);
static unsigned long bam_mux_rx_req_size = BAM_MUX_RX_REQ_SIZE;
module_param(bam_mux_rx_req_size, ulong, S_IRUGO);

static unsigned int dl_intr_threshold = DL_INTR_THRESHOLD;
module_param(dl_intr_threshold, uint, S_IRUGO | S_IWUSR);
@@ -1015,6 +1015,9 @@ static void gbam_start_io(struct gbam_port *port)

static void gbam_notify(void *p, int event, unsigned long data)
{
	struct gbam_port	*port = p;
	struct bam_ch_info *d = &port->data_ch;

	switch (event) {
	case BAM_DMUX_RECEIVE:
		gbam_data_recv_cb(p, (struct sk_buff *)(data));
@@ -1022,6 +1025,11 @@ static void gbam_notify(void *p, int event, unsigned long data)
	case BAM_DMUX_WRITE_DONE:
		gbam_data_write_done(p, (struct sk_buff *)(data));
		break;
	case BAM_DMUX_TRANSMIT_SIZE:
		if (test_bit(BAM_CH_OPENED, &d->flags))
			pr_warn("%s, BAM channel opened already", __func__);
		bam_mux_rx_req_size = data;
		break;
	}
}