Lines Matching refs:pddcb

121 static inline void ddcb_mark_tapped(struct ddcb *pddcb)  in ddcb_mark_tapped()  argument
123 pddcb->priv[7] = 0xbb; /* tapped */ in ddcb_mark_tapped()
126 static inline void ddcb_mark_appended(struct ddcb *pddcb) in ddcb_mark_appended() argument
128 pddcb->priv[7] = 0xaa; /* appended */ in ddcb_mark_appended()
131 static inline void ddcb_mark_cleared(struct ddcb *pddcb) in ddcb_mark_cleared() argument
133 pddcb->priv[6] = 0xcc; /* cleared */ in ddcb_mark_cleared()
136 static inline void ddcb_mark_finished(struct ddcb *pddcb) in ddcb_mark_finished() argument
138 pddcb->priv[6] = 0xff; /* finished */ in ddcb_mark_finished()
141 static inline void ddcb_mark_unused(struct ddcb *pddcb) in ddcb_mark_unused() argument
143 pddcb->priv_64 = cpu_to_be64(0); /* not tapped */ in ddcb_mark_unused()
166 struct ddcb *pddcb; in print_ddcb_info() local
176 pddcb = queue->ddcb_vaddr; in print_ddcb_info()
182 be16_to_cpu(pddcb->retc_16), in print_ddcb_info()
183 be16_to_cpu(pddcb->seqnum_16), in print_ddcb_info()
184 pddcb->hsi, in print_ddcb_info()
185 pddcb->shi, in print_ddcb_info()
186 be64_to_cpu(pddcb->priv_64), in print_ddcb_info()
187 pddcb->cmd); in print_ddcb_info()
188 pddcb++; in print_ddcb_info()
266 struct ddcb *pddcb, int ddcb_no) in enqueue_ddcb() argument
279 ddcb_mark_unused(pddcb); in enqueue_ddcb()
290 ddcb_mark_appended(pddcb); in enqueue_ddcb()
308 ddcb_mark_tapped(pddcb); in enqueue_ddcb()
333 struct ddcb *pddcb = &queue->ddcb_vaddr[req->num]; in copy_ddcb_results() local
335 memcpy(&req->cmd.asv[0], &pddcb->asv[0], DDCB_ASV_LENGTH); in copy_ddcb_results()
338 req->cmd.vcrc = be16_to_cpu(pddcb->vcrc_16); in copy_ddcb_results()
339 req->cmd.deque_ts = be64_to_cpu(pddcb->deque_ts_64); in copy_ddcb_results()
340 req->cmd.cmplt_ts = be64_to_cpu(pddcb->cmplt_ts_64); in copy_ddcb_results()
342 req->cmd.attn = be16_to_cpu(pddcb->attn_16); in copy_ddcb_results()
343 req->cmd.progress = be32_to_cpu(pddcb->progress_32); in copy_ddcb_results()
344 req->cmd.retc = be16_to_cpu(pddcb->retc_16); in copy_ddcb_results()
351 memcpy(&req->debug_data.ddcb_finished, pddcb, in copy_ddcb_results()
377 struct ddcb *pddcb; in genwqe_check_ddcb_queue() local
381 pddcb = &queue->ddcb_vaddr[queue->ddcb_act]; in genwqe_check_ddcb_queue()
383 if ((pddcb->icrc_hsi_shi_32 & DDCB_COMPLETED_BE32) == in genwqe_check_ddcb_queue()
405 retc_16 = be16_to_cpu(pddcb->retc_16); in genwqe_check_ddcb_queue()
406 if ((pddcb->hsi == 0x44) && (retc_16 <= 0x101)) { in genwqe_check_ddcb_queue()
408 u64 ddcb_offs = (u64)pddcb - (u64)queue->ddcb_vaddr; in genwqe_check_ddcb_queue()
415 __func__, be16_to_cpu(pddcb->seqnum_16), in genwqe_check_ddcb_queue()
416 pddcb->hsi, retc_16, errcnts, status, in genwqe_check_ddcb_queue()
424 genwqe_hexdump(pci_dev, pddcb, sizeof(*pddcb)); in genwqe_check_ddcb_queue()
426 ddcb_mark_finished(pddcb); in genwqe_check_ddcb_queue()
429 vcrc = genwqe_crc16(pddcb->asv, in genwqe_check_ddcb_queue()
432 vcrc_16 = be16_to_cpu(pddcb->vcrc_16); in genwqe_check_ddcb_queue()
437 pddcb->pre, VCRC_LENGTH(req->cmd.asv_length), in genwqe_check_ddcb_queue()
507 struct ddcb *pddcb; in __genwqe_wait_ddcb() local
526 pddcb = &queue->ddcb_vaddr[req->num]; in __genwqe_wait_ddcb()
527 genwqe_hexdump(pci_dev, pddcb, sizeof(*pddcb)); in __genwqe_wait_ddcb()
572 struct ddcb *pddcb; in get_next_ddcb() local
578 pddcb = &queue->ddcb_vaddr[queue->ddcb_next]; in get_next_ddcb()
582 if ((pddcb->icrc_hsi_shi_32 & DDCB_COMPLETED_BE32) == 0x00000000) in get_next_ddcb()
589 pu64 = (u64 *)pddcb; in get_next_ddcb()
600 pddcb->pre = DDCB_PRESET_PRE; /* 128 */ in get_next_ddcb()
601 pddcb->seqnum_16 = cpu_to_be16(queue->ddcb_seq++); in get_next_ddcb()
602 return pddcb; in get_next_ddcb()
622 struct ddcb *pddcb = NULL; in __genwqe_purge_ddcb() local
638 pddcb = &queue->ddcb_vaddr[req->num]; in __genwqe_purge_ddcb()
649 old = pddcb->icrc_hsi_shi_32; /* read SHI/HSI in BE32 */ in __genwqe_purge_ddcb()
653 icrc_hsi_shi = cmpxchg(&pddcb->icrc_hsi_shi_32, in __genwqe_purge_ddcb()
661 icrc_hsi_shi = pddcb->icrc_hsi_shi_32; in __genwqe_purge_ddcb()
683 ddcb_mark_cleared(pddcb); in __genwqe_purge_ddcb()
695 icrc_hsi_shi = pddcb->icrc_hsi_shi_32; in __genwqe_purge_ddcb()
713 genwqe_hexdump(pci_dev, pddcb, sizeof(*pddcb)); in __genwqe_purge_ddcb()
757 struct ddcb *pddcb; in __genwqe_enqueue_ddcb() local
787 pddcb = get_next_ddcb(cd, queue, &req->num); /* get ptr and num */ in __genwqe_enqueue_ddcb()
788 if (pddcb == NULL) { in __genwqe_enqueue_ddcb()
820 pddcb->cmdopts_16 = cpu_to_be16(req->cmd.cmdopts); in __genwqe_enqueue_ddcb()
821 pddcb->cmd = req->cmd.cmd; in __genwqe_enqueue_ddcb()
822 pddcb->acfunc = req->cmd.acfunc; /* functional unit */ in __genwqe_enqueue_ddcb()
833 pddcb->xdir = 0x1; in __genwqe_enqueue_ddcb()
835 pddcb->xdir = 0x0; in __genwqe_enqueue_ddcb()
838 pddcb->psp = (((req->cmd.asiv_length / 8) << 4) | in __genwqe_enqueue_ddcb()
840 pddcb->disp_ts_64 = cpu_to_be64(req->cmd.disp_ts); in __genwqe_enqueue_ddcb()
856 memcpy(&pddcb->__asiv[0], /* destination */ in __genwqe_enqueue_ddcb()
860 pddcb->n.ats_64 = cpu_to_be64(req->cmd.ats); in __genwqe_enqueue_ddcb()
861 memcpy(&pddcb->n.asiv[0], /* destination */ in __genwqe_enqueue_ddcb()
866 pddcb->icrc_hsi_shi_32 = cpu_to_be32(0x00000000); /* for crc */ in __genwqe_enqueue_ddcb()
872 icrc = genwqe_crc16((const u8 *)pddcb, in __genwqe_enqueue_ddcb()
874 pddcb->icrc_hsi_shi_32 = cpu_to_be32((u32)icrc << 16); in __genwqe_enqueue_ddcb()
878 pddcb->icrc_hsi_shi_32 |= DDCB_INTR_BE32; in __genwqe_enqueue_ddcb()
881 genwqe_hexdump(pci_dev, pddcb, sizeof(*pddcb)); in __genwqe_enqueue_ddcb()
888 memcpy(&req->debug_data.ddcb_before, pddcb, in __genwqe_enqueue_ddcb()
892 enqueue_ddcb(cd, queue, pddcb, req->num); in __genwqe_enqueue_ddcb()
980 struct ddcb *pddcb; in genwqe_next_ddcb_ready() local
990 pddcb = &queue->ddcb_vaddr[queue->ddcb_act]; in genwqe_next_ddcb_ready()
991 if (pddcb->icrc_hsi_shi_32 & DDCB_COMPLETED_BE32) { /* ddcb ready */ in genwqe_next_ddcb_ready()
1024 struct ddcb *pddcb; in setup_ddcb_queue() local
1065 pddcb = &queue->ddcb_vaddr[i]; /* DDCBs */ in setup_ddcb_queue()
1066 pddcb->icrc_hsi_shi_32 = DDCB_COMPLETED_BE32; in setup_ddcb_queue()
1067 pddcb->retc_16 = cpu_to_be16(0xfff); in setup_ddcb_queue()