Lines Matching refs:ptd

58 struct ptd {  struct
494 struct ptd *ptd) in isp1760_ptd_read() argument
496 u16 src_offset = ptd_offset + slot * sizeof(*ptd); in isp1760_ptd_read()
502 bank_reads8(priv->base, src_offset, ISP_BANK_0, (void *)ptd, in isp1760_ptd_read()
503 sizeof(*ptd)); in isp1760_ptd_read()
507 struct ptd *ptd) in isp1763_ptd_read() argument
509 u16 src_offset = ptd_offset + slot * sizeof(*ptd); in isp1763_ptd_read()
514 ptd->dw0 = le32_to_dw(le32_ptd.dw0); in isp1763_ptd_read()
515 ptd->dw1 = le32_to_dw(le32_ptd.dw1); in isp1763_ptd_read()
516 ptd->dw2 = le32_to_dw(le32_ptd.dw2); in isp1763_ptd_read()
517 ptd->dw3 = le32_to_dw(le32_ptd.dw3); in isp1763_ptd_read()
518 ptd->dw4 = le32_to_dw(le32_ptd.dw4); in isp1763_ptd_read()
519 ptd->dw5 = le32_to_dw(le32_ptd.dw5); in isp1763_ptd_read()
520 ptd->dw6 = le32_to_dw(le32_ptd.dw6); in isp1763_ptd_read()
521 ptd->dw7 = le32_to_dw(le32_ptd.dw7); in isp1763_ptd_read()
525 struct ptd *ptd) in ptd_read() argument
530 return isp1760_ptd_read(hcd, ptd_offset, slot, ptd); in ptd_read()
532 isp1763_ptd_read(hcd, ptd_offset, slot, ptd); in ptd_read()
536 struct ptd *cpu_ptd) in isp1763_ptd_write()
539 struct ptd_le32 ptd; in isp1763_ptd_write() local
541 ptd.dw0 = dw_to_le32(cpu_ptd->dw0); in isp1763_ptd_write()
542 ptd.dw1 = dw_to_le32(cpu_ptd->dw1); in isp1763_ptd_write()
543 ptd.dw2 = dw_to_le32(cpu_ptd->dw2); in isp1763_ptd_write()
544 ptd.dw3 = dw_to_le32(cpu_ptd->dw3); in isp1763_ptd_write()
545 ptd.dw4 = dw_to_le32(cpu_ptd->dw4); in isp1763_ptd_write()
546 ptd.dw5 = dw_to_le32(cpu_ptd->dw5); in isp1763_ptd_write()
547 ptd.dw6 = dw_to_le32(cpu_ptd->dw6); in isp1763_ptd_write()
548 ptd.dw7 = dw_to_le32(cpu_ptd->dw7); in isp1763_ptd_write()
550 isp1763_mem_write(hcd, dst_offset, (u16 *)&ptd.dw0, in isp1763_ptd_write()
551 8 * sizeof(ptd.dw0)); in isp1763_ptd_write()
555 struct ptd *ptd) in isp1760_ptd_write() argument
557 u32 dst_offset = ptd_offset + slot * sizeof(*ptd); in isp1760_ptd_write()
563 isp1760_mem_write(base, dst_offset + sizeof(ptd->dw0), in isp1760_ptd_write()
564 (__force u32 *)&ptd->dw1, 7 * sizeof(ptd->dw1)); in isp1760_ptd_write()
566 isp1760_mem_write(base, dst_offset, (__force u32 *)&ptd->dw0, in isp1760_ptd_write()
567 sizeof(ptd->dw0)); in isp1760_ptd_write()
571 struct ptd *ptd) in ptd_write() argument
576 return isp1760_ptd_write(priv->base, ptd_offset, slot, ptd); in ptd_write()
578 isp1763_ptd_write(hcd, ptd_offset, slot, ptd); in ptd_write()
818 struct isp1760_qtd *qtd, struct ptd *ptd) in create_ptd_atl() argument
825 memset(ptd, 0, sizeof(*ptd)); in create_ptd_atl()
833 ptd->dw0 = DW0_VALID_BIT; in create_ptd_atl()
834 ptd->dw0 |= TO_DW0_LENGTH(qtd->length); in create_ptd_atl()
835 ptd->dw0 |= TO_DW0_MAXPACKET(maxpacket); in create_ptd_atl()
836 ptd->dw0 |= TO_DW0_ENDPOINT(usb_pipeendpoint(qtd->urb->pipe)); in create_ptd_atl()
839 ptd->dw1 = TO_DW((usb_pipeendpoint(qtd->urb->pipe) >> 1)); in create_ptd_atl()
840 ptd->dw1 |= TO_DW1_DEVICE_ADDR(usb_pipedevice(qtd->urb->pipe)); in create_ptd_atl()
841 ptd->dw1 |= TO_DW1_PID_TOKEN(qtd->packet_type); in create_ptd_atl()
844 ptd->dw1 |= DW1_TRANS_BULK; in create_ptd_atl()
846 ptd->dw1 |= DW1_TRANS_INT; in create_ptd_atl()
851 ptd->dw1 |= DW1_TRANS_SPLIT; in create_ptd_atl()
853 ptd->dw1 |= DW1_SE_USB_LOSPEED; in create_ptd_atl()
855 ptd->dw1 |= TO_DW1_PORT_NUM(qtd->urb->dev->ttport); in create_ptd_atl()
856 ptd->dw1 |= TO_DW1_HUB_NUM(qtd->urb->dev->tt->hub->devnum); in create_ptd_atl()
861 ptd->dw1 |= DW1_SE_USB_LOSPEED; in create_ptd_atl()
866 ptd->dw0 |= TO_DW0_MULTI(multi); in create_ptd_atl()
869 ptd->dw3 |= TO_DW3_PING(qh->ping); in create_ptd_atl()
872 ptd->dw2 = 0; in create_ptd_atl()
873 ptd->dw2 |= TO_DW2_DATA_START_ADDR(base_to_chip(qtd->payload_addr)); in create_ptd_atl()
874 ptd->dw2 |= TO_DW2_RL(rl); in create_ptd_atl()
877 ptd->dw3 |= TO_DW3_NAKCOUNT(nak); in create_ptd_atl()
878 ptd->dw3 |= TO_DW3_DATA_TOGGLE(qh->toggle); in create_ptd_atl()
881 ptd->dw3 &= ~TO_DW3_DATA_TOGGLE(1); in create_ptd_atl()
883 ptd->dw3 |= TO_DW3_DATA_TOGGLE(1); in create_ptd_atl()
886 ptd->dw3 |= DW3_ACTIVE_BIT; in create_ptd_atl()
888 ptd->dw3 |= TO_DW3_CERR(ERR_COUNTER); in create_ptd_atl()
892 struct isp1760_qtd *qtd, struct ptd *ptd) in transform_add_int() argument
933 ptd->dw5 = TO_DW(0xff); /* Execute Complete Split on any uFrame */ in transform_add_int()
939 ptd->dw2 |= TO_DW(period); in transform_add_int()
940 ptd->dw4 = TO_DW(usof); in transform_add_int()
944 struct isp1760_qtd *qtd, struct ptd *ptd) in create_ptd_int() argument
946 create_ptd_atl(qh, qtd, ptd); in create_ptd_int()
947 transform_add_int(qh, qtd, ptd); in create_ptd_int()
1003 struct ptd *ptd) in start_bus_transfer() argument
1039 ptd_write(hcd, ptd_offset, slot, ptd); in start_bus_transfer()
1125 struct ptd ptd; in enqueue_qtds() local
1180 create_ptd_int(qh, qtd, &ptd); in enqueue_qtds()
1182 create_ptd_atl(qh, qtd, &ptd); in enqueue_qtds()
1185 slots, qtd, qh, &ptd); in enqueue_qtds()
1265 static int check_int_transfer(struct usb_hcd *hcd, struct ptd *ptd, in check_int_transfer() argument
1271 dw4 = TO_U32(ptd->dw4); in check_int_transfer()
1277 if (ptd->dw3 & DW3_HALT_BIT) { in check_int_transfer()
1312 static int check_atl_transfer(struct usb_hcd *hcd, struct ptd *ptd, in check_atl_transfer() argument
1315 WARN_ON(!ptd); in check_atl_transfer()
1316 if (ptd->dw3 & DW3_HALT_BIT) { in check_atl_transfer()
1317 if (ptd->dw3 & DW3_BABBLE_BIT) in check_atl_transfer()
1319 else if (FROM_DW3_CERR(ptd->dw3)) in check_atl_transfer()
1334 if ((ptd->dw3 & DW3_ERROR_BIT) && (ptd->dw3 & DW3_ACTIVE_BIT)) { in check_atl_transfer()
1340 if (!FROM_DW3_NAKCOUNT(ptd->dw3) && (ptd->dw3 & DW3_ACTIVE_BIT)) { in check_atl_transfer()
1355 struct ptd ptd; in handle_done_ptds() local
1385 ptd_read(hcd, INT_PTD_OFFSET, slot, &ptd); in handle_done_ptds()
1386 state = check_int_transfer(hcd, &ptd, in handle_done_ptds()
1400 ptd_read(hcd, ATL_PTD_OFFSET, slot, &ptd); in handle_done_ptds()
1401 state = check_atl_transfer(hcd, &ptd, in handle_done_ptds()
1418 FROM_DW3_SCS_NRBYTESTRANSFERRED(ptd.dw3); in handle_done_ptds()
1421 FROM_DW3_NRBYTESTRANSFERRED(ptd.dw3); in handle_done_ptds()
1431 qh->toggle = FROM_DW3_DATA_TOGGLE(ptd.dw3); in handle_done_ptds()
1432 qh->ping = FROM_DW3_PING(ptd.dw3); in handle_done_ptds()
1437 ptd.dw0 |= DW0_VALID_BIT; in handle_done_ptds()
1439 ptd.dw3 &= ~TO_DW3_NAKCOUNT(0xf); in handle_done_ptds()
1440 ptd.dw3 |= TO_DW3_NAKCOUNT(FROM_DW2_RL(ptd.dw2)); in handle_done_ptds()
1441 ptd.dw3 &= ~TO_DW3_CERR(3); in handle_done_ptds()
1442 ptd.dw3 |= TO_DW3_CERR(ERR_COUNTER); in handle_done_ptds()
1443 qh->toggle = FROM_DW3_DATA_TOGGLE(ptd.dw3); in handle_done_ptds()
1444 qh->ping = FROM_DW3_PING(ptd.dw3); in handle_done_ptds()
1475 create_ptd_int(qh, qtd, &ptd); in handle_done_ptds()
1478 create_ptd_atl(qh, qtd, &ptd); in handle_done_ptds()
1482 qh, &ptd); in handle_done_ptds()
1559 struct ptd ptd; in errata2_function() local
1568 ptd_read(hcd, ATL_PTD_OFFSET, slot, &ptd); in errata2_function()
1569 if (!FROM_DW0_VALID(ptd.dw0) && in errata2_function()
1570 !FROM_DW3_ACTIVE(ptd.dw3)) in errata2_function()