History log of /src/sys/dev/pci/iteide.c |
Revision | | Date | Author | Comments |
1.19 |
| 07-Oct-2013 |
jakllsch | Use the universal pciide_detach() for detach function of all remaining pciide-core drivers, except pciide at pnpbios which isn't actually PCI.
|
1.18 |
| 27-Oct-2012 |
chs | branches: 1.18.2; split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.17 |
| 31-Jul-2012 |
bouyer | branches: 1.17.2; Apply back changes that were reverted on Jul 24 and Jul 26 (general ata/wdc cleanup and SATA PMP support), now that I'm back to fix the fallouts.
|
1.16 |
| 26-Jul-2012 |
jakllsch | Revert, with intention of restoring in a less invasive way, the SATA Port Multiplier code.
ok christos@
|
1.15 |
| 24-Jul-2012 |
jakllsch | Revert dsl@'s changes of Sun, 15 Jul 2012 10:55:35 +0000 and Sun, 15 Jul 2012 10:56:50 +0000, excepting the kernel version bump. First step in reverting regressions to ata(4) subsystem during the addition of port multiplier support.
|
1.14 |
| 15-Jul-2012 |
dsl | Some namespace protection (and add greppablity). Prefix the DRIVE_ and DRIVET_ constants from atavar.h with ATA_. Don't use an enum for drive_type - you don't know how big it will be. Move driver_type to avoid implicit structure padding (esp on arm). This change is purely lexical and mechanical.
Update to 6.99.9 - this wasn't done when the SATA PMP changes were made - I'm sure they warranted a bump.
|
1.13 |
| 02-Jul-2012 |
bouyer | 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
|
1.12 |
| 04-Apr-2011 |
dyoung | branches: 1.12.4; Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9), pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match predicate passed to pciide_compat_intr_establish() should ever modify their pci_attach_args argument, so make their pci_attach_args arguments const and deal with the fallout throughout the kernel.
For the most part, these changes add a 'const' where there was no 'const' before, however, some drivers and MD code used to modify pci_attach_args. Now those drivers either copy their pci_attach_args and modify the copy, or refrain from modifying pci_attach_args:
Xen: according to Manuel Bouyer, writing to pci_attach_args in pci_intr_map() was a leftover from Xen 2. Probably a bug. I stopped writing it. I have not tested this change.
siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args. Probably a bug. I use a temporary variable. I have not tested this change.
slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args. Probably a bug. Use a local pci_attach_args. I have not tested this change.
viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the caller's pci_attach_args. Probably a bug. Make a local copy of the caller's pci_attach_args and modify the copy. I have not tested this change.
While I'm here, make pci_mapreg_submap() static.
With these changes in place, I have tested the compilation of these kernels:
alpha GENERIC amd64 GENERIC XEN3_DOM0 arc GENERIC atari HADES MILAN-PCIIDE bebox GENERIC cats GENERIC cobalt GENERIC evbarm-eb NSLU2 evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200 KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425 evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3 evbmips64-el XLSATX evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266 OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT hp700 GENERIC i386 ALL XEN3_DOM0 XEN3_DOMU ibmnws GENERIC macppc GENERIC mvmeppc GENERIC netwinder GENERIC ofppc GENERIC prep GENERIC sandpoint GENERIC sgimips GENERIC32_IP2x sparc GENERIC_SUN4U KRUPS sparc64 GENERIC
As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels with or without my patches in place:
### evbmips-el GDIUM
nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop
### evbarm-el MPCSA_GENERIC src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'
### ia64 GENERIC
/tmp/genassym.28085/assym.c: In function 'f111': /tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb' /tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type
### sgimips GENERIC32_IP3x
crmfb.o: In function `crmfb_attach': crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid' crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid' crmfb.c:(.text+0x234c): undefined reference to `edid_parse' crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse' crmfb.c:(.text+0x2354): undefined reference to `edid_print' crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
|
1.11 |
| 05-Nov-2010 |
jakllsch | branches: 1.11.2; Pave the way for detachment of pciide(4)-family ATA controllers.
|
1.10 |
| 10-Apr-2008 |
cegger | branches: 1.10.24; 1.10.26; use aprint_*_dev and device_xname
|
1.9 |
| 18-Mar-2008 |
cube | Split device_t and softc for ATA devices, as well as wd(4). Other cosmetic changes where appropriate.
|
1.8 |
| 09-Feb-2007 |
ad | branches: 1.8.20; 1.8.36; 1.8.40; Merge newlock2 to head.
|
1.7 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.6 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.5 |
| 30-Jun-2006 |
xtraeme | branches: 1.5.4; 1.5.6; Match IT8211 IDE Controller.
|
1.4 |
| 11-Dec-2005 |
christos | branches: 1.4.4; 1.4.8; 1.4.16; merge ktrace-lwp.
|
1.3 |
| 24-May-2005 |
lukem | branches: 1.3.2; add __KERNEL_RCSID
|
1.2 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.1 |
| 01-Dec-2004 |
grant | branches: 1.1.4; 1.1.6; 1.1.8; add iteide(4) driver for ITE8212-based IDE controllers. from OpenBSD, ported to NetBSD by me.
ok'd by bouyer@, thorpej@.
|
1.1.8.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.1.6.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.1.4.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.1.4.3 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.1.4.2 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
1.1.4.1 |
| 01-Dec-2004 |
skrll | file iteide.c was added on branch ktrace-lwp on 2004-12-18 09:32:08 +0000
|
1.3.2.3 |
| 24-Mar-2008 |
yamt | sync with head.
|
1.3.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.3.2.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.4.16.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.4.8.1 |
| 11-Aug-2006 |
yamt | sync with head
|
1.4.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.5.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.5.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.5.4.2 |
| 06-Feb-2007 |
ad | Quiten noisy boot messages.
|
1.5.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.8.40.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.8.40.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.8.36.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.8.20.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.10.26.2 |
| 21-Apr-2011 |
rmind | sync with head
|
1.10.26.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.10.24.1 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.11.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.12.4.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.12.4.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.17.2.3 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.17.2.2 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.17.2.1 |
| 09-Oct-2012 |
bouyer | Support transfers of up to MACHINE_MAXPHYS in all pciide variants, and ahci. wd(4) limits its maxphys depending on the drives's capability (64k sectors for LBA48, 256 sectors for LBA and 128 sectors for older devices).
I assumed all pciide controllers could do MACHINE_MAXPHYS transfers, but this may not be true. The capabilities of each controller variants should be looked at more closely.
|
1.18.2.1 |
| 18-May-2014 |
rmind | sync with head
|