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:   bouyer
Date:           Mon Jul  2 18:15:48 UTC 2012

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 wdc_amiga.c wdc_buddha.c
        src/sys/arch/arm/gemini: obio_wdc.c
        src/sys/arch/atari/dev: wdc_mb.c
        src/sys/arch/evbarm/iq31244: wdc_obio.c
        src/sys/arch/evbarm/tsarm: wdc_ts.c
        src/sys/arch/evbppc/mpc85xx: wdc_obio.c
        src/sys/arch/i386/pci: gcscide.c
        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/mmeye/dev: wdc_mainbus.c
        src/sys/arch/prep/pnpbus: wdc_pnpbus.c
        src/sys/conf: files
        src/sys/dev/ata: ata.c ata_wdc.c atavar.h files.ata sata_subr.c
            satapmpreg.h satavar.h wd.c
        src/sys/dev/ic: ahcisata_core.c ahcisatavar.h mvsata.c ninjaata32.c
            siisata.c wdc.c wdc_upc.c wdcvar.h
        src/sys/dev/isa: wdc_isa.c
        src/sys/dev/isapnp: wdc_isapnp.c
        src/sys/dev/ofisa: wdc_ofisa.c
        src/sys/dev/pci: acardide.c aceride.c artsata.c cmdide.c cypide.c
            geodeide.c hptide.c iteide.c ixpide.c jmide.c nside.c optiide.c
            pciide_common.c pciidevar.h pdcide.c pdcsata.c piixide.c rccide.c
            rdcide.c satalink.c schide.c siside.c slide.c stpcide.c svwsata.c
            toshide.c viaide.c
        src/sys/dev/pcmcia: wdc_pcmcia.c
        src/sys/dev/podulebus: dtide.c hcide.c
        src/sys/dev/scsipi: atapi_wdc.c
        src/sys/dev/usb: umass_isdata.c
Added Files:
        src/sys/dev/ata: satapmp_subr.c satapmpvar.h

Log Message:
Add sata Port MultiPlier (PMP) support to the ata bus layer,
as described in
http://mail-index.netbsd.org/tech-kern/2012/06/23/msg013442.html
PMP support in integrated to the atabus layer.
struct ata_channel's ch_drive[] is not dynamically allocated, and ch_ndrive
(renamed to ch_ndrives) closely reflects the size of the ch_drive[] array.
Add helper functions atabus_alloc_drives() and atabus_free_drives()
to manage ch_drive[]/ch_ndrives.
Add wdc_maxdrives to struct wdc_softc so that bus front-end can specify
how much drive they really support (master/slave or single).
ata_reset_drive() callback gains a uint32_t *sigp argument which,
when not NULL, will contain the signature of the device being reset.
While there, some cosmetic changes:
- added a drive_type enum to ata_drive_datas, and stop encoding the
  probed drive type in drive_flags (we were out of drive flags anyway).
- rename DRIVE_ATAPIST to DRIVE_ATAPIDSCW to better reflect what this
  really is
- remove ata_channel->ata_drives, it's redundant with the pointer in
  ata_drive_datas
- factor out the interpretation of SATA signatures in sata_interpet_sig()

propagate these changes to the ATA HBA drivers, and add support for PMP
to ahcisata(4) and siisata(4).

Thanks to:
- Protocase (http://www.protocase.com/) which provided a system
  with lots of controllers, SATA PMP and drive slots
- Conservation Genomics Laboratory, Department of Biology, New Mexico State
  University for hosting the above system
- Brook Milligan, who set up remote access and has been very responsive
  when SATA cable move was needed


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/acorn32/eb7500atx/rside.c
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/acorn32/mainbus/wdc_pioc.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/acorn32/podulebus/icside.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/acorn32/podulebus/rapide.c
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/acorn32/podulebus/simide.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/amiga/dev/efa.c \
    src/sys/arch/amiga/dev/wdc_buddha.c
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/amiga/dev/wdc_amiga.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/gemini/obio_wdc.c
cvs rdiff -u -r1.35 -r1.36 src/sys/arch/atari/dev/wdc_mb.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/evbarm/iq31244/wdc_obio.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/evbarm/tsarm/wdc_ts.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbppc/mpc85xx/wdc_obio.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/i386/pci/gcscide.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/i386/pnpbios/pciide_pnpbios.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/landisk/dev/wdc_obio.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/mac68k/obio/wdc_obio.c
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/macppc/dev/kauai.c
cvs rdiff -u -r1.53 -r1.54 src/sys/arch/macppc/dev/wdc_obio.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/mips/adm5120/dev/wdc_extio.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/mmeye/dev/wdc_mainbus.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/prep/pnpbus/wdc_pnpbus.c
cvs rdiff -u -r1.1050 -r1.1051 src/sys/conf/files
cvs rdiff -u -r1.116 -r1.117 src/sys/dev/ata/ata.c
cvs rdiff -u -r1.96 -r1.97 src/sys/dev/ata/ata_wdc.c
cvs rdiff -u -r1.84 -r1.85 src/sys/dev/ata/atavar.h
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/ata/files.ata
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/ata/sata_subr.c
cvs rdiff -u -r0 -r1.1 src/sys/dev/ata/satapmp_subr.c \
    src/sys/dev/ata/satapmpvar.h
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ata/satapmpreg.h
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/ata/satavar.h
cvs rdiff -u -r1.393 -r1.394 src/sys/dev/ata/wd.c
cvs rdiff -u -r1.34 -r1.35 src/sys/dev/ic/ahcisata_core.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/ic/ahcisatavar.h
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/ic/mvsata.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ic/ninjaata32.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/ic/siisata.c
cvs rdiff -u -r1.268 -r1.269 src/sys/dev/ic/wdc.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/ic/wdc_upc.c
cvs rdiff -u -r1.92 -r1.93 src/sys/dev/ic/wdcvar.h
cvs rdiff -u -r1.56 -r1.57 src/sys/dev/isa/wdc_isa.c
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/isapnp/wdc_isapnp.c
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/ofisa/wdc_ofisa.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/pci/acardide.c
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/pci/aceride.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/artsata.c src/sys/dev/pci/rccide.c \
    src/sys/dev/pci/stpcide.c
cvs rdiff -u -r1.32 -r1.33 src/sys/dev/pci/cmdide.c
cvs rdiff -u -r1.24 -r1.25 src/sys/dev/pci/cypide.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/geodeide.c \
    src/sys/dev/pci/ixpide.c src/sys/dev/pci/optiide.c
cvs rdiff -u -r1.28 -r1.29 src/sys/dev/pci/hptide.c src/sys/dev/pci/siside.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/pci/iteide.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/pci/jmide.c src/sys/dev/pci/svwsata.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/pci/nside.c src/sys/dev/pci/rdcide.c \
    src/sys/dev/pci/schide.c
cvs rdiff -u -r1.52 -r1.53 src/sys/dev/pci/pciide_common.c
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/pci/pciidevar.h \
    src/sys/dev/pci/satalink.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/pci/pdcide.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/pci/pdcsata.c
cvs rdiff -u -r1.58 -r1.59 src/sys/dev/pci/piixide.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/pci/slide.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/toshide.c
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/pci/viaide.c
cvs rdiff -u -r1.117 -r1.118 src/sys/dev/pcmcia/wdc_pcmcia.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/podulebus/dtide.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/podulebus/hcide.c
cvs rdiff -u -r1.113 -r1.114 src/sys/dev/scsipi/atapi_wdc.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/usb/umass_isdata.c

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