Up to [cvs.NetBSD.org] / src / sys / dev / ic
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.24 / (download) - annotate - [select for diffs], Wed Apr 3 17:15:07 2013 UTC (7 weeks, 2 days ago) by bouyer
Branch: MAIN
CVS Tags: khorben-n900,
HEAD
Changes since 1.23: +4 -4
lines
Diff to previous 1.23 (colored)
Fix kernel dump on ahci controller, by making sure we won't sleep while dumping: - introduce ata_delay() which either use delay() or kpause() depending on flags. use it in sata_reset_interface() and some ahci functions - kill ATA_NOSLEEP, it was tested but never set. use ATA_POLL instead. - reduce delay while polling in ahci, to speed up the dump Should fix PR kern/41095
Revision 1.23 / (download) - annotate - [select for diffs], Mon Oct 22 16:43:05 2012 UTC (7 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
tls-maxphys-nbase,
tls-maxphys-base,
agc-symver-base,
agc-symver
Changes since 1.22: +24 -2
lines
Diff to previous 1.22 (colored)
Work around missing __BUS_SPACE_HAS_STREAM_METHODS on some ports.
Revision 1.22 / (download) - annotate - [select for diffs], Tue Jul 31 15:50:34 2012 UTC (9 months, 3 weeks ago) by bouyer
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.21: +84 -80
lines
Diff to previous 1.21 (colored)
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.
Revision 1.21 / (download) - annotate - [select for diffs], Thu Jul 26 20:49:48 2012 UTC (9 months, 4 weeks ago) by jakllsch
Branch: MAIN
Changes since 1.20: +74 -78
lines
Diff to previous 1.20 (colored)
Revert, with intention of restoring in a less invasive way, the SATA Port Multiplier code. ok christos@
Revision 1.20 / (download) - annotate - [select for diffs], Tue Jul 24 14:04:30 2012 UTC (10 months ago) by jakllsch
Branch: MAIN
Changes since 1.19: +9 -9
lines
Diff to previous 1.19 (colored)
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.
Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 15 10:55:30 2012 UTC (10 months, 1 week ago) by dsl
Branch: MAIN
Changes since 1.18: +11 -11
lines
Diff to previous 1.18 (colored)
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.
Revision 1.18 / (download) - annotate - [select for diffs], Mon Jul 2 18:15:47 2012 UTC (10 months, 3 weeks ago) by bouyer
Branch: MAIN
Changes since 1.17: +78 -74
lines
Diff to previous 1.17 (colored)
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
Revision 1.17 / (download) - annotate - [select for diffs], Tue May 15 19:06:26 2012 UTC (12 months, 1 week ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
jmcneill-usbmp-base10
Changes since 1.16: +74 -27
lines
Diff to previous 1.16 (colored)
Gather disable/enable interruptst at the Port Interrupt Enable level in 2 functions, and use them to disable interrupts for polled commands. In siisata_probe_drive(), disable interrupt while resetting the PHY and sending the SOFT_RESET FIS. Also dectect timeout/errors at this level and disable the port if needed. Make siisata_intr_port() more resistent to interrupts without xfer (especially error interrupts which can be asynchrounous, but can also happen for timed out xfer). With this, the kernel doesn't pannic when a siisata controller is connected to a SATA port multiplier. More work is needed to support port multiplier though.
Revision 1.16 / (download) - annotate - [select for diffs], Fri Apr 20 20:23:20 2012 UTC (13 months ago) by bouyer
Branch: MAIN
CVS Tags: jmcneill-usbmp-base9
Changes since 1.15: +4 -3
lines
Diff to previous 1.15 (colored)
Add a bustype_async_event_xfer_mode() callback to scsipi_bustype (which can be NULL), so that transport-specific details of transfer mode setting/printing can be handled more easily. Move scsipi_async_event_xfer_mode() and scsipi_print_xfer_mode() to scsi_base.c and split in parallel scsi and FC/SAS parts. size of struct scsipi_bustype has changed, welcome to 6.99.5
Revision 1.15 / (download) - annotate - [select for diffs], Tue Sep 27 01:02:38 2011 UTC (19 months, 4 weeks ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base4,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3
Branch point for: yamt-pagecache,
jmcneill-usbmp
Changes since 1.14: +5 -5
lines
Diff to previous 1.14 (colored)
Modify *ASSERTMSG() so they are now used as variadic macros. The main goal is to provide routines that do as KASSERT(9) says: append a message to the panic format string when the assertion triggers, with optional arguments. Fix call sites to reflect the new definition. Discussed on tech-kern@. See http://mail-index.netbsd.org/tech-kern/2011/09/07/msg011427.html
Revision 1.14 / (download) - annotate - [select for diffs], Sun Feb 13 01:21:52 2011 UTC (2 years, 3 months ago) by jakllsch
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase,
rmind-uvmplock-base,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base
Changes since 1.13: +3 -2
lines
Diff to previous 1.13 (colored)
Treat unexpected command completions a little more like regular completions. Slight chance this might prevent some occasional log spew trouble at shutdown time.
Revision 1.13 / (download) - annotate - [select for diffs], Sat Nov 13 09:00:00 2010 UTC (2 years, 6 months ago) by uebayasi
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231,
jruoho-x86intr-base
Branch point for: jruoho-x86intr,
bouyer-quota2
Changes since 1.12: +3 -4
lines
Diff to previous 1.12 (colored)
Include sys/proc.h for tsleep, wakeup.
Revision 1.12 / (download) - annotate - [select for diffs], Mon Jul 26 15:41:33 2010 UTC (2 years, 9 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2
Changes since 1.11: +17 -16
lines
Diff to previous 1.11 (colored)
Store information for bus_dmamem_unmap() and bus_dmamem_free() somewhere outside the bus_dmamap_t. The bus_dmamap_t has already been destroyed by this time. Fixes DMA memory leak at siisata_detach() time.
Revision 1.11 / (download) - annotate - [select for diffs], Sun Apr 25 15:39:41 2010 UTC (3 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.10: +4 -4
lines
Diff to previous 1.10 (colored)
Fix KASSERTMSG() to be consistent with KASSERT() logic, not inverted. Hi matt@!
Revision 1.10 / (download) - annotate - [select for diffs], Wed Apr 7 17:51:16 2010 UTC (3 years, 1 month ago) by jakllsch
Branch: MAIN
Changes since 1.9: +27 -30
lines
Diff to previous 1.9 (colored)
satafis: - Add function to parse RDH FIS for use in implementing AT_READREG. - Correct and clean up some structure definitions. - Sprinkle a bit of const. - Remove dependency on <dev/ic/wdcreg.h>, WDCTL_4BIT doesn't seem to be specified by any recent ATA standard, and it seems to make no difference in practice. - Stop using WDSD_IBM, these bits have been obsolete since before SATA. siisata: - Implement AT_READREG. - Reap now-unneeded <dev/ic/wdcreg.h>. - Whitespace and slight debug code cleanup. - Some possibly-uncessary code reordering. ahcisata: - Implement AT_READREG. - Reap now-unneeded <dev/ic/wdcreg.h>.
Revision 1.9 / (download) - annotate - [select for diffs], Sat Jan 30 16:16:35 2010 UTC (3 years, 3 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base
Branch point for: uebayasi-xip,
rmind-uvmplock
Changes since 1.8: +5 -3
lines
Diff to previous 1.8 (colored)
Sprinkle __KERNEL_RCSID() into siisata(4). Slightly adjust some comment styling.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:13 2009 UTC (3 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: matt-premerge-20091211,
jym-xensuspend-nbase
Changes since 1.7: +1 -11
lines
Diff to previous 1.7 (colored)
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
Revision 1.7 / (download) - annotate - [select for diffs], Sat Jul 4 20:57:15 2009 UTC (3 years, 10 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
jymxensuspend-base
Changes since 1.6: +13 -4
lines
Diff to previous 1.6 (colored)
Further corrections for siisata. Reset ch_status and ch_error at the beginning of any operation. The chip only writes the RDH FIS to the SRAM when the error bit is set in a RDH FIS (per the datasheet). Thus, satafis_sdb_parse() is replaced with satafis_rhd_parse(). A valid FIS type field seems to not be written to the SRAM, so don't bother checking it for the correct magic. Additionally, append 2009 to copyright year set, and remove obsolete CVS Id lines from when this was in my repository.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Jun 27 21:04:47 2009 UTC (3 years, 10 months ago) by jakllsch
Branch: MAIN
Changes since 1.5: +29 -60
lines
Diff to previous 1.5 (colored)
Correct various siisata bugs, some old, some new. - Move clearing of interrupts to before atastart() is called in the xfer interrupt handler. Should fix kern/41579. - Using cv_timedwait(9) is not possible in code that can be called from interrupt context, fall back to DELAY(9). - Correctly poll Port Slot Status register for soft reset PRBs. - Only use the Recive Transfer Count register on reads, when it is valid. - Activate PRBs in a way that takes the whole physical address into account, even when the PRB is beyond 4GiB. - consistently use DELAY(9) - Use DELAY() constants in completion polling loops that are consistent with the loop count limit. (i.e. timeout in 10 rather than 100 seconds)
Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 21 14:15:38 2009 UTC (3 years, 11 months ago) by jakllsch
Branch: MAIN
Changes since 1.4: +12 -12
lines
Diff to previous 1.4 (colored)
Use PRO_PS and PRO_PCS correctly. From Wolfgang Stukenbrock as part of kern/41579. While here, remove a line of whitespace, and add an else case to the ATAPI command length toggle.
Revision 1.4 / (download) - annotate - [select for diffs], Wed Jun 17 19:12:48 2009 UTC (3 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5
Changes since 1.3: +4 -2
lines
Diff to previous 1.3 (colored)
make this build w/o SIISATA_DEBUG
Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 17 04:37:57 2009 UTC (3 years, 11 months ago) by jakllsch
Branch: MAIN
Changes since 1.2: +215 -313
lines
Diff to previous 1.2 (colored)
A few changes for siisata(4): - Support detachment. From KIYOHARA Takashi. - Add PCI detachment functionality (albeit not very interesting when the bus can not yet be rescanned). - Rework interrupt handlers to reduce near-duplicate code. Borrowed from ahcisata(4). - Attempt to make polled I/O work. Untested. - Fix formatting of some messages. - For always-polled commands, disable interrupt at slot level rather than port level. - Instead of busy-waiting indefinitely for completion of some commands move on after 31 seconds. Use cv_timedwait(9) instead of DELAY(9). - Use abstracted SATA FIS code. - Enable use of disks that don't respond with the standard signature.
Revision 1.2 / (download) - annotate - [select for diffs], Sun Sep 14 21:53:49 2008 UTC (4 years, 8 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
nick-hppapmap,
netbsd-5-base,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
mjf-devfs2-base,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20091211,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-base2,
jym-xensuspend-base,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
ad-audiomp2-base,
ad-audiomp2
Branch point for: yamt-nfs-mp,
netbsd-5,
matt-nb5-mips64,
jym-xensuspend
Changes since 1.1: +114 -116
lines
Diff to previous 1.1 (colored)
A few cleanups for siisata(4) No functional changes intended (except maybe un-reseting the chip a bit later in attach). - pass fewer arguments to local functions where arguments can be derived from an existing argument - some coding style fixes - more abstraction for PRB activation and deactivation - bus_dma(9) properification in error cases - undefine SIISATA_DEBUG, and cleanup variables used only for DEBUG_PRINT()s
Revision 1.1 / (download) - annotate - [select for diffs], Fri May 23 21:11:40 2008 UTC (5 years ago) by jnemeth
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
simonb-wapbl
Branch point for: yamt-pf42,
wrstuden-revivesa,
mjf-devfs2,
haad-dm
Import siisata(4) by Jonathan A. Kollasch.
The siisata driver supports the Silicon Image SteelVine family of SATA-II
controllers, interfacing the hardware with the ata(4) and atapi(4) sub-
systems.
The following controllers are supported by the siisata driver:
Silicon Image SiI3124 4-port PCI/PCI-X
Silicon Image SiI3132 2-port PCI-Express x1
Silicon Image SiI3531 1-port PCI-Express x1
SATA Native Command Queueing is not yet supported.
Device hot swapping is not yet supported.
Silicon Image's Software RAID is not yet supported by the
ataraid(4) driver.
Approved by: core (christos), releng (bouyer)