03c9df05c6
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 |
||
---|---|---|
.. | ||
aha_isapnp.c | ||
aic_isapnp.c | ||
atppc_isapnp.c | ||
com_isapnp.c | ||
devlist2h.awk | ||
ess_isapnp.c | ||
files.isapnp | ||
gus_isapnp.c | ||
i82365_isapnp.c | ||
if_an_isapnp.c | ||
if_cs_isapnp.c | ||
if_ep_isapnp.c | ||
if_fmv_isapnp.c | ||
if_le_isapnp.c | ||
if_ne_isapnp.c | ||
if_tr_isapnp.c | ||
isapnp.c | ||
isapnpdebug.c | ||
isapnpdevs | ||
isapnpdevs.c | ||
isapnpdevs.h | ||
isapnpreg.h | ||
isapnpres.c | ||
isapnpvar.h | ||
isic_isapnp_ctx_s0P.c | ||
isic_isapnp_drn_ngo.c | ||
isic_isapnp_dynalink.c | ||
isic_isapnp_elsa_qs1i.c | ||
isic_isapnp_itkix.c | ||
isic_isapnp_siemens_isurf.c | ||
isic_isapnp_sws.c | ||
isic_isapnp_tel_s0P.c | ||
isic_isapnp.c | ||
joy_isapnp.c | ||
Makefile.isapnpdevs | ||
mpu_isapnp.c | ||
sb_isapnp.c | ||
wdc_isapnp.c | ||
wss_isapnp.c | ||
ym_isapnp.c |