mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-07 23:31:36 +00:00
usb: xhci: convert to TRB_TYPE()
Use TRB_TYPE(p) instead of ((p) << TRB_TYPE_SHIFT) Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
86d1fa17fb
commit
a826d76f2b
3 changed files with 6 additions and 9 deletions
|
@ -236,8 +236,7 @@ static void xhci_link_segments(struct xhci_segment *prev,
|
||||||
*/
|
*/
|
||||||
val = le32_to_cpu(prev->trbs[TRBS_PER_SEGMENT-1].link.control);
|
val = le32_to_cpu(prev->trbs[TRBS_PER_SEGMENT-1].link.control);
|
||||||
val &= ~TRB_TYPE_BITMASK;
|
val &= ~TRB_TYPE_BITMASK;
|
||||||
val |= (TRB_LINK << TRB_TYPE_SHIFT);
|
val |= TRB_TYPE(TRB_LINK);
|
||||||
|
|
||||||
prev->trbs[TRBS_PER_SEGMENT-1].link.control = cpu_to_le32(val);
|
prev->trbs[TRBS_PER_SEGMENT-1].link.control = cpu_to_le32(val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -696,7 +696,7 @@ int xhci_bulk_tx(struct usb_device *udev, unsigned long pipe,
|
||||||
trb_fields[0] = lower_32_bits(addr);
|
trb_fields[0] = lower_32_bits(addr);
|
||||||
trb_fields[1] = upper_32_bits(addr);
|
trb_fields[1] = upper_32_bits(addr);
|
||||||
trb_fields[2] = length_field;
|
trb_fields[2] = length_field;
|
||||||
trb_fields[3] = field | (TRB_NORMAL << TRB_TYPE_SHIFT);
|
trb_fields[3] = field | TRB_TYPE(TRB_NORMAL);
|
||||||
|
|
||||||
queue_trb(ctrl, ring, (num_trbs > 1), trb_fields);
|
queue_trb(ctrl, ring, (num_trbs > 1), trb_fields);
|
||||||
|
|
||||||
|
@ -823,7 +823,7 @@ int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
|
||||||
/* Queue setup TRB - see section 6.4.1.2.1 */
|
/* Queue setup TRB - see section 6.4.1.2.1 */
|
||||||
/* FIXME better way to translate setup_packet into two u32 fields? */
|
/* FIXME better way to translate setup_packet into two u32 fields? */
|
||||||
field = 0;
|
field = 0;
|
||||||
field |= TRB_IDT | (TRB_SETUP << TRB_TYPE_SHIFT);
|
field |= TRB_IDT | TRB_TYPE(TRB_SETUP);
|
||||||
if (start_cycle == 0)
|
if (start_cycle == 0)
|
||||||
field |= 0x1;
|
field |= 0x1;
|
||||||
|
|
||||||
|
@ -860,9 +860,9 @@ int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
|
||||||
/* If there's data, queue data TRBs */
|
/* If there's data, queue data TRBs */
|
||||||
/* Only set interrupt on short packet for IN endpoints */
|
/* Only set interrupt on short packet for IN endpoints */
|
||||||
if (usb_pipein(pipe))
|
if (usb_pipein(pipe))
|
||||||
field = TRB_ISP | (TRB_DATA << TRB_TYPE_SHIFT);
|
field = TRB_ISP | TRB_TYPE(TRB_DATA);
|
||||||
else
|
else
|
||||||
field = (TRB_DATA << TRB_TYPE_SHIFT);
|
field = TRB_TYPE(TRB_DATA);
|
||||||
|
|
||||||
remainder = xhci_td_remainder(ctrl, 0, length, length,
|
remainder = xhci_td_remainder(ctrl, 0, length, length,
|
||||||
usb_maxpacket(udev, pipe), true);
|
usb_maxpacket(udev, pipe), true);
|
||||||
|
@ -904,8 +904,7 @@ int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
|
||||||
trb_fields[2] = ((0 & TRB_INTR_TARGET_MASK) << TRB_INTR_TARGET_SHIFT);
|
trb_fields[2] = ((0 & TRB_INTR_TARGET_MASK) << TRB_INTR_TARGET_SHIFT);
|
||||||
/* Event on completion */
|
/* Event on completion */
|
||||||
trb_fields[3] = field | TRB_IOC |
|
trb_fields[3] = field | TRB_IOC |
|
||||||
(TRB_STATUS << TRB_TYPE_SHIFT) |
|
TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state;
|
||||||
ep_ring->cycle_state;
|
|
||||||
|
|
||||||
queue_trb(ctrl, ep_ring, false, trb_fields);
|
queue_trb(ctrl, ep_ring, false, trb_fields);
|
||||||
|
|
||||||
|
|
|
@ -903,7 +903,6 @@ union xhci_trb {
|
||||||
/* TRB bit mask */
|
/* TRB bit mask */
|
||||||
#define TRB_TYPE_BITMASK (0xfc00)
|
#define TRB_TYPE_BITMASK (0xfc00)
|
||||||
#define TRB_TYPE(p) ((p) << 10)
|
#define TRB_TYPE(p) ((p) << 10)
|
||||||
#define TRB_TYPE_SHIFT (10)
|
|
||||||
#define TRB_FIELD_TO_TYPE(p) (((p) & TRB_TYPE_BITMASK) >> 10)
|
#define TRB_FIELD_TO_TYPE(p) (((p) & TRB_TYPE_BITMASK) >> 10)
|
||||||
|
|
||||||
/* TRB type IDs */
|
/* TRB type IDs */
|
||||||
|
|
Loading…
Add table
Reference in a new issue