Author: mav Date: Mon Nov 2 01:01:41 2020 New Revision: 367261 URL: https://svnweb.freebsd.org/changeset/base/367261
Log: Add icc (Isochronous Command Completion) ccb_ataio field. MFC after: 1 week Modified: head/sys/cam/cam_ccb.h head/sys/dev/ahci/ahci.c head/sys/dev/siis/siis.c Modified: head/sys/cam/cam_ccb.h ============================================================================== --- head/sys/cam/cam_ccb.h Mon Nov 2 00:45:40 2020 (r367260) +++ head/sys/cam/cam_ccb.h Mon Nov 2 01:01:41 2020 (r367261) @@ -786,6 +786,8 @@ struct ccb_ataio { u_int32_t resid; /* Transfer residual length: 2's comp */ u_int8_t ata_flags; /* Flags for the rest of the buffer */ #define ATA_FLAG_AUX 0x1 +#define ATA_FLAG_ICC 0x2 + uint8_t icc; /* Isochronous Command Completion */ uint32_t aux; uint32_t unused; }; Modified: head/sys/dev/ahci/ahci.c ============================================================================== --- head/sys/dev/ahci/ahci.c Mon Nov 2 00:45:40 2020 (r367260) +++ head/sys/dev/ahci/ahci.c Mon Nov 2 01:01:41 2020 (r367261) @@ -2584,15 +2584,17 @@ ahci_setup_fis(struct ahci_channel *ch, struct ahci_cm fis[12] |= tag << 3; } fis[13] = ccb->ataio.cmd.sector_count_exp; + if (ccb->ataio.ata_flags & ATA_FLAG_ICC) + fis[14] = ccb->ataio.icc; fis[15] = ATA_A_4BIT; + if (ccb->ataio.ata_flags & ATA_FLAG_AUX) { + fis[16] = ccb->ataio.aux & 0xff; + fis[17] = (ccb->ataio.aux >> 8) & 0xff; + fis[18] = (ccb->ataio.aux >> 16) & 0xff; + fis[19] = (ccb->ataio.aux >> 24) & 0xff; + } } else { fis[15] = ccb->ataio.cmd.control; - } - if (ccb->ataio.ata_flags & ATA_FLAG_AUX) { - fis[16] = ccb->ataio.aux & 0xff; - fis[17] = (ccb->ataio.aux >> 8) & 0xff; - fis[18] = (ccb->ataio.aux >> 16) & 0xff; - fis[19] = (ccb->ataio.aux >> 24) & 0xff; } return (20); } Modified: head/sys/dev/siis/siis.c ============================================================================== --- head/sys/dev/siis/siis.c Mon Nov 2 00:45:40 2020 (r367260) +++ head/sys/dev/siis/siis.c Mon Nov 2 01:01:41 2020 (r367261) @@ -1729,6 +1729,8 @@ siis_setup_fis(device_t dev, struct siis_cmd *ctp, uni fis[12] |= tag << 3; } fis[13] = ccb->ataio.cmd.sector_count_exp; + if (ccb->ataio.ata_flags & ATA_FLAG_ICC) + fis[14] = ccb->ataio.icc; fis[15] = ATA_A_4BIT; if (ccb->ataio.ata_flags & ATA_FLAG_AUX) { fis[16] = ccb->ataio.aux & 0xff; _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"