Lines Matching refs:cpb
227 struct nv_adma_cpb *cpb; member
768 static unsigned int nv_adma_tf_to_cpb(struct ata_taskfile *tf, __le16 *cpb) in nv_adma_tf_to_cpb() argument
774 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->hob_feature | WNB); in nv_adma_tf_to_cpb()
775 cpb[idx++] = cpu_to_le16((ATA_REG_NSECT << 8) | tf->hob_nsect); in nv_adma_tf_to_cpb()
776 cpb[idx++] = cpu_to_le16((ATA_REG_LBAL << 8) | tf->hob_lbal); in nv_adma_tf_to_cpb()
777 cpb[idx++] = cpu_to_le16((ATA_REG_LBAM << 8) | tf->hob_lbam); in nv_adma_tf_to_cpb()
778 cpb[idx++] = cpu_to_le16((ATA_REG_LBAH << 8) | tf->hob_lbah); in nv_adma_tf_to_cpb()
779 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->feature); in nv_adma_tf_to_cpb()
781 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->feature | WNB); in nv_adma_tf_to_cpb()
783 cpb[idx++] = cpu_to_le16((ATA_REG_NSECT << 8) | tf->nsect); in nv_adma_tf_to_cpb()
784 cpb[idx++] = cpu_to_le16((ATA_REG_LBAL << 8) | tf->lbal); in nv_adma_tf_to_cpb()
785 cpb[idx++] = cpu_to_le16((ATA_REG_LBAM << 8) | tf->lbam); in nv_adma_tf_to_cpb()
786 cpb[idx++] = cpu_to_le16((ATA_REG_LBAH << 8) | tf->lbah); in nv_adma_tf_to_cpb()
790 cpb[idx++] = cpu_to_le16((ATA_REG_DEVICE << 8) | tf->device); in nv_adma_tf_to_cpb()
792 cpb[idx++] = cpu_to_le16((ATA_REG_CMD << 8) | tf->command | CMDEND); in nv_adma_tf_to_cpb()
795 cpb[idx++] = cpu_to_le16(IGN); in nv_adma_tf_to_cpb()
803 u8 flags = pp->cpb[cpb_num].resp_flags; in nv_adma_check_cpb()
1141 pp->cpb = mem; in nv_adma_port_start()
1310 static void nv_adma_fill_sg(struct ata_queued_cmd *qc, struct nv_adma_cpb *cpb) in nv_adma_fill_sg() argument
1320 aprd = (si < 5) ? &cpb->aprd[si] : in nv_adma_fill_sg()
1325 cpb->next_aprd = cpu_to_le64(((u64)(pp->aprd_dma + NV_ADMA_SGTBL_SZ * qc->hw_tag))); in nv_adma_fill_sg()
1327 cpb->next_aprd = cpu_to_le64(0); in nv_adma_fill_sg()
1350 struct nv_adma_cpb *cpb = &pp->cpb[qc->hw_tag]; in nv_adma_qc_prep() local
1362 cpb->resp_flags = NV_CPB_RESP_DONE; in nv_adma_qc_prep()
1364 cpb->ctl_flags = 0; in nv_adma_qc_prep()
1367 cpb->len = 3; in nv_adma_qc_prep()
1368 cpb->tag = qc->hw_tag; in nv_adma_qc_prep()
1369 cpb->next_cpb_idx = 0; in nv_adma_qc_prep()
1377 nv_adma_tf_to_cpb(&qc->tf, cpb->tf); in nv_adma_qc_prep()
1380 nv_adma_fill_sg(qc, cpb); in nv_adma_qc_prep()
1383 memset(&cpb->aprd[0], 0, sizeof(struct nv_adma_prd) * 5); in nv_adma_qc_prep()
1388 cpb->ctl_flags = ctl_flags; in nv_adma_qc_prep()
1390 cpb->resp_flags = 0; in nv_adma_qc_prep()
1658 struct nv_adma_cpb *cpb = &pp->cpb[i]; in nv_adma_error_handler() local
1663 i, cpb->ctl_flags, cpb->resp_flags); in nv_adma_error_handler()
1673 pp->cpb[i].ctl_flags &= ~NV_CPB_CTL_CPB_VALID; in nv_adma_error_handler()