Lines Matching refs:cpb
244 struct nv_adma_cpb *cpb; member
804 static unsigned int nv_adma_tf_to_cpb(struct ata_taskfile *tf, __le16 *cpb) in nv_adma_tf_to_cpb() argument
810 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->hob_feature | WNB); in nv_adma_tf_to_cpb()
811 cpb[idx++] = cpu_to_le16((ATA_REG_NSECT << 8) | tf->hob_nsect); in nv_adma_tf_to_cpb()
812 cpb[idx++] = cpu_to_le16((ATA_REG_LBAL << 8) | tf->hob_lbal); in nv_adma_tf_to_cpb()
813 cpb[idx++] = cpu_to_le16((ATA_REG_LBAM << 8) | tf->hob_lbam); in nv_adma_tf_to_cpb()
814 cpb[idx++] = cpu_to_le16((ATA_REG_LBAH << 8) | tf->hob_lbah); in nv_adma_tf_to_cpb()
815 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->feature); in nv_adma_tf_to_cpb()
817 cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->feature | WNB); in nv_adma_tf_to_cpb()
819 cpb[idx++] = cpu_to_le16((ATA_REG_NSECT << 8) | tf->nsect); in nv_adma_tf_to_cpb()
820 cpb[idx++] = cpu_to_le16((ATA_REG_LBAL << 8) | tf->lbal); in nv_adma_tf_to_cpb()
821 cpb[idx++] = cpu_to_le16((ATA_REG_LBAM << 8) | tf->lbam); in nv_adma_tf_to_cpb()
822 cpb[idx++] = cpu_to_le16((ATA_REG_LBAH << 8) | tf->lbah); in nv_adma_tf_to_cpb()
826 cpb[idx++] = cpu_to_le16((ATA_REG_DEVICE << 8) | tf->device); in nv_adma_tf_to_cpb()
828 cpb[idx++] = cpu_to_le16((ATA_REG_CMD << 8) | tf->command | CMDEND); in nv_adma_tf_to_cpb()
831 cpb[idx++] = cpu_to_le16(IGN); in nv_adma_tf_to_cpb()
839 u8 flags = pp->cpb[cpb_num].resp_flags; in nv_adma_check_cpb()
1180 pp->cpb = mem; in nv_adma_port_start()
1349 static void nv_adma_fill_sg(struct ata_queued_cmd *qc, struct nv_adma_cpb *cpb) in nv_adma_fill_sg() argument
1359 aprd = (si < 5) ? &cpb->aprd[si] : in nv_adma_fill_sg()
1364 cpb->next_aprd = cpu_to_le64(((u64)(pp->aprd_dma + NV_ADMA_SGTBL_SZ * qc->tag))); in nv_adma_fill_sg()
1366 cpb->next_aprd = cpu_to_le64(0); in nv_adma_fill_sg()
1389 struct nv_adma_cpb *cpb = &pp->cpb[qc->tag]; in nv_adma_qc_prep() local
1401 cpb->resp_flags = NV_CPB_RESP_DONE; in nv_adma_qc_prep()
1403 cpb->ctl_flags = 0; in nv_adma_qc_prep()
1406 cpb->len = 3; in nv_adma_qc_prep()
1407 cpb->tag = qc->tag; in nv_adma_qc_prep()
1408 cpb->next_cpb_idx = 0; in nv_adma_qc_prep()
1416 nv_adma_tf_to_cpb(&qc->tf, cpb->tf); in nv_adma_qc_prep()
1419 nv_adma_fill_sg(qc, cpb); in nv_adma_qc_prep()
1422 memset(&cpb->aprd[0], 0, sizeof(struct nv_adma_prd) * 5); in nv_adma_qc_prep()
1427 cpb->ctl_flags = ctl_flags; in nv_adma_qc_prep()
1429 cpb->resp_flags = 0; in nv_adma_qc_prep()
1695 struct nv_adma_cpb *cpb = &pp->cpb[i]; in nv_adma_error_handler() local
1700 i, cpb->ctl_flags, cpb->resp_flags); in nv_adma_error_handler()
1710 pp->cpb[i].ctl_flags &= ~NV_CPB_CTL_CPB_VALID; in nv_adma_error_handler()