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

Commit 26cbe0a0 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mhi_dev: Skip channel doorbell interrupts on unused channels"

parents 6995a354 5d827f0f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2798,7 +2798,7 @@ static void __exit ep_pcie_exit(void)
	platform_driver_unregister(&ep_pcie_driver);
}

module_init(ep_pcie_init);
subsys_initcall(ep_pcie_init);
module_exit(ep_pcie_exit);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("MSM PCIe Endpoint Driver");
+5 −4
Original line number Diff line number Diff line
@@ -1600,7 +1600,7 @@ static void mhi_dev_queue_channel_db(struct mhi_dev *mhi,
			ring = &mhi->ring[ch_num + mhi->ch_ring_start];
			if (ring->state == RING_STATE_UINT) {
				pr_debug("Channel not opened for %d\n", ch_num);
				break;
				continue;
			}
			mhi_ring_set_state(ring, RING_STATE_PENDING);
			list_add(&ring->list, &mhi->process_ring_list);
@@ -1751,7 +1751,7 @@ static void mhi_dev_transfer_completion_cb(void *mreq)
	ch = client->channel;
	mhi = ch->ring->mhi_dev;
	el = req->el;
	transfer_len = req->len;
	transfer_len = req->transfer_len;
	snd_cmpl = req->snd_cmpl;
	rd_offset = req->rd_offset;
	ch->curr_ereq->context = ch;
@@ -2448,7 +2448,7 @@ int mhi_dev_read_channel(struct mhi_req *mreq)
			(mreq->len - usr_buf_remaining);
		ch->tre_bytes_left -= bytes_to_read;
		mreq->el = el;
		mreq->actual_len = bytes_read;
		mreq->transfer_len = bytes_to_read;
		mreq->rd_offset = ring->rd_offset;
		mhi_log(MHI_MSG_VERBOSE, "reading %d bytes from chan %d\n",
				bytes_to_read, mreq->chan);
@@ -2612,6 +2612,7 @@ int mhi_dev_write_channel(struct mhi_req *wreq)
		write_to_loc = el->tre.data_buf_ptr;
		wreq->rd_offset = ring->rd_offset;
		wreq->el = el;
		wreq->transfer_len = bytes_to_write;
		rc = mhi_ctx->device_to_host(write_to_loc,
						(void *) read_from_loc,
						bytes_to_write,
@@ -3457,7 +3458,7 @@ static int __init mhi_dev_init(void)
{
	return platform_driver_register(&mhi_dev_driver);
}
module_init(mhi_dev_init);
subsys_initcall(mhi_dev_init);

static void __exit mhi_dev_exit(void)
{
+2 −2
Original line number Diff line number Diff line
@@ -246,10 +246,10 @@ static void mhi_dev_net_read_completion_cb(void *req)
	struct sk_buff *skb = mreq->context;
	unsigned long   flags;

	skb->len = mreq->actual_len;
	skb->len = mreq->transfer_len;
	skb->protocol =
		mhi_dev_net_eth_type_trans(skb);
	skb_put(skb, mreq->actual_len);
	skb_put(skb, mreq->transfer_len);
	net_handle->dev->stats.rx_packets++;
	skb->dev = net_handle->dev;
	netif_rx(skb);
+1 −1
Original line number Diff line number Diff line
@@ -1190,7 +1190,7 @@ void mhi_dev_sm_pcie_handler(struct ep_pcie_notify *notify)
		spin_lock_irqsave(&mhi_sm_ctx->mhi_dev->lock, flags);
		if ((mhi_sm_ctx->mhi_dev->mhi_int) &&
				(mhi_sm_ctx->mhi_dev->mhi_int_en)) {
			disable_irq(mhi_sm_ctx->mhi_dev->mhi_irq);
			disable_irq_nosync(mhi_sm_ctx->mhi_dev->mhi_irq);
			mhi_sm_ctx->mhi_dev->mhi_int_en = false;
			MHI_SM_DBG("Disable MHI IRQ during D3 HOT");
		}
+2 −2
Original line number Diff line number Diff line
@@ -608,7 +608,7 @@ static int mhi_uci_read_async(struct uci_client *uci_handle,
			"wk up Read completed on ch %d\n", ureq->chan);

		uci_handle->pkt_loc = (void *)ureq->buf;
		uci_handle->pkt_size = ureq->actual_len;
		uci_handle->pkt_size = ureq->transfer_len;

		uci_log(UCI_DBG_VERBOSE,
			"Got pkt of sz 0x%x at adr %pK, ch %d\n",
@@ -641,7 +641,7 @@ static int mhi_uci_read_sync(struct uci_client *uci_handle,

	if (*bytes_avail > 0) {
		uci_handle->pkt_loc = (void *)ureq->buf;
		uci_handle->pkt_size = ureq->actual_len;
		uci_handle->pkt_size = ureq->transfer_len;

		uci_log(UCI_DBG_VERBOSE,
			"Got pkt of sz 0x%x at adr %pK, ch %d\n",
Loading