From b9c13dc540403877ee43369ce0027f43c7cab928 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Wed, 17 Jun 2015 10:22:04 +0000 Subject: kernel: update 3.18 to 3.18.16 Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.15 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.16 Signed-off-by: Jonas Gorski Backport of r46011. git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@46015 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../0062-mt7621-add-ECHI-OCHI-XCHI-support.patch | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch') diff --git a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch index 79818803e6..e41b8a0d2e 100644 --- a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch +++ b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch @@ -5089,7 +5089,7 @@ return 1; } -@@ -2805,6 +2809,7 @@ static int prepare_ring(struct xhci_hcd +@@ -2810,6 +2814,7 @@ static int prepare_ring(struct xhci_hcd next = ring->enqueue; while (last_trb(xhci, ring, ring->enq_seg, next)) { @@ -5097,7 +5097,7 @@ /* If we're not dealing with 0.95 hardware or isoc rings * on AMD 0.96 host, clear the chain bit. */ -@@ -2814,6 +2819,9 @@ static int prepare_ring(struct xhci_hcd +@@ -2819,6 +2824,9 @@ static int prepare_ring(struct xhci_hcd next->link.control &= cpu_to_le32(~TRB_CHAIN); else next->link.control |= cpu_to_le32(TRB_CHAIN); @@ -5107,7 +5107,7 @@ wmb(); next->link.control ^= cpu_to_le32(TRB_CYCLE); -@@ -2944,6 +2952,9 @@ static void giveback_first_trb(struct xh +@@ -2949,6 +2957,9 @@ static void giveback_first_trb(struct xh start_trb->field[3] |= cpu_to_le32(start_cycle); else start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE); @@ -5117,7 +5117,7 @@ xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id); } -@@ -2999,6 +3010,29 @@ static u32 xhci_td_remainder(unsigned in +@@ -3004,6 +3015,29 @@ static u32 xhci_td_remainder(unsigned in return (remainder >> 10) << 17; } @@ -5147,7 +5147,7 @@ /* * For xHCI 1.0 host controllers, TD size is the number of max packet sized * packets remaining in the TD (*not* including this TRB). -@@ -3136,6 +3170,7 @@ static int queue_bulk_sg_tx(struct xhci_ +@@ -3141,6 +3175,7 @@ static int queue_bulk_sg_tx(struct xhci_ } /* Set the TRB length, TD size, and interrupter fields. */ @@ -5155,7 +5155,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( urb->transfer_buffer_length - -@@ -3145,6 +3180,12 @@ static int queue_bulk_sg_tx(struct xhci_ +@@ -3150,6 +3185,12 @@ static int queue_bulk_sg_tx(struct xhci_ trb_buff_len, total_packet_count, urb, num_trbs - 1); } @@ -5168,7 +5168,7 @@ length_field = TRB_LEN(trb_buff_len) | remainder | TRB_INTR_TARGET(0); -@@ -3207,6 +3248,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3212,6 +3253,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd * int running_total, trb_buff_len, ret; unsigned int total_packet_count; u64 addr; @@ -5178,7 +5178,7 @@ if (urb->num_sgs) return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index); -@@ -3232,6 +3276,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3237,6 +3281,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd * running_total += TRB_MAX_BUFF_SIZE; } /* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */ @@ -5204,7 +5204,7 @@ ret = prepare_transfer(xhci, xhci->devs[slot_id], ep_index, urb->stream_id, -@@ -3291,6 +3354,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3296,6 +3359,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * field |= TRB_ISP; /* Set the TRB length, TD size, and interrupter fields. */ @@ -5212,7 +5212,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( urb->transfer_buffer_length - -@@ -3300,6 +3364,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3305,6 +3369,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd * trb_buff_len, total_packet_count, urb, num_trbs - 1); } @@ -5223,7 +5223,7 @@ length_field = TRB_LEN(trb_buff_len) | remainder | TRB_INTR_TARGET(0); -@@ -3389,7 +3457,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3394,7 +3462,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field |= 0x1; /* xHCI 1.0 6.4.1.2.1: Transfer Type field */ @@ -5235,7 +5235,7 @@ if (urb->transfer_buffer_length > 0) { if (setup->bRequestType & USB_DIR_IN) field |= TRB_TX_TYPE(TRB_DATA_IN); -@@ -3413,7 +3485,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3418,7 +3490,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field = TRB_TYPE(TRB_DATA); length_field = TRB_LEN(urb->transfer_buffer_length) | @@ -5248,7 +5248,7 @@ TRB_INTR_TARGET(0); if (urb->transfer_buffer_length > 0) { if (setup->bRequestType & USB_DIR_IN) -@@ -3536,6 +3613,9 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3541,6 +3618,9 @@ static int xhci_queue_isoc_tx(struct xhc u64 start_addr, addr; int i, j; bool more_trbs_coming; @@ -5258,7 +5258,7 @@ ep_ring = xhci->devs[slot_id]->eps[ep_index].ring; -@@ -3549,6 +3629,21 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3554,6 +3634,21 @@ static int xhci_queue_isoc_tx(struct xhc start_trb = &ep_ring->enqueue->generic; start_cycle = ep_ring->cycle_state; @@ -5280,7 +5280,7 @@ urb_priv = urb->hcpriv; /* Queue the first TRB, even if it's zero-length */ for (i = 0; i < num_tds; i++) { -@@ -3620,9 +3715,13 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3625,9 +3720,13 @@ static int xhci_queue_isoc_tx(struct xhc } else { td->last_trb = ep_ring->enqueue; field |= TRB_IOC; @@ -5294,7 +5294,7 @@ /* Set BEI bit except for the last td */ if (i < num_tds - 1) field |= TRB_BEI; -@@ -3637,6 +3736,7 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3642,6 +3741,7 @@ static int xhci_queue_isoc_tx(struct xhc trb_buff_len = td_remain_len; /* Set the TRB length, TD size, & interrupter fields. */ @@ -5302,7 +5302,7 @@ if (xhci->hci_version < 0x100) { remainder = xhci_td_remainder( td_len - running_total); -@@ -3646,6 +3746,10 @@ static int xhci_queue_isoc_tx(struct xhc +@@ -3651,6 +3751,10 @@ static int xhci_queue_isoc_tx(struct xhc total_packet_count, urb, (trbs_per_td - j - 1)); } -- cgit v1.2.3