Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   jdolecek
Date:           Sat Oct  7 16:05:33 UTC 2017

Modified Files:
        src/sys/arch/acorn32/eb7500atx: rside.c
        src/sys/arch/acorn32/mainbus: wdc_pioc.c
        src/sys/arch/acorn32/podulebus: icside.c rapide.c simide.c
        src/sys/arch/amiga/dev: efa.c efavar.h wdc_acafh.c wdc_amiga.c
            wdc_buddha.c wdc_xsurf.c
        src/sys/arch/arm/allwinner: awin_wdc.c
        src/sys/arch/atari/dev: atari5380.c dma.c fd.c wdc_mb.c
        src/sys/arch/atari/include: dma.h
        src/sys/arch/i386/pnpbios: pciide_pnpbios.c
        src/sys/arch/landisk/dev: wdc_obio.c
        src/sys/arch/mac68k/obio: wdc_obio.c
        src/sys/arch/macppc/dev: kauai.c wdc_obio.c
        src/sys/arch/mips/adm5120/dev: wdc_extio.c
        src/sys/arch/playstation2/dev: wdc_spd.c
        src/sys/arch/prep/pnpbus: wdc_pnpbus.c
        src/sys/dev/ata: ata.c ata_wdc.c atareg.h atavar.h files.ata
            sata_subr.c satafis_subr.c satafisvar.h satapmp_subr.c satapmpvar.h
            wd.c wdvar.h
        src/sys/dev/ic: ahcisata_core.c ahcisatareg.h ahcisatavar.h mvsata.c
            mvsatareg.h mvsatavar.h ninjaata32.c ninjaata32var.h siisata.c
            siisatareg.h siisatavar.h wdc.c wdcvar.h
        src/sys/dev/isa: wdc_isa.c
        src/sys/dev/pci: acardide.c artsata.c cmdide.c cypide.c pciide_common.c
            pdcsata.c satalink.c svwsata.c viaide.c
        src/sys/dev/pcmcia: wdc_pcmcia.c
        src/sys/dev/scsipi: atapi_wdc.c
        src/sys/dev/usb: umass.c umass_isdata.c umass_isdata.h
Added Files:
        src/sys/dev/ata: TODO.ncq

Log Message:
Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branch

ATA subsystem was changed to support several outstanding commands, and use
NCQ xfers if supported by both the controller and the disk, including NCQ
error recovery. Set NCQ high priority for BPRIO_TIMECRITICAL xfers
if supported. Added FUA support.

Done some work towards MP-safe, all ATA code tsleep()/wakeup() replaced
by condvars, and switched most code from spl* to mutexes (separate
wd(4) and ata channel lock).

Introduced new option WD_CHAOS_MONKEY to facilitate testing of error
handling, fixed several uncovered issues. Also fixed several problems
with kernel dump to wd(4) disk.

Tested with ahcisata(4), mvsata(4), siisata(4), piixide(4) on amd64,
with and without port multiplier, both disk and ATAPI devices; other
drivers and archs mechanically adjusted and compile-tested. NCQ is
supported for ahcisata(4) and siisata(4) for any controller, for
mvsata(4) only Gen IIe ones for now. Also enabled ATAPI support in
mvsata(4).

Thanks to Matt Thomas for initial ATA infrastructure patch, and
Jonathan A.Kollasch for siisata(4) NCQ changes and general testing.

Also fixes PR kern/43169 (wd(4)); and PR kern/11811, PR kern/47041,
PR kern/51979 (kernel dump)


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/acorn32/eb7500atx/rside.c
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/acorn32/mainbus/wdc_pioc.c
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/acorn32/podulebus/icside.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/acorn32/podulebus/rapide.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/acorn32/podulebus/simide.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/amiga/dev/efa.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amiga/dev/efavar.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amiga/dev/wdc_acafh.c \
    src/sys/arch/amiga/dev/wdc_xsurf.c
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/amiga/dev/wdc_amiga.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/amiga/dev/wdc_buddha.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/allwinner/awin_wdc.c
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/atari/dev/atari5380.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/atari/dev/dma.c
cvs rdiff -u -r1.84 -r1.85 src/sys/arch/atari/dev/fd.c
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/atari/dev/wdc_mb.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/atari/include/dma.h
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/i386/pnpbios/pciide_pnpbios.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/landisk/dev/wdc_obio.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/mac68k/obio/wdc_obio.c
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/macppc/dev/kauai.c
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/macppc/dev/wdc_obio.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/mips/adm5120/dev/wdc_extio.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/playstation2/dev/wdc_spd.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/prep/pnpbus/wdc_pnpbus.c
cvs rdiff -u -r0 -r1.2 src/sys/dev/ata/TODO.ncq
cvs rdiff -u -r1.132 -r1.133 src/sys/dev/ata/ata.c
cvs rdiff -u -r1.105 -r1.106 src/sys/dev/ata/ata_wdc.c
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/ata/atareg.h src/sys/dev/ata/wdvar.h
cvs rdiff -u -r1.92 -r1.93 src/sys/dev/ata/atavar.h
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/ata/files.ata
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/ata/sata_subr.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/ata/satafis_subr.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ata/satafisvar.h \
    src/sys/dev/ata/satapmpvar.h
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ata/satapmp_subr.c
cvs rdiff -u -r1.429 -r1.430 src/sys/dev/ata/wd.c
cvs rdiff -u -r1.57 -r1.58 src/sys/dev/ic/ahcisata_core.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ic/ahcisatareg.h
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/ic/ahcisatavar.h
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/ic/mvsata.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ic/mvsatareg.h
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/mvsatavar.h
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/ic/ninjaata32.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ic/ninjaata32var.h
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/ic/siisata.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/ic/siisatareg.h
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/ic/siisatavar.h
cvs rdiff -u -r1.283 -r1.284 src/sys/dev/ic/wdc.c
cvs rdiff -u -r1.97 -r1.98 src/sys/dev/ic/wdcvar.h
cvs rdiff -u -r1.59 -r1.60 src/sys/dev/isa/wdc_isa.c
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/pci/acardide.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/pci/artsata.c
cvs rdiff -u -r1.38 -r1.39 src/sys/dev/pci/cmdide.c
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/pci/cypide.c
cvs rdiff -u -r1.62 -r1.63 src/sys/dev/pci/pciide_common.c
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/pci/pdcsata.c
cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/satalink.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/svwsata.c
cvs rdiff -u -r1.84 -r1.85 src/sys/dev/pci/viaide.c
cvs rdiff -u -r1.124 -r1.125 src/sys/dev/pcmcia/wdc_pcmcia.c
cvs rdiff -u -r1.123 -r1.124 src/sys/dev/scsipi/atapi_wdc.c
cvs rdiff -u -r1.158 -r1.159 src/sys/dev/usb/umass.c
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/usb/umass_isdata.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/usb/umass_isdata.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index