Lines Matching refs:cfis

569 static int mv_ata_exec_ata_cmd(int port, struct sata_fis_h2d *cfis,  in mv_ata_exec_ata_cmd()  argument
593 ((cfis->pm_port_c << CRQB_CNTRLFLAGS_PMPORTSHIFT) in mv_ata_exec_ata_cmd()
598 req->ata_cmd_feat = (cfis->command << CRQB_CMDFEAT_CMDSHIFT) & in mv_ata_exec_ata_cmd()
600 req->ata_cmd_feat |= (cfis->features << CRQB_CMDFEAT_FEATSHIFT) & in mv_ata_exec_ata_cmd()
603 req->ata_addr = (cfis->lba_low << CRQB_ADDR_LBA_LOWSHIFT) & in mv_ata_exec_ata_cmd()
605 req->ata_addr |= (cfis->lba_mid << CRQB_ADDR_LBA_MIDSHIFT) & in mv_ata_exec_ata_cmd()
607 req->ata_addr |= (cfis->lba_high << CRQB_ADDR_LBA_HIGHSHIFT) & in mv_ata_exec_ata_cmd()
609 req->ata_addr |= (cfis->device << CRQB_ADDR_DEVICE_SHIFT) & in mv_ata_exec_ata_cmd()
612 req->ata_addr_exp = (cfis->lba_low_exp << CRQB_ADDR_LBA_LOW_EXP_SHIFT) & in mv_ata_exec_ata_cmd()
615 (cfis->lba_mid_exp << CRQB_ADDR_LBA_MID_EXP_SHIFT) & in mv_ata_exec_ata_cmd()
618 (cfis->lba_high_exp << CRQB_ADDR_LBA_HIGH_EXP_SHIFT) & in mv_ata_exec_ata_cmd()
621 (cfis->features_exp << CRQB_ADDR_FEATURE_EXP_SHIFT) & in mv_ata_exec_ata_cmd()
625 (cfis->sector_count << CRQB_SECTCOUNT_COUNT_SHIFT) & in mv_ata_exec_ata_cmd()
628 (cfis->sector_count_exp << CRQB_SECTCOUNT_COUNT_EXP_SHIFT) & in mv_ata_exec_ata_cmd()
661 struct sata_fis_h2d cfis; in mv_sata_rw_cmd_ext() local
667 memset(&cfis, 0, sizeof(struct sata_fis_h2d)); in mv_sata_rw_cmd_ext()
669 cfis.fis_type = SATA_FIS_TYPE_REGISTER_H2D; in mv_sata_rw_cmd_ext()
670 cfis.command = (is_write) ? ATA_CMD_WRITE_EXT : ATA_CMD_READ_EXT; in mv_sata_rw_cmd_ext()
672 cfis.lba_high_exp = (block >> 40) & 0xff; in mv_sata_rw_cmd_ext()
673 cfis.lba_mid_exp = (block >> 32) & 0xff; in mv_sata_rw_cmd_ext()
674 cfis.lba_low_exp = (block >> 24) & 0xff; in mv_sata_rw_cmd_ext()
675 cfis.lba_high = (block >> 16) & 0xff; in mv_sata_rw_cmd_ext()
676 cfis.lba_mid = (block >> 8) & 0xff; in mv_sata_rw_cmd_ext()
677 cfis.lba_low = block & 0xff; in mv_sata_rw_cmd_ext()
678 cfis.device = ATA_LBA; in mv_sata_rw_cmd_ext()
679 cfis.sector_count_exp = (blkcnt >> 8) & 0xff; in mv_sata_rw_cmd_ext()
680 cfis.sector_count = blkcnt & 0xff; in mv_sata_rw_cmd_ext()
682 res = mv_ata_exec_ata_cmd(port, &cfis, buffer, ATA_SECT_SIZE * blkcnt, in mv_sata_rw_cmd_ext()
691 struct sata_fis_h2d cfis; in mv_sata_rw_cmd() local
697 memset(&cfis, 0, sizeof(struct sata_fis_h2d)); in mv_sata_rw_cmd()
699 cfis.fis_type = SATA_FIS_TYPE_REGISTER_H2D; in mv_sata_rw_cmd()
700 cfis.command = (is_write) ? ATA_CMD_WRITE : ATA_CMD_READ; in mv_sata_rw_cmd()
701 cfis.device = ATA_LBA; in mv_sata_rw_cmd()
703 cfis.device |= (block >> 24) & 0xf; in mv_sata_rw_cmd()
704 cfis.lba_high = (block >> 16) & 0xff; in mv_sata_rw_cmd()
705 cfis.lba_mid = (block >> 8) & 0xff; in mv_sata_rw_cmd()
706 cfis.lba_low = block & 0xff; in mv_sata_rw_cmd()
707 cfis.sector_count = (u8)(blkcnt & 0xff); in mv_sata_rw_cmd()
709 res = mv_ata_exec_ata_cmd(port, &cfis, buffer, ATA_SECT_SIZE * blkcnt, in mv_sata_rw_cmd()
759 struct sata_fis_h2d *cfis, u8 *buffer, in mv_ata_exec_ata_cmd_nondma() argument
768 out_le32(priv->regbase + PIO_SECTOR_COUNT, cfis->sector_count); in mv_ata_exec_ata_cmd_nondma()
769 out_le32(priv->regbase + PIO_LBA_HI, cfis->lba_high); in mv_ata_exec_ata_cmd_nondma()
770 out_le32(priv->regbase + PIO_LBA_MID, cfis->lba_mid); in mv_ata_exec_ata_cmd_nondma()
771 out_le32(priv->regbase + PIO_LBA_LOW, cfis->lba_low); in mv_ata_exec_ata_cmd_nondma()
772 out_le32(priv->regbase + PIO_ERR_FEATURES, cfis->features); in mv_ata_exec_ata_cmd_nondma()
773 out_le32(priv->regbase + PIO_DEVICE, cfis->device); in mv_ata_exec_ata_cmd_nondma()
774 out_le32(priv->regbase + PIO_CMD_STATUS, cfis->command); in mv_ata_exec_ata_cmd_nondma()
825 struct sata_fis_h2d cfis; in mv_sata_set_features() local
828 memset(&cfis, 0, sizeof(struct sata_fis_h2d)); in mv_sata_set_features()
830 cfis.fis_type = SATA_FIS_TYPE_REGISTER_H2D; in mv_sata_set_features()
831 cfis.command = ATA_CMD_SET_FEATURES; in mv_sata_set_features()
832 cfis.features = SETFEATURES_XFER; in mv_sata_set_features()
838 cfis.sector_count = XFER_UDMA_6; in mv_sata_set_features()
840 cfis.sector_count = XFER_UDMA_5; in mv_sata_set_features()
842 cfis.sector_count = XFER_UDMA_4; in mv_sata_set_features()
844 cfis.sector_count = XFER_UDMA_3; in mv_sata_set_features()
846 mv_ata_exec_ata_cmd_nondma(port, &cfis, NULL, 0, READ_CMD); in mv_sata_set_features()
851 struct sata_fis_h2d cfis; in mv_sata_spin_down() local
859 memset(&cfis, 0, sizeof(struct sata_fis_h2d)); in mv_sata_spin_down()
861 cfis.fis_type = SATA_FIS_TYPE_REGISTER_H2D; in mv_sata_spin_down()
862 cfis.command = ATA_CMD_STANDBY; in mv_sata_spin_down()
864 return mv_ata_exec_ata_cmd_nondma(dev, &cfis, NULL, 0, READ_CMD); in mv_sata_spin_down()
869 struct sata_fis_h2d cfis; in mv_sata_spin_up() local
877 memset(&cfis, 0, sizeof(struct sata_fis_h2d)); in mv_sata_spin_up()
879 cfis.fis_type = SATA_FIS_TYPE_REGISTER_H2D; in mv_sata_spin_up()
880 cfis.command = ATA_CMD_IDLE; in mv_sata_spin_up()
882 return mv_ata_exec_ata_cmd_nondma(dev, &cfis, NULL, 0, READ_CMD); in mv_sata_spin_up()