/kernel/linux/linux-5.10/drivers/block/mtip32xx/ |
H A D | mtip32xx.c | 513 struct host_to_dev_fis *fis; in mtip_handle_tfe() local 609 fis = (struct host_to_dev_fis *)cmd->command; in mtip_handle_tfe() 613 fis->command == ATA_CMD_SET_FEATURES) in mtip_handle_tfe() 618 fis->command == ATA_CMD_FPDMA_WRITE)) { in mtip_handle_tfe() 621 fis->command == ATA_CMD_FPDMA_WRITE ? in mtip_handle_tfe() 844 struct host_to_dev_fis *fis) in mtip_pause_ncq() 852 if (fis->command == ATA_CMD_SEC_ERASE_PREP) { in mtip_pause_ncq() 855 } else if ((fis->command == ATA_CMD_DOWNLOAD_MICRO) && in mtip_pause_ncq() 856 (fis->features == 0x03)) { in mtip_pause_ncq() 860 } else if ((fis in mtip_pause_ncq() 843 mtip_pause_ncq(struct mtip_port *port, struct host_to_dev_fis *fis) mtip_pause_ncq() argument 958 mtip_exec_internal_command(struct mtip_port *port, struct host_to_dev_fis *fis, int fis_len, dma_addr_t buffer, int buf_len, u32 opts, unsigned long timeout) mtip_exec_internal_command() argument 1080 mtip_set_timeout(struct driver_data *dd, struct host_to_dev_fis *fis, unsigned int *timeout, u8 erasemode) mtip_set_timeout() argument 1133 struct host_to_dev_fis fis; mtip_get_identify() local 1215 struct host_to_dev_fis fis; mtip_standby_immediate() local 1259 struct host_to_dev_fis fis; mtip_read_log_page() local 1295 struct host_to_dev_fis fis; mtip_get_smart_data() local 1490 struct host_to_dev_fis fis; exec_drive_task() local 1560 struct host_to_dev_fis fis; exec_drive_command() local 1709 struct host_to_dev_fis fis; exec_drive_taskfile() local 2063 struct host_to_dev_fis *fis; mtip_hw_submit_io() local [all...] |
/kernel/linux/linux-6.6/drivers/block/mtip32xx/ |
H A D | mtip32xx.c | 501 struct host_to_dev_fis *fis; in mtip_handle_tfe() local 597 fis = (struct host_to_dev_fis *)cmd->command; in mtip_handle_tfe() 601 fis->command == ATA_CMD_SET_FEATURES) in mtip_handle_tfe() 606 fis->command == ATA_CMD_FPDMA_WRITE)) { in mtip_handle_tfe() 609 fis->command == ATA_CMD_FPDMA_WRITE ? in mtip_handle_tfe() 832 struct host_to_dev_fis *fis) in mtip_pause_ncq() 840 if (fis->command == ATA_CMD_SEC_ERASE_PREP) { in mtip_pause_ncq() 843 } else if ((fis->command == ATA_CMD_DOWNLOAD_MICRO) && in mtip_pause_ncq() 844 (fis->features == 0x03)) { in mtip_pause_ncq() 848 } else if ((fis in mtip_pause_ncq() 831 mtip_pause_ncq(struct mtip_port *port, struct host_to_dev_fis *fis) mtip_pause_ncq() argument 946 mtip_exec_internal_command(struct mtip_port *port, struct host_to_dev_fis *fis, int fis_len, dma_addr_t buffer, int buf_len, u32 opts, unsigned long timeout) mtip_exec_internal_command() argument 1068 mtip_set_timeout(struct driver_data *dd, struct host_to_dev_fis *fis, unsigned int *timeout, u8 erasemode) mtip_set_timeout() argument 1121 struct host_to_dev_fis fis; mtip_get_identify() local 1203 struct host_to_dev_fis fis; mtip_standby_immediate() local 1247 struct host_to_dev_fis fis; mtip_read_log_page() local 1283 struct host_to_dev_fis fis; mtip_get_smart_data() local 1478 struct host_to_dev_fis fis; exec_drive_task() local 1548 struct host_to_dev_fis fis; exec_drive_command() local 1697 struct host_to_dev_fis fis; exec_drive_taskfile() local 2051 struct host_to_dev_fis *fis; mtip_hw_submit_io() local [all...] |
/kernel/linux/linux-5.10/drivers/ata/ |
H A D | libata-sata.c | 141 * @fis: Buffer into which data will output 149 void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis) in ata_tf_to_fis() argument 151 fis[0] = 0x27; /* Register - Host to Device FIS */ in ata_tf_to_fis() 152 fis[1] = pmp & 0xf; /* Port multiplier number*/ in ata_tf_to_fis() 154 fis[1] |= (1 << 7); /* bit 7 indicates Command FIS */ in ata_tf_to_fis() 156 fis[2] = tf->command; in ata_tf_to_fis() 157 fis[3] = tf->feature; in ata_tf_to_fis() 159 fis[4] = tf->lbal; in ata_tf_to_fis() 160 fis[5] = tf->lbam; in ata_tf_to_fis() 161 fis[ in ata_tf_to_fis() 192 ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf) ata_tf_from_fis() argument [all...] |
H A D | sata_nv.c | 325 static void nv_swncq_irq_clear(struct ata_port *ap, u16 fis); 1741 static void nv_swncq_irq_clear(struct ata_port *ap, u16 fis) in nv_swncq_irq_clear() argument 1745 writew(fis, pp->irq_block); in nv_swncq_irq_clear() 2048 static void nv_swncq_hotplug(struct ata_port *ap, u32 fis) in nv_swncq_hotplug() argument 2060 if (fis & NV_SWNCQ_IRQ_ADDED) in nv_swncq_hotplug() 2062 else if (fis & NV_SWNCQ_IRQ_REMOVED) in nv_swncq_hotplug() 2187 static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis) in nv_swncq_host_interrupt() argument 2196 nv_swncq_irq_clear(ap, fis); in nv_swncq_host_interrupt() 2197 if (!fis) in nv_swncq_host_interrupt() 2203 if (fis in nv_swncq_host_interrupt() [all...] |
H A D | sata_sil24.c | 33 u8 fis[6 * 4]; member 483 u8 fis[6 * 4]; in sil24_read_tf() local 486 memcpy_fromio(fis, prb->fis, sizeof(fis)); in sil24_read_tf() 487 ata_tf_from_fis(fis, tf); in sil24_read_tf() 607 ata_tf_to_fis(tf, pmp, is_cmd, prb->fis); in sil24_exec_polled_cmd() 873 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, prb->fis); in sil24_qc_prep()
|
/kernel/linux/linux-6.6/drivers/ata/ |
H A D | libata-sata.c | 143 * @fis: Buffer into which data will output 151 void ata_tf_to_fis(const struct ata_taskfile *tf, u8 pmp, int is_cmd, u8 *fis) in ata_tf_to_fis() argument 153 fis[0] = 0x27; /* Register - Host to Device FIS */ in ata_tf_to_fis() 154 fis[1] = pmp & 0xf; /* Port multiplier number*/ in ata_tf_to_fis() 156 fis[1] |= (1 << 7); /* bit 7 indicates Command FIS */ in ata_tf_to_fis() 158 fis[2] = tf->command; in ata_tf_to_fis() 159 fis[3] = tf->feature; in ata_tf_to_fis() 161 fis[4] = tf->lbal; in ata_tf_to_fis() 162 fis[5] = tf->lbam; in ata_tf_to_fis() 163 fis[ in ata_tf_to_fis() 194 ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf) ata_tf_from_fis() argument [all...] |
H A D | sata_nv.c | 326 static void nv_swncq_irq_clear(struct ata_port *ap, u16 fis); 1732 static void nv_swncq_irq_clear(struct ata_port *ap, u16 fis) in nv_swncq_irq_clear() argument 1736 writew(fis, pp->irq_block); in nv_swncq_irq_clear() 2035 static void nv_swncq_hotplug(struct ata_port *ap, u32 fis) in nv_swncq_hotplug() argument 2047 if (fis & NV_SWNCQ_IRQ_ADDED) in nv_swncq_hotplug() 2049 else if (fis & NV_SWNCQ_IRQ_REMOVED) in nv_swncq_hotplug() 2175 static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis) in nv_swncq_host_interrupt() argument 2184 nv_swncq_irq_clear(ap, fis); in nv_swncq_host_interrupt() 2185 if (!fis) in nv_swncq_host_interrupt() 2191 if (fis in nv_swncq_host_interrupt() [all...] |
H A D | sata_sil24.c | 33 u8 fis[6 * 4]; member 486 u8 fis[6 * 4]; in sil24_read_tf() local 489 memcpy_fromio(fis, prb->fis, sizeof(fis)); in sil24_read_tf() 490 ata_tf_from_fis(fis, tf); in sil24_read_tf() 610 ata_tf_to_fis(tf, pmp, is_cmd, prb->fis); in sil24_exec_polled_cmd() 873 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, prb->fis); in sil24_qc_prep()
|
H A D | libahci.c | 1420 u8 *fis = pp->cmd_tbl; in ahci_exec_polled_cmd() local 1424 ata_tf_to_fis(tf, pmp, is_cmd, fis); in ahci_exec_polled_cmd() 2118 const u8 *fis = rx_fis + RX_FIS_SDB; in ahci_qc_fill_rtf() local 2126 qc->result_tf.status = fis[2]; in ahci_qc_fill_rtf() 2127 qc->result_tf.error = fis[3]; in ahci_qc_fill_rtf() 2139 const u8 *fis; in ahci_qc_ncq_fill_rtf() local 2156 fis = pp->rx_fis + RX_FIS_SDB; in ahci_qc_ncq_fill_rtf() 2157 status = fis[2]; in ahci_qc_ncq_fill_rtf() 2158 error = fis[3]; in ahci_qc_ncq_fill_rtf() 2187 fis in ahci_qc_ncq_fill_rtf() [all...] |
/kernel/linux/linux-6.6/drivers/scsi/libsas/ |
H A D | sas_ata.c | 121 memcpy(dev->sata_dev.fis, resp->ending_fis, ATA_RESP_FIS_SIZE); in sas_ata_task_done() 124 qc->err_mask |= ac_err_mask(dev->sata_dev.fis[2]); in sas_ata_task_done() 126 link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.fis[2]); in sas_ata_task_done() 142 dev->sata_dev.fis[2] = ATA_ERR | ATA_DRDY; /* tf status */ in sas_ata_task_done() 143 dev->sata_dev.fis[3] = ATA_ABORTED; /* tf error */ in sas_ata_task_done() 186 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, (u8 *)&task->ata_task.fis); 235 ata_tf_from_fis(dev->sata_dev.fis, &qc->result_tf); in sas_ata_qc_fill_rtf() 276 memcpy(dev->frame_rcvd, &dev->sata_dev.rps_resp.rps.fis, in sas_get_ata_info() 949 device->sata_dev.fis[2] = ATA_ERR | ATA_DRDY; /* tf status */ in sas_ata_device_link_abort() 950 device->sata_dev.fis[ in sas_ata_device_link_abort() 960 sas_execute_ata_cmd(struct domain_device *device, u8 *fis, int force_phy_id) sas_execute_ata_cmd() argument [all...] |
H A D | sas_discover.c | 74 struct dev_to_host_fis *fis = in sas_get_port_device() local 76 if (fis->interrupt_reason == 1 && fis->lbal == 1 && in sas_get_port_device() 77 fis->byte_count_low == 0x69 && fis->byte_count_high == 0x96 in sas_get_port_device() 78 && (fis->device & ~0x10) == 0) in sas_get_port_device()
|
H A D | sas_host_smp.c | 141 struct dev_to_host_fis *fis; in sas_report_phy_sata() local 155 fis = (struct dev_to_host_fis *) in sas_report_phy_sata() 165 /* check to see if we have a valid d2h fis */ in sas_report_phy_sata() 166 if (fis->fis_type != 0x34) in sas_report_phy_sata() 169 /* the d2h fis is required by the standard to be in LE format */ in sas_report_phy_sata()
|
/kernel/linux/linux-5.10/drivers/scsi/libsas/ |
H A D | sas_ata.c | 129 memcpy(dev->sata_dev.fis, resp->ending_fis, ATA_RESP_FIS_SIZE); in sas_ata_task_done() 132 qc->err_mask |= ac_err_mask(dev->sata_dev.fis[2]); in sas_ata_task_done() 134 link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.fis[2]); in sas_ata_task_done() 150 dev->sata_dev.fis[3] = 0x04; /* status err */ in sas_ata_task_done() 151 dev->sata_dev.fis[2] = ATA_ERR; in sas_ata_task_done() 199 ata_tf_to_fis(&qc->tf, qc->dev->link->pmp, 1, (u8 *)&task->ata_task.fis); 247 ata_tf_from_fis(dev->sata_dev.fis, &qc->result_tf); in sas_ata_qc_fill_rtf() 279 memcpy(dev->frame_rcvd, &dev->sata_dev.rps_resp.rps.fis, in sas_get_ata_info() 619 struct dev_to_host_fis *fis = in sas_get_ata_command_set() local 626 ata_tf_from_fis((const u8 *)fis, in sas_get_ata_command_set() [all...] |
H A D | sas_discover.c | 75 struct dev_to_host_fis *fis = in sas_get_port_device() local 77 if (fis->interrupt_reason == 1 && fis->lbal == 1 && in sas_get_port_device() 78 fis->byte_count_low==0x69 && fis->byte_count_high == 0x96 in sas_get_port_device() 79 && (fis->device & ~0x10) == 0) in sas_get_port_device()
|
H A D | sas_host_smp.c | 141 struct dev_to_host_fis *fis; in sas_report_phy_sata() local 155 fis = (struct dev_to_host_fis *) in sas_report_phy_sata() 165 /* check to see if we have a valid d2h fis */ in sas_report_phy_sata() 166 if (fis->fis_type != 0x34) in sas_report_phy_sata() 169 /* the d2h fis is required by the standard to be in LE format */ in sas_report_phy_sata()
|
/kernel/linux/linux-6.6/include/scsi/ |
H A D | sas_ata.h | 36 int sas_execute_ata_cmd(struct domain_device *device, u8 *fis, 103 static inline int sas_execute_ata_cmd(struct domain_device *device, u8 *fis, in sas_execute_ata_cmd() argument
|
/kernel/linux/linux-5.10/drivers/scsi/isci/ |
H A D | request.h | 67 * to wait for another fis or if the transfer is complete. Upon 68 * receipt of a d2h fis this will be the status field of that fis. 306 task->ata_task.fis.command == ATA_CMD_READ_LOG_EXT && in isci_task_is_ncq_recovery() 307 task->ata_task.fis.lbal == ATA_LOG_SATA_NCQ); in isci_task_is_ncq_recovery()
|
H A D | request.c | 660 * unsolicited h2d fis in sci_atapi_construct() 698 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_io_request_construct_sata() 1526 * first time after the pio setup fis is received in pio_data_out_tx_done_tc_event() 1535 * and wait for PIO_SETUP fis / or D2H REg fis. */ in pio_data_out_tx_done_tc_event() 1600 "%s ERROR: invalid fis type 0x%X\n", in process_unsolicited_fis() 1655 /* fill in the SCU Task Context for a DATA fis containing CDB in Raw Frame in scu_atapi_reconstruct_raw_frame_task_context() 1656 * type. The TC for previous Packet fis was already there, we only need to in scu_atapi_reconstruct_raw_frame_task_context() 1657 * change the H2D fis content. in scu_atapi_reconstruct_raw_frame_task_context() 2017 "with fis typ in sci_io_request_frame_handler() 2717 isci_process_stp_response(struct sas_task *task, struct dev_to_host_fis *fis) isci_process_stp_response() argument 3155 struct host_to_dev_fis *fis = &ireq->stp.cmd; isci_request_stp_request_construct() local [all...] |
/kernel/linux/linux-6.6/drivers/scsi/isci/ |
H A D | request.h | 67 * to wait for another fis or if the transfer is complete. Upon 68 * receipt of a d2h fis this will be the status field of that fis. 309 task->ata_task.fis.command == ATA_CMD_READ_LOG_EXT && in isci_task_is_ncq_recovery() 310 task->ata_task.fis.lbal == ATA_LOG_SATA_NCQ); in isci_task_is_ncq_recovery()
|
H A D | request.c | 655 * unsolicited h2d fis in sci_atapi_construct() 693 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_io_request_construct_sata() 1520 * first time after the pio setup fis is received in pio_data_out_tx_done_tc_event() 1529 * and wait for PIO_SETUP fis / or D2H REg fis. */ in pio_data_out_tx_done_tc_event() 1594 "%s ERROR: invalid fis type 0x%X\n", in process_unsolicited_fis() 1649 /* fill in the SCU Task Context for a DATA fis containing CDB in Raw Frame in scu_atapi_reconstruct_raw_frame_task_context() 1650 * type. The TC for previous Packet fis was already there, we only need to in scu_atapi_reconstruct_raw_frame_task_context() 1651 * change the H2D fis content. in scu_atapi_reconstruct_raw_frame_task_context() 2011 "with fis typ in sci_io_request_frame_handler() 2710 isci_process_stp_response(struct sas_task *task, struct dev_to_host_fis *fis) isci_process_stp_response() argument 3147 struct host_to_dev_fis *fis = &ireq->stp.cmd; isci_request_stp_request_construct() local [all...] |
/kernel/linux/linux-5.10/drivers/scsi/aic94xx/ |
H A D | aic94xx_task.c | 371 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb() 373 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ in asd_build_ata_ascb() 374 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ in asd_build_ata_ascb()
|
/kernel/linux/linux-6.6/drivers/scsi/aic94xx/ |
H A D | aic94xx_task.c | 370 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb() 372 scb->ata_task.fis.flags |= 0x80; /* C=1: update ATA cmd reg */ in asd_build_ata_ascb() 373 scb->ata_task.fis.flags &= 0xF0; /* PM_PORT field shall be 0 */ in asd_build_ata_ascb()
|
/kernel/linux/linux-5.10/drivers/scsi/hisi_sas/ |
H A D | hisi_sas_v3_hw.c | 481 #define FIS_CMD_IS_UNCONSTRAINED(fis) \ 482 ((fis.command == ATA_CMD_READ_LOG_EXT) || \ 483 (fis.command == ATA_CMD_READ_LOG_DMA_EXT) || \ 484 ((fis.command == ATA_CMD_DEV_RESET) && \ 485 ((fis.control & ATA_SRST) != 0))) 706 /* SATA initial fis */ in init_reg_v3_hw() 1397 if ((task->ata_task.fis.command == ATA_CMD_DEV_RESET) && in prep_ata_v3_hw() 1398 (task->ata_task.fis.control & ATA_SRST)) in prep_ata_v3_hw() 1402 &task->ata_task.fis, task->data_dir)) in prep_ata_v3_hw() 1406 if (FIS_CMD_IS_UNCONSTRAINED(task->ata_task.fis)) in prep_ata_v3_hw() 1499 struct dev_to_host_fis *fis; phy_up_v3_hw() local [all...] |
H A D | hisi_sas_main.c | 26 u8 hisi_sas_get_ata_protocol(struct host_to_dev_fis *fis, int direction) in hisi_sas_get_ata_protocol() argument 28 switch (fis->command) { in hisi_sas_get_ata_protocol() 81 switch (fis->features) { in hisi_sas_get_ata_protocol() 1215 memcpy(&task->ata_task.fis, parameter, para_len); in hisi_sas_exec_internal_tmf_task() 1311 bool reset, int pmp, u8 *fis) in hisi_sas_fill_ata_reset_cmd() 1321 ata_tf_to_fis(&tf, pmp, 0, fis); in hisi_sas_fill_ata_reset_cmd() 1326 u8 fis[20] = {0}; in hisi_sas_softreset_ata_disk() local 1337 hisi_sas_fill_ata_reset_cmd(link->device, 1, pmp, fis); in hisi_sas_softreset_ata_disk() 1338 rc = hisi_sas_exec_internal_tmf_task(device, fis, s, NULL); in hisi_sas_softreset_ata_disk() 1347 hisi_sas_fill_ata_reset_cmd(link->device, 0, pmp, fis); in hisi_sas_softreset_ata_disk() 1310 hisi_sas_fill_ata_reset_cmd(struct ata_device *dev, bool reset, int pmp, u8 *fis) hisi_sas_fill_ata_reset_cmd() argument 1475 u8 fis[20] = {0}; hisi_sas_send_ata_reset_each_phy() local [all...] |
/kernel/linux/linux-6.6/drivers/scsi/hisi_sas/ |
H A D | hisi_sas_main.c | 24 u8 hisi_sas_get_ata_protocol(struct host_to_dev_fis *fis, int direction) in hisi_sas_get_ata_protocol() argument 26 switch (fis->command) { in hisi_sas_get_ata_protocol() 79 switch (fis->features) { in hisi_sas_get_ata_protocol() 1291 bool reset, int pmp, u8 *fis) in hisi_sas_fill_ata_reset_cmd() 1301 ata_tf_to_fis(&tf, pmp, 0, fis); in hisi_sas_fill_ata_reset_cmd() 1306 u8 fis[20] = {0}; in hisi_sas_softreset_ata_disk() local 1316 hisi_sas_fill_ata_reset_cmd(link->device, 1, pmp, fis); in hisi_sas_softreset_ata_disk() 1317 rc = sas_execute_ata_cmd(device, fis, -1); in hisi_sas_softreset_ata_disk() 1326 hisi_sas_fill_ata_reset_cmd(link->device, 0, pmp, fis); in hisi_sas_softreset_ata_disk() 1327 rc = sas_execute_ata_cmd(device, fis, in hisi_sas_softreset_ata_disk() 1290 hisi_sas_fill_ata_reset_cmd(struct ata_device *dev, bool reset, int pmp, u8 *fis) hisi_sas_fill_ata_reset_cmd() argument 1441 u8 fis[20] = {0}; hisi_sas_send_ata_reset_each_phy() local [all...] |