Up to [cvs.NetBSD.org] / src / sys / dev / ata
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.113.4.1 / (download) - annotate - [select for diffs], Fri Dec 30 14:39:10 2022 UTC (4 months, 4 weeks ago) by martin
Branch: netbsd-9
Changes since 1.113: +12 -10
lines
Diff to previous 1.113 (colored) next main 1.114 (colored)
Pull up following revision(s) (requested by tsutsui in ticket #1557): sys/dev/ic/ahcisata_core.c: revision 1.83 sys/dev/ic/ahcisata_core.c: revision 1.102 sys/dev/ata/ata.c: revision 1.164 sys/dev/ata/ata_wdc.c: revision 1.115 sys/dev/ata/ata_recovery.c: revision 1.4 sys/dev/ic/siisata.c: revision 1.42 sys/dev/ic/wdc.c: revision 1.308 sys/dev/ic/mvsata.c: revision 1.56 sys/dev/scsipi/atapi_wdc.c: revision 1.138 sys/dev/ic/siisata.c: revision 1.49 sys/dev/ata/atavar.h: revision 1.105 sys/dev/ata/wd.c: revision 1.460 sys/dev/ata/ata.c: revision 1.155 sys/dev/ata/wd.c: revision 1.462 sys/dev/ata/atavar.h: revision 1.109 sys/dev/ata/satapmp_subr.c: revision 1.16 sys/dev/ic/wdc.c: revision 1.299 sys/dev/ic/ahcisata_core.c: revision 1.93 sys/dev/ata/ata_wdc.c: revision 1.120 sys/dev/ic/wdcvar.h: revision 1.100 sys/dev/scsipi/atapi_wdc.c: revision 1.141 sys/dev/ic/mvsata.c: revision 1.61 sys/dev/usb/umass_isdata.c (apply patch) drop wd lock in wdstart1() before calling the ata_bio hook; when called from ata thread context, that can still need to sleep for wdc attachments in wdcwait() fix use-after-free for ata xfer on bio submission found by KASAN driver ata_bio hooks read parts of the xfer after ata_exec_xfer() call in order to determine return value, change so that the hook doesn't return any value - callers do not care already, as all I/O requests are asynchronous this problem was uncovered by recent change for wd(4) to not hold wd mutex during ata_bio call, the interrupt for the xfer might thus actually fire immediately adjust also ata_exec_command driver hooks similarily - remove all completion and waiting logic from drivers, upper layer ata code using AT_WAIT/AT_POLL changed to call ata_wait_cmd() itself PR kern/55169 by Nick Hudson Function declaration formating whitespace consistency. NFCI. PR kern/56403 Fix kernel freeze for wdc(4) variants with ATAC_CAP_NOIRQ: (1) Change ata_xfer_ops:c_poll from void to int function. When it returns ATAPOLL_AGAIN, let ata_xfer_start() iterate itself again. (2) Let wdc_ata_bio_poll() return ATAPOLL_AGAIN until ATA_ITSDONE is achieved. A similar change has been made for mvsata(4) (see mvsata_bio_poll()), and no functional changes for other devices. This is how the drivers worked before jdolecek-ncq branch was merged. Note that this changes are less likely to cause infinite recursion: (1) wdc_ata_bio_intr() called from wdc_ata_bio_poll() asserts ATA_ITSDONE in its error handling paths via wdc_ata_bio_done(). (2) Return value from c_start (= wdc_ata_bio_start()) is checked in ata_xfer_start(). Therefore, errors encountered in ata_xfer_ops:c_poll and c_start routines terminate the recursion for wdc(4). The situation is similar for mvsata(4). Still, there is a possibility where ata_xfer_start() takes long time to finish a normal operation. This can result in a delayed response for lower priority interrupts. But, I've never observed such a situation, even when heavy thrashing takes place for swap partition in wd(4). "Go ahead" by jdolecek@.
Revision 1.120 / (download) - annotate - [select for diffs], Tue Oct 5 08:01:05 2021 UTC (19 months, 3 weeks ago) by rin
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm,
HEAD
Changes since 1.119: +9 -5
lines
Diff to previous 1.119 (colored)
PR kern/56403 Fix kernel freeze for wdc(4) variants with ATAC_CAP_NOIRQ: (1) Change ata_xfer_ops:c_poll from void to int function. When it returns ATAPOLL_AGAIN, let ata_xfer_start() iterate itself again. (2) Let wdc_ata_bio_poll() return ATAPOLL_AGAIN until ATA_ITSDONE is achieved. A similar change has been made for mvsata(4) (see mvsata_bio_poll()), and no functional changes for other devices. This is how the drivers worked before jdolecek-ncq branch was merged. Note that this changes are less likely to cause infinite recursion: (1) wdc_ata_bio_intr() called from wdc_ata_bio_poll() asserts ATA_ITSDONE in its error handling paths via wdc_ata_bio_done(). (2) Return value from c_start (= wdc_ata_bio_start()) is checked in ata_xfer_start(). Therefore, errors encountered in ata_xfer_ops:c_poll and c_start routines terminate the recursion for wdc(4). The situation is similar for mvsata(4). Still, there is a possibility where ata_xfer_start() takes long time to finish a normal operation. This can result in a delayed response for lower priority interrupts. But, I've never observed such a situation, even when heavy thrashing takes place for swap partition in wd(4). "Go ahead" by jdolecek@.
Revision 1.118.2.1 / (download) - annotate - [select for diffs], Sun Jan 3 16:34:57 2021 UTC (2 years, 4 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.118: +12 -12
lines
Diff to previous 1.118 (colored) next main 1.119 (colored)
Sync w/ HEAD.
Revision 1.119 / (download) - annotate - [select for diffs], Fri Dec 25 08:55:40 2020 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-i2c-spi-conf,
thorpej-futex2-base,
thorpej-futex2,
thorpej-futex-base,
thorpej-cfargs2-base,
thorpej-cfargs2,
thorpej-cfargs-base,
thorpej-cfargs,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Changes since 1.118: +12 -12
lines
Diff to previous 1.118 (colored)
Use designated initializers for struct ata_bustype
Revision 1.118 / (download) - annotate - [select for diffs], Thu May 21 09:11:33 2020 UTC (3 years ago) by jdolecek
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.117: +4 -2
lines
Diff to previous 1.117 (colored)
stop timeout handler while scheduling another part of partial I/O, to avoid race between the timeout and I/O submission; the I/O submission can sleep with xfer while waiting for the controller to be ready once it gets to thread context, and timeout might cause the xfer to be freed, leading to crashes due to use-after-free this fixes another type of crashes with slow devices under QEMU reported by Paul Ripke - thanks a lot with extensive debugging help
Revision 1.117 / (download) - annotate - [select for diffs], Tue May 19 08:08:51 2020 UTC (3 years ago) by jdolecek
Branch: MAIN
Changes since 1.116: +6 -11
lines
Diff to previous 1.116 (colored)
only start the timeout machinery once the I/O is completely setup and successful, particularly after PIO write is finished fixes crashes in case the setup is so slow that timeout is triggered e.g. while still waiting in wdc_wait_for_unbusy() or shortly after, without drive actually having chance to complete the I/O, as seen in some configuration under QEMU by Paul Ripke
Revision 1.116 / (download) - annotate - [select for diffs], Fri May 15 16:58:28 2020 UTC (3 years ago) by jdolecek
Branch: MAIN
Changes since 1.115: +4 -4
lines
Diff to previous 1.115 (colored)
whitespace (bad indent)
Revision 1.110.2.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:15 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.110.2.2: +3 -5
lines
Diff to previous 1.110.2.2 (colored) to branchpoint 1.110 (colored) next main 1.111 (colored)
Sync with HEAD
Revision 1.114.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:03 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.114: +5 -7
lines
Diff to previous 1.114 (colored) next main 1.115 (colored)
Sync with HEAD
Revision 1.115 / (download) - annotate - [select for diffs], Mon Apr 13 10:49:34 2020 UTC (3 years, 1 month ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200421,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1
Changes since 1.114: +5 -7
lines
Diff to previous 1.114 (colored)
fix use-after-free for ata xfer on bio submission found by KASAN driver ata_bio hooks read parts of the xfer after ata_exec_xfer() call in order to determine return value, change so that the hook doesn't return any value - callers do not care already, as all I/O requests are asynchronous this problem was uncovered by recent change for wd(4) to not hold wd mutex during ata_bio call, the interrupt for the xfer might thus actually fire immediately adjust also ata_exec_command driver hooks similarily - remove all completion and waiting logic from drivers, upper layer ata code using AT_WAIT/AT_POLL changed to call ata_wait_cmd() itself PR kern/55169 by Nick Hudson
Revision 1.110.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:03 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.110.2.1: +4 -5
lines
Diff to previous 1.110.2.1 (colored) to branchpoint 1.110 (colored)
Merge changes from current as of 20200406
Revision 1.114 / (download) - annotate - [select for diffs], Sat Apr 4 21:36:15 2020 UTC (3 years, 1 month ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20200411,
phil-wifi-20200406,
bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.113: +4 -5
lines
Diff to previous 1.113 (colored)
fix deadlock in wdcwait() when xfer timeout happens while the atabus thread sleeps in wdcwait() - check current lwp rather than relying on global ATACH_TH_RUN channel flag should fix the hang part of the problem reported in http://mail-index.netbsd.org/netbsd-users/2020/03/12/msg024249.html thanks to Paul Ripke for providing extensive debugging info
Revision 1.110.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:06 2019 UTC (3 years, 11 months ago) by christos
Branch: phil-wifi
Changes since 1.110: +17 -15
lines
Diff to previous 1.110 (colored)
Sync with HEAD
Revision 1.109.2.3 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:30 2018 UTC (4 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.109.2.2: +16 -14
lines
Diff to previous 1.109.2.2 (colored) to branchpoint 1.109 (colored) next main 1.110 (colored)
Sync with HEAD, resolve a couple of conflicts
Revision 1.113 / (download) - annotate - [select for diffs], Mon Nov 12 18:51:01 2018 UTC (4 years, 6 months ago) by jdolecek
Branch: MAIN
CVS Tags: phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
netbsd-9-base,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
isaki-audio2-base,
isaki-audio2,
is-mlppp-base,
is-mlppp,
ad-namecache-base3,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base,
ad-namecache
Branch point for: netbsd-9
Changes since 1.112: +2 -4
lines
Diff to previous 1.112 (colored)
hold channel lock during whole ata_dmaerr()/ata_downgrade_mode() - according to code inspection this is safe, none of the set_modes hooks execute anything which would be taking the lock adresses PR kern/53714 by Andreas Gustafsson
Revision 1.112 / (download) - annotate - [select for diffs], Mon Oct 22 20:13:47 2018 UTC (4 years, 7 months ago) by jdolecek
Branch: MAIN
Changes since 1.111: +16 -12
lines
Diff to previous 1.111 (colored)
Merge jdolecek-ncqfixes branch - ata_xfer's are dynamicall allocated as needed using a pool, no longer limited to number of possible openings supported by controller; dump and recovery paths use dedicated pre-allocated storage - moved callouts and condvars from ata_xfer to queue or channel, so that ata_xfer does not need special initialization - slot allocation now done when xfer is being activated, uncoupled from memory allocation; active slots are no longer tracked by controller code - channel and drive reset is done always via the atabus thread, and now executes with channel locked the whole time - NCQ recovery moved to shared function, and run via the thread also - added some workarounds for buggy error recovery AHCI emulation in QEMU and Parallels designed to primarily fix kern/52614, but might also help with kern/47041 and kern/53183
Revision 1.110.4.4 / (download) - annotate - [select for diffs], Mon Oct 15 21:18:53 2018 UTC (4 years, 7 months ago) by jdolecek
Branch: jdolecek-ncqfixes
Changes since 1.110.4.3: +3 -2
lines
Diff to previous 1.110.4.3 (colored) to branchpoint 1.110 (colored) next main 1.111 (colored)
change the SATA/NCQ recovery to run in the atabus thread
Revision 1.110.4.3 / (download) - annotate - [select for diffs], Mon Sep 17 20:54:41 2018 UTC (4 years, 8 months ago) by jdolecek
Branch: jdolecek-ncqfixes
Changes since 1.110.4.2: +2 -3
lines
Diff to previous 1.110.4.2 (colored) to branchpoint 1.110 (colored)
convert from malloc()/free() to kmem_zalloc()/kmem_free()
Revision 1.110.4.2 / (download) - annotate - [select for diffs], Mon Sep 17 18:36:13 2018 UTC (4 years, 8 months ago) by jdolecek
Branch: jdolecek-ncqfixes
Changes since 1.110.4.1: +11 -7
lines
Diff to previous 1.110.4.1 (colored) to branchpoint 1.110 (colored)
move low-level protocol handlers hooks from ata_xfer to separate struct, initialized statically primarily to reduce ata_xfer struct size, but also improves readibility, and enforces consistency
Revision 1.109.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:48 2018 UTC (4 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.109.2.1: +3 -3
lines
Diff to previous 1.109.2.1 (colored) to branchpoint 1.109 (colored)
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
Revision 1.111 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:30 2018 UTC (4 years, 8 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.110: +3 -3
lines
Diff to previous 1.110 (colored)
Rename min/max -> uimin/uimax for better honesty. These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended. HOWEVER! Some subsystems have #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation. To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it. I have left a handful of bootloaders that are too annoying to compile-test, and some dead code: cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4)) It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them. Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
Revision 1.110.4.1 / (download) - annotate - [select for diffs], Fri Aug 31 19:08:03 2018 UTC (4 years, 8 months ago) by jdolecek
Branch: jdolecek-ncqfixes
Changes since 1.110: +6 -6
lines
Diff to previous 1.110 (colored)
refactor ata_xfer to be just dumb structure; move all callouts/condvars out retry callout to wd(4); reset callout and the active/cmd finish condvars to channel queue; change code using the condvars so it works if there are multiple waiters simplify the async wait code for cmds, replace ata_wait_xfer()/ata_wake_xfer() with ata_wait_cmd() fix the callout_invoking/ack race handling code for timeouts to actually have chance to work; change mvsata(4) to use generic timeout func towards resolution of kern/52614
Revision 1.109.2.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:49 2018 UTC (4 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.109: +10 -5
lines
Diff to previous 1.109 (colored)
Sync with HEAD
Revision 1.110 / (download) - annotate - [select for diffs], Fri Jun 1 18:13:30 2018 UTC (4 years, 11 months ago) by macallan
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0728,
pgoyette-compat-0625,
jdolecek-ncqfixes-base
Branch point for: phil-wifi,
jdolecek-ncqfixes
Changes since 1.109: +10 -5
lines
Diff to previous 1.109 (colored)
add a flag to start DMA before issuing commands - needed to work around a bug in some SATA chips which get confused if the disk responds too fast Mostly for K2 SATA / svwsata found in G5 Macs adapted from OpenBSD
Revision 1.101.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:59 2017 UTC (5 years, 5 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.101.2.1: +174 -153
lines
Diff to previous 1.101.2.1 (colored) to branchpoint 1.101 (colored) next main 1.102 (colored)
update from HEAD
Revision 1.109 / (download) - annotate - [select for diffs], Tue Oct 17 18:52:50 2017 UTC (5 years, 7 months ago) by jdolecek
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202,
pgoyette-compat-base,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.108: +8 -3
lines
Diff to previous 1.108 (colored)
reintroduce ATACH_IRQ_WAIT flag for attachments using wdcintr(), only process the interrupt when the flag is set - this fixes spurious interrupt during post-reset drive setup in wdc_ata_bio_start(), and wdc_atapi_start() while those functions set WDCTL_IDS, this seems to be ignored by certain (maybe all) PCI-IDE controllers; usually the implicit KERNEL_LOCK() would prevent the interrupt anyway, but not when the start routine is started from the atabus thread, which doesn't take it fixes 'panic: wdc_ata_bio_intr: bad state' reported on current-users by Chavdar Ivanov
Revision 1.108 / (download) - annotate - [select for diffs], Sun Oct 15 11:27:14 2017 UTC (5 years, 7 months ago) by jdolecek
Branch: MAIN
Changes since 1.107: +6 -6
lines
Diff to previous 1.107 (colored)
revert the logic for wdc_wait_for_unbusy() in wdc_ata_bio_intr() to pre-NCQ, wdcintr() and wdctimeout() need that; follows same change in atapi_wdc.c rev. 1.128
Revision 1.107 / (download) - annotate - [select for diffs], Sun Oct 8 13:35:03 2017 UTC (5 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.106: +19 -25
lines
Diff to previous 1.106 (colored)
Re-use the err label more so it is not unused for drivers that don't support dma.
Revision 1.106 / (download) - annotate - [select for diffs], Sat Oct 7 16:05:32 2017 UTC (5 years, 7 months ago) by jdolecek
Branch: MAIN
Changes since 1.105: +161 -139
lines
Diff to previous 1.105 (colored)
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)
Revision 1.105.6.12 / (download) - annotate - [select for diffs], Sat Sep 30 21:32:31 2017 UTC (5 years, 7 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.11: +7 -3
lines
Diff to previous 1.105.6.11 (colored) to branchpoint 1.105 (colored) next main 1.106 (colored)
must drop channel lock before calling ata_dmaerr() to avoid 'locking against myself' in case of consecutive errors from ata_reset_channel() called via ata_downgrade_mode()
Revision 1.105.6.11 / (download) - annotate - [select for diffs], Tue Sep 26 20:15:36 2017 UTC (5 years, 8 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.10: +4 -4
lines
Diff to previous 1.105.6.10 (colored) to branchpoint 1.105 (colored)
make compile without NATA_DMA
Revision 1.105.6.10 / (download) - annotate - [select for diffs], Thu Sep 21 18:47:21 2017 UTC (5 years, 8 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.9: +5 -3
lines
Diff to previous 1.105.6.9 (colored) to branchpoint 1.105 (colored)
add missing ata_channel_unlock() in bailout path of wdc_ata_bio_intr()
Revision 1.105.6.9 / (download) - annotate - [select for diffs], Sun Sep 10 19:31:15 2017 UTC (5 years, 8 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.8: +47 -41
lines
Diff to previous 1.105.6.8 (colored) to branchpoint 1.105 (colored)
refactor code so that xfer c_start() hook is called with channel mutex held, and hence the controller submit code no longer relies on spl tested all the affected drivers - wdc (via piixide), ahci, mvsata, siisata, both disk and atapi I/O
Revision 1.105.6.8 / (download) - annotate - [select for diffs], Sat Aug 12 14:41:54 2017 UTC (5 years, 9 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.7: +3 -4
lines
Diff to previous 1.105.6.7 (colored) to branchpoint 1.105 (colored)
convert the atabus thread to use the channel lock and a condvar, adjust code which sets the relevant channel flags to take the lock while doing so
Revision 1.105.6.7 / (download) - annotate - [select for diffs], Sat Aug 12 09:52:28 2017 UTC (5 years, 9 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.6: +54 -48
lines
Diff to previous 1.105.6.6 (colored) to branchpoint 1.105 (colored)
remove all logic around ATACH_IRQ_WAIT and channel-global ch_error/ch_status, so that there is less hidden state shared by commands; primary intent is to make the NCQ and non-NCQ paths more similar, and remove possibility of incorrect handling for the NCQ commands tested both disk and ATAPI - piixide(4) on QEMU, and siisata(4), ahcisata(4), mvsata(4) on real hw
Revision 1.105.6.6 / (download) - annotate - [select for diffs], Tue Jun 27 18:36:03 2017 UTC (5 years, 11 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.5: +12 -8
lines
Diff to previous 1.105.6.5 (colored) to branchpoint 1.105 (colored)
attend error paths, more strict asserts and code consistency - atastart() and ata_kill_pending() now KASSERT() that all xfers on queue have same channel - inactive xfers are killed via new reason KILL_GONE_INACTIVE, controller code must not call any resource deactivation in that case - c_intr() must call ata_waitdrain_xfer_check() as first thing, and must not further touch any xfer structures on exit path; any resource cleanup is supposed to be done in c_kill_xfer() - c_kill_xfer() should never call atastart() - ata_waitdrain_check() removed, replaced by ata_waitdrain_xfer_check() - ATA_DRIVE_WAITDRAIN handling converted to use condvar - removed unused ata_c callback
Revision 1.105.6.5 / (download) - annotate - [select for diffs], Tue Jun 20 20:58:22 2017 UTC (5 years, 11 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.4: +3 -3
lines
Diff to previous 1.105.6.4 (colored) to branchpoint 1.105 (colored)
remove ata queue downsizing - every device, attached to the same channel, uses slots according to it's own limits wdc code changed to expect maximum one active xfer, and not check number of openings in the channel; this is to facilitate using wdc functions for e.g. handling of atapi commands for drivers which support both ATAPI and NCQ
Revision 1.105.6.4 / (download) - annotate - [select for diffs], Fri Jun 16 20:40:49 2017 UTC (5 years, 11 months ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.3: +4 -2
lines
Diff to previous 1.105.6.3 (colored) to branchpoint 1.105 (colored)
adjust reset channel and dump paths - channel reset now always kills active transfer, even on dump path, but now doesn't touch the queued waiting transfers; also kill_xfer hook is always called, so that HBA can free any private xfer resources and thus the dump request has chance to work - kill_xfer routines now always call ata_deactivate_xfer(); added KASSERT()s to ata_free_xfer() to expect deactivated xfer - when called during channel reset before dump, ata_kill_active() drops any queued waiting transfers without processing - do not (re)queue any transfers in wddone() when dumping - kill AT_RST_NOCMD flag This should also hopefully fix the 'polled command has been queued' panic as reported in: PR kern/11811 by John Hawkinson PR kern/47041 by Taylor R Campbell PR kern/51979 by Martin Husemann dump tested working with piixide(4) and ahci(4). mvsata(4) dump times out, but otherwise tested working, will be fixed separately. siisata(4) mechanically changed and not tested.
Revision 1.105.6.3 / (download) - annotate - [select for diffs], Wed Apr 19 20:49:17 2017 UTC (6 years, 1 month ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.2: +18 -10
lines
Diff to previous 1.105.6.2 (colored) to branchpoint 1.105 (colored)
adjust ata code to support more than one active command, including the timeout handling, add support for NCQ commands move probe for NCQ and number of tags to middle layer, negotiate mutual support between drive and controller implement NCQ support in ahci(4)
Revision 1.105.6.2 / (download) - annotate - [select for diffs], Sat Apr 15 12:01:23 2017 UTC (6 years, 1 month ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105.6.1: +32 -39
lines
Diff to previous 1.105.6.1 (colored) to branchpoint 1.105 (colored)
make ata_xfer's allocated as part of ata_queue and make it include ata_bio; they are pre-allocated on attach and ata_get_xfer() now never sleep, drop the pool modify wd(4) to file the bio requests using the xfers and hence make it possible to have more than one active I/O request in flight; ata_bio callback doesn't need to allocate any memory any more, require it to never return ATACMD_TRY_AGAIN move lp, badsect, multi from ata_bio to ata_drive_datas, as they are per-drive, not per transfer drop unused drv atac_claim_hw/atac_free_hw hooks, and also drop again ata_bio c_hwslot
Revision 1.105.6.1 / (download) - annotate - [select for diffs], Mon Apr 10 22:57:02 2017 UTC (6 years, 1 month ago) by jdolecek
Branch: jdolecek-ncq
Changes since 1.105: +4 -6
lines
Diff to previous 1.105 (colored)
ATA infrastructure improvements to eventually support more outstanding commands patch by Matt Thomas
Revision 1.104.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:08 2015 UTC (8 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.104: +4 -4
lines
Diff to previous 1.104 (colored) next main 1.105 (colored)
Sync with HEAD
Revision 1.105 / (download) - annotate - [select for diffs], Fri Jan 2 19:42:06 2015 UTC (8 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825,
nick-nhusb-base-20170204,
nick-nhusb-base-20161204,
nick-nhusb-base-20161004,
nick-nhusb-base-20160907,
nick-nhusb-base-20160529,
nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226,
nick-nhusb-base-20150921,
nick-nhusb-base-20150606,
nick-nhusb-base-20150406,
netbsd-8-base,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
localcount-20160914,
jdolecek-ncq-base,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: jdolecek-ncq
Changes since 1.104: +4 -4
lines
Diff to previous 1.104 (colored)
We have three sets of DTYPE_ constants in the kernel: altq Drop Type disklabel Disk Type file Descriptor Type (not to mention constants that contain the string DTYPE). Let's make them two, by changing the disklabel one to be DisK TYPE since the other disklabel constants seem to do that. Not many userland programs use these constants (and the ones that they do are mostly in ifdefs). They will be fixed shortly.
Revision 1.104 / (download) - annotate - [select for diffs], Wed Sep 10 07:04:48 2014 UTC (8 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.103: +4 -4
lines
Diff to previous 1.103 (colored)
g/u_int[0-9]*_t/ s/u_int/uint/g
Revision 1.95.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:40:20 2014 UTC (9 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.95.2.3: +4 -4
lines
Diff to previous 1.95.2.3 (colored) to branchpoint 1.95 (colored) next main 1.96 (colored)
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")
Revision 1.101.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:11 2013 UTC (10 years, 3 months ago) by tls
Branch: tls-maxphys
Changes since 1.101: +14 -9
lines
Diff to previous 1.101 (colored)
resync with head
Revision 1.103 / (download) - annotate - [select for diffs], Sun Feb 3 20:13:27 2013 UTC (10 years, 3 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
tls-maxphys-base,
tls-earlyentropy-base,
tls-earlyentropy,
rmind-smpnet-nbase,
rmind-smpnet-base,
rmind-smpnet,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7,
khorben-n900,
agc-symver-base,
agc-symver
Changes since 1.102: +4 -4
lines
Diff to previous 1.102 (colored)
Add argument to wdccommandext() to allow the entire contents of the device/head register to be specified. Needed for upcoming port multipler support in mvsata(4).
Revision 1.95.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:14 2013 UTC (10 years, 4 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.95.2.2: +12 -7
lines
Diff to previous 1.95.2.2 (colored) to branchpoint 1.95 (colored)
sync with (a bit old) head
Revision 1.102 / (download) - annotate - [select for diffs], Mon Nov 19 22:22:56 2012 UTC (10 years, 6 months ago) by rkujawa
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7
Changes since 1.101: +12 -7
lines
Diff to previous 1.101 (colored)
Introduce WDC_CAPABILITY_NO_AUXCTL flag. For lame controllers that don't have aux control registers (driver coming soon).
Revision 1.95.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:52 2012 UTC (10 years, 7 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.95.2.1: +13 -11
lines
Diff to previous 1.95.2.1 (colored) to branchpoint 1.95 (colored)
sync with head
Revision 1.101 / (download) - annotate - [select for diffs], Tue Jul 31 15:50:34 2012 UTC (10 years, 10 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.100: +13 -11
lines
Diff to previous 1.100 (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.100 / (download) - annotate - [select for diffs], Thu Jul 26 20:49:47 2012 UTC (10 years, 10 months ago) by jakllsch
Branch: MAIN
Changes since 1.99: +5 -7
lines
Diff to previous 1.99 (colored)
Revert, with intention of restoring in a less invasive way, the SATA Port Multiplier code. ok christos@
Revision 1.99 / (download) - annotate - [select for diffs], Tue Jul 24 14:04:29 2012 UTC (10 years, 10 months ago) by jakllsch
Branch: MAIN
Changes since 1.98: +6 -6
lines
Diff to previous 1.98 (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.98 / (download) - annotate - [select for diffs], Sun Jul 15 10:55:29 2012 UTC (10 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.97: +8 -8
lines
Diff to previous 1.97 (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.97 / (download) - annotate - [select for diffs], Mon Jul 2 18:15:46 2012 UTC (10 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.96: +7 -5
lines
Diff to previous 1.96 (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.95.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:28 2012 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.95: +4 -4
lines
Diff to previous 1.95 (colored)
sync with head
Revision 1.95.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:34:08 2012 UTC (11 years, 3 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.95: +4 -4
lines
Diff to previous 1.95 (colored) next main 1.96 (colored)
merge to -current.
Revision 1.96 / (download) - annotate - [select for diffs], Mon Jan 9 01:01:48 2012 UTC (11 years, 4 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
yamt-pagecache-base4,
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-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
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-base9,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2,
jmcneill-usbmp-base10
Changes since 1.95: +4 -4
lines
Diff to previous 1.95 (colored)
Instead of assume that 'features' is 0 in wdccommandext(), pass it as an argument, as is done for wdccommand().
Revision 1.95 / (download) - annotate - [select for diffs], Sun Aug 28 09:43:25 2011 UTC (11 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3
Branch point for: yamt-pagecache,
jmcneill-usbmp
Changes since 1.94: +4 -4
lines
Diff to previous 1.94 (colored)
make this compile.
Revision 1.94 / (download) - annotate - [select for diffs], Sat Aug 27 17:05:57 2011 UTC (11 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.93: +8 -2
lines
Diff to previous 1.93 (colored)
The loongon2f+cs5526+jmicron PATA->SATA bridge cause an interresting issue: 1) because the CS5536 is not associated with a x86 CPU, interrupts are not ack'ed as it expects so interrupts cannot configured as edge-triggered (as is expected for a PCIIDE in compat mode) 2) the PATA->SATA bridge ignores the WDC_IDS (interrupt disable bit) so the PATA IRQ line gets asserted when resetting or running some polled commands. It also wrongly asserts IRQ when the (nonexistent) slave device is selected 2) wouldn't be an issue with edge-triggered interrupt because we would get a spurious interrupt and continue operation, a new interrupt only shows up when the PATA IRQ line goes low and high again. But because of 1), we get an unclearable interrupt instead, and the system loops on the interrupt handler. To workaround this, introduce a WDC_NO_IDS compile option which runs all polled commands (including reset) at splbio() and without sleeps, so that the controller's interrupt is effectively disabled and won't be reenabled before the interrupt can be cleared. The conditions triggering this problem are speficic enough to handle this via a compile-time option; no need for a run-time (e.g. a config(9), device property or callback to disable interrupts) solution.
Revision 1.88.4.3 / (download) - annotate - [select for diffs], Wed Aug 11 22:53:18 2010 UTC (12 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.88.4.2: +3 -3
lines
Diff to previous 1.88.4.2 (colored) to branchpoint 1.88 (colored) next main 1.89 (colored)
sync with head.
Revision 1.92.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:17:18 2010 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.92: +3 -3
lines
Diff to previous 1.92 (colored) next main 1.93 (colored)
sync with head
Revision 1.92.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:43:08 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.92: +3 -3
lines
Diff to previous 1.92 (colored) next main 1.93 (colored)
Sync with HEAD.
Revision 1.93 / (download) - annotate - [select for diffs], Sun Mar 28 20:46:18 2010 UTC (13 years, 2 months ago) by snj
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2,
uebayasi-xip-base1,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
matt-mips64-premerge-20101231,
jruoho-x86intr-base,
jruoho-x86intr,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Changes since 1.92: +3 -3
lines
Diff to previous 1.92 (colored)
Spell "enough" properly.
Revision 1.88.4.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:24 2010 UTC (13 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.88.4.1: +2 -7
lines
Diff to previous 1.88.4.1 (colored) to branchpoint 1.88 (colored)
sync with head
Revision 1.92 / (download) - annotate - [select for diffs], Mon Oct 19 18:41:12 2009 UTC (13 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base,
matt-premerge-20091211,
jym-xensuspend-nbase
Branch point for: uebayasi-xip,
rmind-uvmplock
Changes since 1.91: +2 -7
lines
Diff to previous 1.91 (colored)
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
Revision 1.90.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:52 2009 UTC (14 years, 4 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.90: +4 -4
lines
Diff to previous 1.90 (colored) next main 1.91 (colored)
Sync with HEAD.
Revision 1.87.16.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:52 2009 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.87.16.3: +2 -2
lines
Diff to previous 1.87.16.3 (colored) to branchpoint 1.87 (colored) next main 1.88 (colored)
Sync with HEAD.
Revision 1.89.6.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:14:13 2008 UTC (14 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.89.6.1: +4 -4
lines
Diff to previous 1.89.6.1 (colored) to branchpoint 1.89 (colored) next main 1.90 (colored)
Update haad-dm branch to haad-dm-base2.
Revision 1.90.4.1 / (download) - annotate - [select for diffs], Thu Nov 20 02:45:36 2008 UTC (14 years, 6 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
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,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b
Changes since 1.90: +4 -4
lines
Diff to previous 1.90 (colored) next main 1.91 (colored)
Pull up following revision(s) (requested by bouyer in ticket #67): sys/dev/ic/wdc.c: revision 1.256 sys/dev/ata/ata.c: revision 1.102 sys/dev/scsipi/atapi_wdc.c: revision 1.109 sys/dev/ata/atavar.h: revision 1.78 sys/dev/ata/ata_wdc.c: revision 1.91 cpu_intr_p() doesn't account for software interrupts (e.g. callouts) so we can't use it here. Rssurect ATACH_TH_RUN, backing out src/sys/dev/ata/ata.c 1.101 src/sys/dev/ata/ata_wdc.c 1.90 src/sys/dev/ata/atavar.h 1.77 src/sys/dev/ic/wdc.c 1.255 src/sys/dev/scsipi/atapi_wdc.c 1.108 Should fix kern/39927 and kern/39725.
Revision 1.91 / (download) - annotate - [select for diffs], Sun Nov 16 19:31:21 2008 UTC (14 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
mjf-devfs2-base,
jymxensuspend-base,
jym-xensuspend-base,
jym-xensuspend,
haad-nbase2,
haad-dm-base2,
haad-dm-base,
ad-audiomp2-base,
ad-audiomp2
Changes since 1.90: +2 -2
lines
Diff to previous 1.90 (colored)
cpu_intr_p() doesn't account for software interrupts (e.g. callouts) so we can't use it here. Rssurect ATACH_TH_RUN, backing out src/sys/dev/ata/ata.c 1.101 src/sys/dev/ata/ata_wdc.c 1.90 src/sys/dev/ata/atavar.h 1.77 src/sys/dev/ic/wdc.c 1.255 src/sys/dev/scsipi/atapi_wdc.c 1.108 Should fix kern/39927 and kern/39725.
Revision 1.89.6.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:16:19 2008 UTC (14 years, 7 months ago) by haad
Branch: haad-dm
Changes since 1.89: +4 -4
lines
Diff to previous 1.89 (colored)
Sync with HEAD.
Revision 1.89.2.1 / (download) - annotate - [select for diffs], Fri Oct 10 22:30:58 2008 UTC (14 years, 7 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.89: +4 -4
lines
Diff to previous 1.89 (colored) next main 1.90 (colored)
Sync with HEAD.
Revision 1.87.16.3 / (download) - annotate - [select for diffs], Sun Oct 5 20:11:28 2008 UTC (14 years, 7 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.87.16.2: +2 -2
lines
Diff to previous 1.87.16.2 (colored) to branchpoint 1.87 (colored)
Sync with HEAD.
Revision 1.90 / (download) - annotate - [select for diffs], Thu Oct 2 21:05:17 2008 UTC (14 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4,
netbsd-5-base,
matt-mips64-base2,
haad-dm-base1
Branch point for: nick-hppapmap,
netbsd-5
Changes since 1.89: +4 -4
lines
Diff to previous 1.89 (colored)
Kill ATACH_TH_RUN and use cpu_intr_p() instead.
Revision 1.87.16.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:13 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.87.16.1: +0 -7
lines
Diff to previous 1.87.16.1 (colored) to branchpoint 1.87 (colored)
Sync with HEAD.
Revision 1.88.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:34 2008 UTC (15 years ago) by yamt
Branch: yamt-pf42
Changes since 1.88: +2 -9
lines
Diff to previous 1.88 (colored) next main 1.89 (colored)
sync with head.
Revision 1.88.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:53 2008 UTC (15 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.88: +2 -9
lines
Diff to previous 1.88 (colored)
sync with head.
Revision 1.89 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:47 2008 UTC (15 years, 1 month ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-nfs-mp-base2,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
simonb-wapbl,
hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa,
haad-dm
Changes since 1.88: +2 -9
lines
Diff to previous 1.88 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.87.16.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:38 2008 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.87: +18 -16
lines
Diff to previous 1.87 (colored)
Sync with HEAD.
Revision 1.82.2.4 / (download) - annotate - [select for diffs], Mon Mar 24 09:38:46 2008 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.82.2.3: +18 -16
lines
Diff to previous 1.82.2.3 (colored) to branchpoint 1.82 (colored) next main 1.83 (colored)
sync with head.
Revision 1.87.12.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:15:15 2008 UTC (15 years, 2 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.87: +18 -16
lines
Diff to previous 1.87 (colored) next main 1.88 (colored)
sync with head.
Revision 1.86.10.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:36 2008 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.86.10.1: +18 -16
lines
Diff to previous 1.86.10.1 (colored) to branchpoint 1.86 (colored) next main 1.87 (colored)
sync with HEAD
Revision 1.88 / (download) - annotate - [select for diffs], Tue Mar 18 20:46:36 2008 UTC (15 years, 2 months ago) by cube
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base,
yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
ad-socklock-base1
Branch point for: yamt-pf42,
yamt-nfs-mp
Changes since 1.87: +18 -16
lines
Diff to previous 1.87 (colored)
Split device_t and softc for ATA devices, as well as wd(4). Other cosmetic changes where appropriate.
Revision 1.86.10.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:25:40 2007 UTC (15 years, 6 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.86: +4 -4
lines
Diff to previous 1.86 (colored)
sync with HEAD
Revision 1.82.2.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:30:04 2007 UTC (15 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.82.2.2: +4 -4
lines
Diff to previous 1.82.2.2 (colored) to branchpoint 1.82 (colored)
sync with head.
Revision 1.86.8.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:44:16 2007 UTC (15 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.86: +4 -4
lines
Diff to previous 1.86 (colored) next main 1.87 (colored)
Sync with HEAD. Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
Revision 1.86.14.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:37:09 2007 UTC (15 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.86: +4 -4
lines
Diff to previous 1.86 (colored) next main 1.87 (colored)
Sync with HEAD.
Revision 1.85.8.2 / (download) - annotate - [select for diffs], Tue Oct 23 20:06:53 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.85.8.1: +4 -4
lines
Diff to previous 1.85.8.1 (colored) to branchpoint 1.85 (colored) next main 1.86 (colored)
Sync with head.
Revision 1.87 / (download) - annotate - [select for diffs], Fri Oct 19 11:59:36 2007 UTC (15 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base3,
vmlocking2-base2,
vmlocking2-base1,
vmlocking2,
vmlocking-nbase,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
mjf-devfs,
matt-armv6-base,
jmcneill-pm-base,
jmcneill-base,
hpcarm-cleanup-base,
cube-autoconf-base,
cube-autoconf,
bouyer-xeni386-nbase,
bouyer-xeni386-merge1,
bouyer-xeni386-base,
bouyer-xeni386,
bouyer-xenamd64-base2,
bouyer-xenamd64-base
Branch point for: mjf-devfs2,
keiichi-mipv6
Changes since 1.86: +4 -4
lines
Diff to previous 1.86 (colored)
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
Revision 1.82.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 14:33:27 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.82.2.1: +4 -7
lines
Diff to previous 1.82.2.1 (colored) to branchpoint 1.82 (colored)
sync with head.
Revision 1.85.10.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:05:18 2007 UTC (15 years, 10 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.85: +4 -7
lines
Diff to previous 1.85 (colored) next main 1.86 (colored)
Sync with head.
Revision 1.85.4.1 / (download) - annotate - [select for diffs], Sun Apr 15 16:03:18 2007 UTC (16 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.85: +4 -7
lines
Diff to previous 1.85 (colored) next main 1.86 (colored)
sync with head.
Revision 1.85.8.1 / (download) - annotate - [select for diffs], Tue Apr 10 13:24:22 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.85: +4 -7
lines
Diff to previous 1.85 (colored)
Sync with head.
Revision 1.86 / (download) - annotate - [select for diffs], Sun Apr 8 06:59:43 2007 UTC (16 years, 1 month ago) by dyoung
Branch: MAIN
CVS Tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
yamt-x86pmap-base2,
yamt-x86pmap-base,
yamt-x86pmap,
yamt-idlelwp-base8,
vmlocking-base,
thorpej-atomic-base,
thorpej-atomic,
nick-csl-alignment-base5,
nick-csl-alignment-base,
nick-csl-alignment,
mjf-ufs-trans-base,
matt-mips64-base,
matt-mips64,
hpcarm-cleanup
Branch point for: matt-armv6,
jmcneill-pm,
bouyer-xenamd64
Changes since 1.85: +4 -7
lines
Diff to previous 1.85 (colored)
Include opt_ata.h for ATADEBUG definition instead of #defining it unconditionally. Make this compile when ATADEBUG is not #defined.
Revision 1.82.2.1 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:54 2006 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.82: +99 -7
lines
Diff to previous 1.82 (colored)
sync with head.
Revision 1.84.2.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:34:04 2006 UTC (16 years, 6 months ago) by ad
Branch: newlock2
Changes since 1.84: +34 -7
lines
Diff to previous 1.84 (colored) next main 1.85 (colored)
Sync with head.
Revision 1.84.4.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:05:32 2006 UTC (16 years, 7 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.84: +34 -7
lines
Diff to previous 1.84 (colored) next main 1.85 (colored)
sync with head
Revision 1.85 / (download) - annotate - [select for diffs], Sat Sep 30 15:56:18 2006 UTC (16 years, 8 months ago) by itohy
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
yamt-splraiseipl-base2,
wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
reinoud-bufcleanup,
post-newlock2-merge,
newlock2-nbase,
newlock2-base,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
netbsd-4,
matt-nb4-arm-base,
matt-nb4-arm,
ad-audiomp-base,
ad-audiomp
Branch point for: yamt-idlelwp,
vmlocking,
mjf-ufs-trans
Changes since 1.84: +34 -7
lines
Diff to previous 1.84 (colored)
A little effort against kernel bloat.... Exclude ATA DMA support if no ATA DMA capable drivers are compiled in.
Revision 1.83.8.1 / (download) - annotate - [select for diffs], Thu Sep 14 12:31:27 2006 UTC (16 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.83: +68 -3
lines
Diff to previous 1.83 (colored) next main 1.84 (colored)
sync with head.
Revision 1.83.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:49:44 2006 UTC (16 years, 8 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.83: +68 -3
lines
Diff to previous 1.83 (colored) next main 1.84 (colored)
sync with head
Revision 1.84 / (download) - annotate - [select for diffs], Thu Sep 7 12:34:42 2006 UTC (16 years, 8 months ago) by itohy
Branch: MAIN
CVS Tags: yamt-splraiseipl-base,
yamt-pdpolicy-base9,
rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl,
newlock2
Changes since 1.83: +68 -3
lines
Diff to previous 1.83 (colored)
Add PIOBM (busmastering transfer using ATA PIO mode) support. The PIOBM is used by only one driver (will be added later, stay tuned) and intruduce an attribute "ata_piobm" so that it will be conditionally compiled in. The "ata_dma" (busmastering transfer using ATA DMA mode) and "ata_udma" (busmastering transfer using ATA Ultra DMA mode) attributes are also added for consistency, but unused for now.
Revision 1.83 / (download) - annotate - [select for diffs], Sun Dec 11 12:21:14 2005 UTC (17 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-uio_vmspace,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
yamt-pdpolicy-base6,
yamt-pdpolicy-base5,
yamt-pdpolicy-base4,
yamt-pdpolicy-base3,
yamt-pdpolicy-base2,
yamt-pdpolicy-base,
simonb-timecounters-base,
simonb-timecounters,
simonb-timcounters-final,
peter-altq-base,
peter-altq,
gdamore-uart-base,
gdamore-uart,
elad-kernelauth-base,
elad-kernelauth,
chap-midi-nbase,
chap-midi-base,
chap-midi,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: yamt-pdpolicy,
rpaulo-netinet-merge-pcb
Changes since 1.82: +2 -2
lines
Diff to previous 1.82 (colored)
merge ktrace-lwp.
Revision 1.39.2.10 / (download) - annotate - [select for diffs], Thu Nov 10 14:03:54 2005 UTC (17 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.9: +19 -7
lines
Diff to previous 1.39.2.9 (colored) next main 1.40 (colored)
Sync with HEAD. Here we go again...
Revision 1.53.2.3.2.4 / (download) - annotate - [select for diffs], Mon Jul 18 03:57:36 2005 UTC (17 years, 10 months ago) by riz
Branch: netbsd-2
CVS Tags: netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1
Changes since 1.53.2.3.2.3: +17 -5
lines
Diff to previous 1.53.2.3.2.3 (colored) to branchpoint 1.53.2.3 (colored) next main 1.54 (colored)
Pull up revision 1.82 (requested by thorpej in ticket #2072): - When starting an ATA or ATAPI transfer, handle the case where (*dma_init)() returns EINVAL, indicating that DMA cannot be done for this transfer. Fall back to PIO in this case. - Add a geodeide_dma_init() routine that checks to make sure that transfers start on a 16 byte boundary, returning EINVAL if not. Works around a chip bug that causes a hard system hang. Problem reported and patch tested by Erik Fair.
Revision 1.79.2.1 / (download) - annotate - [select for diffs], Wed Jul 6 22:03:02 2005 UTC (17 years, 10 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE,
netbsd-3-0
Changes since 1.79: +17 -5
lines
Diff to previous 1.79 (colored) next main 1.80 (colored)
Pull up revision 1.82 (requested by thorpej in ticket #553): - When starting an ATA or ATAPI transfer, handle the case where (*dma_init)() returns EINVAL, indicating that DMA cannot be done for this transfer. Fall back to PIO in this case. - Add a geodeide_dma_init() routine that checks to make sure that transfers start on a 16 byte boundary, returning EINVAL if not. Works around a chip bug that causes a hard system hang. Problem reported and patch tested by Erik Fair.
Revision 1.82 / (download) - annotate - [select for diffs], Wed Jul 6 01:46:52 2005 UTC (17 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
yamt-vop,
yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
thorpej-vnode-attr-base,
thorpej-vnode-attr,
ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.81: +17 -5
lines
Diff to previous 1.81 (colored)
- When starting an ATA or ATAPI transfer, handle the case where (*dma_init)() returns EINVAL, indicating that DMA cannot be done for this transfer. Fall back to PIO in this case. - Add a geodeide_dma_init() routine that checks to make sure that transfers start on a 16 byte boundary, returning EINVAL if not. Works around a chip bug that causes a hard system hang. Problem reported and patch tested by Erik Fair.
Revision 1.81 / (download) - annotate - [select for diffs], Tue Jun 7 13:45:11 2005 UTC (17 years, 11 months ago) by peter
Branch: MAIN
Changes since 1.80: +3 -3
lines
Diff to previous 1.80 (colored)
Fix typos.
Revision 1.80 / (download) - annotate - [select for diffs], Sun May 29 22:11:28 2005 UTC (18 years ago) by christos
Branch: MAIN
Changes since 1.79: +3 -3
lines
Diff to previous 1.79 (colored)
- remove casts [to avoid volatile] - sprinkle const - avoid shadowed variables
Revision 1.77.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:45 2005 UTC (18 years, 1 month ago) by kent
Branch: kent-audio2
Changes since 1.77: +11 -11
lines
Diff to previous 1.77 (colored) next main 1.78 (colored)
sync with -current
Revision 1.78.2.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:55 2005 UTC (18 years, 2 months ago) by yamt
Branch: yamt-km
Changes since 1.78: +10 -10
lines
Diff to previous 1.78 (colored) next main 1.79 (colored)
sync with head. xen and whitespace. xen part is not finished.
Revision 1.53.2.3.2.3 / (download) - annotate - [select for diffs], Wed Mar 16 19:49:51 2005 UTC (18 years, 2 months ago) by tron
Branch: netbsd-2
Changes since 1.53.2.3.2.2: +3 -3
lines
Diff to previous 1.53.2.3.2.2 (colored) to branchpoint 1.53.2.3 (colored)
Pull up revision 1.78 (requested by bouyer in ticket #1325): Also call ata_dmaerr() on DMA errors (as reported by the underlying controller driver). We want to downgrade to PIO mode if DMA isn't functionnal.
Revision 1.53.2.3.2.2 / (download) - annotate - [select for diffs], Wed Mar 16 19:47:57 2005 UTC (18 years, 2 months ago) by tron
Branch: netbsd-2
Changes since 1.53.2.3.2.1: +4 -4
lines
Diff to previous 1.53.2.3.2.1 (colored) to branchpoint 1.53.2.3 (colored)
Pull up revision 1.77 (requested by bouyer in ticket #1324): Move ata_dmaerr() so that it's called only when there really has been an error (ata_bio->r_error doesn't containt anything meaningfull if no error occured). Fix kern/28255 by Izumi Tsutsui, but with a different patch.
Revision 1.53.2.3.2.1 / (download) - annotate - [select for diffs], Wed Mar 16 18:36:56 2005 UTC (18 years, 2 months ago) by jmc
Branch: netbsd-2
Changes since 1.53.2.3: +4 -16
lines
Diff to previous 1.53.2.3 (colored)
Pullup rev 1.55 (requested by mycroft in ticket #1018) Only downgrade modes due to an actual CRC error. Downgrading on other errors is anti-social -- especially given that there's no way to upgrade again short of rebooting. Also, downgrade UDMA modes more slowly. It's entirely possible that they're using an 80-wire cable, but it's just too long for the higher modes, or there is minor crosstalk.
Revision 1.39.2.9 / (download) - annotate - [select for diffs], Fri Mar 4 16:41:02 2005 UTC (18 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.8: +10 -10
lines
Diff to previous 1.39.2.8 (colored)
Sync with HEAD. Hi Perry!
Revision 1.79 / (download) - annotate - [select for diffs], Sun Feb 27 00:26:58 2005 UTC (18 years, 3 months ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4,
yamt-km-base3,
netbsd-3-base,
kent-audio2-base
Branch point for: netbsd-3
Changes since 1.78: +10 -10
lines
Diff to previous 1.78 (colored)
nuke trailing whitespace
Revision 1.39.2.8 / (download) - annotate - [select for diffs], Mon Jan 17 19:30:39 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.7: +3 -3
lines
Diff to previous 1.39.2.7 (colored)
Sync with HEAD.
Revision 1.78 / (download) - annotate - [select for diffs], Sun Jan 16 20:17:37 2005 UTC (18 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-km-base2,
yamt-km-base
Branch point for: yamt-km
Changes since 1.77: +3 -3
lines
Diff to previous 1.77 (colored)
Also call ata_dmaerr() on DMA errors (as reported by the underlying controller driver). We want to downgrade to PIO mode if DMA isn't functionnal.
Revision 1.39.2.7 / (download) - annotate - [select for diffs], Sat Dec 18 09:31:56 2004 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.6: +4 -4
lines
Diff to previous 1.39.2.6 (colored)
Sync with HEAD.
Revision 1.77 / (download) - annotate - [select for diffs], Wed Dec 8 18:49:52 2004 UTC (18 years, 5 months ago) by bouyer
Branch: MAIN
CVS Tags: kent-audio1-beforemerge
Branch point for: kent-audio2
Changes since 1.76: +4 -4
lines
Diff to previous 1.76 (colored)
Move ata_dmaerr() so that it's called only when there really has been an error (ata_bio->r_error doesn't containt anything meaningfull if no error occured). Fix kern/28255 by Izumi Tsutsui, but with a different patch.
Revision 1.39.2.6 / (download) - annotate - [select for diffs], Tue Nov 2 07:51:19 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.5: +3 -2
lines
Diff to previous 1.39.2.5 (colored)
Sync with HEAD.
Revision 1.76 / (download) - annotate - [select for diffs], Thu Oct 28 07:07:39 2004 UTC (18 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio1-base,
kent-audio1
Changes since 1.75: +3 -2
lines
Diff to previous 1.75 (colored)
move buffer queue related stuffs from buf.h to their own header, bufq.h.
Revision 1.39.2.5 / (download) - annotate - [select for diffs], Tue Sep 21 13:27:23 2004 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.4: +2 -2
lines
Diff to previous 1.39.2.4 (colored)
Fix the sync with head I botched.
Revision 1.39.2.4 / (download) - annotate - [select for diffs], Sat Sep 18 14:45:25 2004 UTC (18 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.3: +2 -2
lines
Diff to previous 1.39.2.3 (colored)
Sync with HEAD.
Revision 1.39.2.3 / (download) - annotate - [select for diffs], Wed Aug 25 06:57:34 2004 UTC (18 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.2: +80 -99
lines
Diff to previous 1.39.2.2 (colored)
Sync with HEAD.
Revision 1.75 / (download) - annotate - [select for diffs], Sat Aug 21 02:17:07 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.74: +4 -29
lines
Diff to previous 1.74 (colored)
- Move to48() to atareg.h and rename it atacmd_to48(). - Add an atacmd_tosataq() that converts a 32-bit command to a Native SATA Queued command.
Revision 1.74 / (download) - annotate - [select for diffs], Fri Aug 20 23:26:53 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.73: +3 -2
lines
Diff to previous 1.73 (colored)
- Add an (*ata_reset_channel)() member to ata_bustype. - Add an ata_reset_channel() function that performs the common parts of resetting an ATA channel, which uses the (*ata_reset_channel)() callback to do the heavy lifting. Adjust callers to use ata_reset_channel() instead of wdc_reset_channel(). This removes the last wdc-specific code from ata.c!
Revision 1.73 / (download) - annotate - [select for diffs], Fri Aug 20 06:39:38 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +25 -22
lines
Diff to previous 1.72 (colored)
Move most of wdc_softc into a new atac_softc structure that contains info common to all types of ATA controllers.
Revision 1.72 / (download) - annotate - [select for diffs], Sat Aug 14 15:08:04 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.71: +29 -27
lines
Diff to previous 1.71 (colored)
- Split the register handles out of struct wdc_channel into a separate wdc_regs structure, and array of which (indexed per channel) is pointed to by struct wdc_softc. - Move the resulting wdc_channel structure to atavar.h and rename it to ata_channel. Rename the corresponding flags. - Add a "ch_ndrive" member to struct ata_channel, which indicates the maximum number of drives that can be present on the channel. For now, this is always 2. Add an ATA_MAXDRIVES constant that places an upper limit on this value, also currently 2.
Revision 1.71 / (download) - annotate - [select for diffs], Fri Aug 13 04:10:49 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +15 -15
lines
Diff to previous 1.70 (colored)
WDCDEBUG -> ATADEBUG.
Revision 1.70 / (download) - annotate - [select for diffs], Fri Aug 13 03:12:59 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.69: +7 -7
lines
Diff to previous 1.69 (colored)
Don't bother with bits that tell of the presence of optional callbacks; just check the function pointers for NULL.
Revision 1.69 / (download) - annotate - [select for diffs], Fri Aug 13 02:16:40 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.68: +4 -4
lines
Diff to previous 1.68 (colored)
Move wdcstart() to ata.c and rename it to atastart().
Revision 1.68 / (download) - annotate - [select for diffs], Fri Aug 13 02:10:43 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.67: +3 -3
lines
Diff to previous 1.67 (colored)
Move wdc_exec_xfer() to ata.c and rename it ata_exec_xfer().
Revision 1.67 / (download) - annotate - [select for diffs], Thu Aug 12 22:39:40 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.66: +4 -4
lines
Diff to previous 1.66 (colored)
Move wdc_addref() and wdc_delref() to ata.c and rename them to ata_*.
Revision 1.66 / (download) - annotate - [select for diffs], Thu Aug 12 22:33:46 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.65: +3 -3
lines
Diff to previous 1.65 (colored)
Move wdc_kill_pending() to ata.c and rename it ata_kill_pending().
Revision 1.65 / (download) - annotate - [select for diffs], Thu Aug 12 21:34:52 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.64: +5 -5
lines
Diff to previous 1.64 (colored)
- Move wdc_xfer_pool, wdc_get_xfer(), wdc_free_xfer() to ata.c, and rename to ata_*. - Use a static initializer for the ata_xfer_pool.
Revision 1.39.2.2 / (download) - annotate - [select for diffs], Thu Aug 12 11:41:22 2004 UTC (18 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39.2.1: +18 -77
lines
Diff to previous 1.39.2.1 (colored)
Sync with HEAD.
Revision 1.64 / (download) - annotate - [select for diffs], Thu Aug 12 05:02:50 2004 UTC (18 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.63: +6 -6
lines
Diff to previous 1.63 (colored)
Rename some constants: WDC_COMPLETE -> ATACMD_COMPLETE WDC_QUEUED -> ATACMD_QUEUED WDC_TRY_AGAIN -> ATACMD_TRY_AGAIN
Revision 1.53.2.3 / (download) - annotate - [select for diffs], Wed Aug 11 19:44:09 2004 UTC (18 years, 9 months ago) by jmc
Branch: netbsd-2-0
CVS Tags: netbsd-2-base,
netbsd-2-0-RELEASE,
netbsd-2-0-RC5,
netbsd-2-0-RC4,
netbsd-2-0-RC3,
netbsd-2-0-RC2,
netbsd-2-0-RC1,
netbsd-2-0-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE
Branch point for: netbsd-2
Changes since 1.53.2.2: +18 -5
lines
Diff to previous 1.53.2.2 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored)
Pullup rev 1.58 (requested by bouyer in ticket #733) Implement asynchronous channel reset. Use this to reset the channel before doing a dump, instead of the hack in wdc_exec_xfer() based on C_POLL. This hack was causing problems on controllers with a shared queue, because we now can have C_POLL set during concurent channels probes
Revision 1.63 / (download) - annotate - [select for diffs], Wed Aug 11 18:41:46 2004 UTC (18 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.62: +4 -4
lines
Diff to previous 1.62 (colored)
Make datain_pio and dataout_pio function pointers in wdc_softc, which can be overridden by the backend if desired. Add experimental code to wdc_pcmcia to use this in memory-mapped mode, disabled by default.
Revision 1.62 / (download) - annotate - [select for diffs], Wed Aug 11 17:49:27 2004 UTC (18 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.61: +6 -60
lines
Diff to previous 1.61 (colored)
Add two helper functions -- wdc_datain_pio() and wdc_dataout_pio() -- which encapsulate the logic for the various methods of transferring data. Use these throughout.
Revision 1.61 / (download) - annotate - [select for diffs], Wed Aug 4 22:44:04 2004 UTC (18 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.60: +8 -12
lines
Diff to previous 1.60 (colored)
Change wdc_kill_pending() to take a struct ata_drive_datas * as argument, and kill only pending requests for this drive. Implement a DRIVE_WAITDRAIN flag, which will cause the active command to be killed once complete. Other minor fixes. Now it's possible to detach a ATA or ATAPI device from ioctl even when a dd on the raw char partition is running.
Revision 1.60 / (download) - annotate - [select for diffs], Wed Aug 4 18:24:10 2004 UTC (18 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.59: +4 -5
lines
Diff to previous 1.59 (colored)
Add struct ata_xfer *active_xfer to ata_queue. Now the active xfer isn't the head of the queue any more, this makes a few things easier (this will also help for tagged queuing support). Remove the WDCF_ACTIVE flag, test active_xfer != NULL instead. clean up wdc_free_xfer() and kill_xfer(). Clean up wdc_reset_channel(), and make it issue a ATAPI_SOFT_RESET if the active command is ATAPI. In wdc_atapi_get_params(), use AT_WAIT | AT_POLL for ATAPI_SOFT_RESET, so that we'll use tsleep() instead of delay(). In wdc_atapi_start(), call wdc_dmawait() at the right place.
Revision 1.39.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:45:46 2004 UTC (18 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.39: +291 -355
lines
Diff to previous 1.39 (colored)
Sync with HEAD
Revision 1.59 / (download) - annotate - [select for diffs], Sun Aug 1 21:40:41 2004 UTC (18 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.58: +3 -3
lines
Diff to previous 1.58 (colored)
Implement an atabus control device, and define some ATA bus control IOCTLS. Implement ATABUSIORESET, which will reset the given ATA bus.
Revision 1.58 / (download) - annotate - [select for diffs], Sat Jul 31 21:26:43 2004 UTC (18 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.57: +18 -5
lines
Diff to previous 1.57 (colored)
Implement asynchronous channel reset. Use this to reset the channel before doing a dump, instead of the hack in wdc_exec_xfer() based on C_POLL. This hack was causing problems on controllers with a shared queue, because we now can have C_POLL set during concurent channels probes (problem found and analysed on sparc64 by Martin Husemann). This should even make core dumps marginally more reliable on ATA drives.
Revision 1.53.2.2 / (download) - annotate - [select for diffs], Fri Jul 2 17:07:57 2004 UTC (18 years, 11 months ago) by he
Branch: netbsd-2-0
Changes since 1.53.2.1: +5 -4
lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored)
Pull up revisions 1.56-1.57 (requested by mycroft in ticket #572): Several fixes mostly related to USB: o Don't force ATA_SINGLE on devices which don't support READ/WRITE MULTI. Increases performance with several CF cards substantially. o Update copyright.
Revision 1.57 / (download) - annotate - [select for diffs], Tue Jun 22 19:20:56 2004 UTC (18 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.56: +3 -3
lines
Diff to previous 1.56 (colored)
Update copyright.
Revision 1.56 / (download) - annotate - [select for diffs], Tue Jun 22 19:20:14 2004 UTC (18 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.55: +4 -3
lines
Diff to previous 1.55 (colored)
Do not force ATA_SINGLE on devices that don't support READ/WRITE MULTI. We just have to take an interrupt for each sector. Tested with one laptop disk (which normally runs in DMA mode and was forced to single-sector transfers) and 3 CF cards. Increases the performance of the CF cards substantially (760KB/s->1240KB/s in one case, 410KB/s->750KB/s in the other two cases).
Revision 1.55 / (download) - annotate - [select for diffs], Tue Jun 1 19:32:30 2004 UTC (19 years ago) by mycroft
Branch: MAIN
Changes since 1.54: +4 -16
lines
Diff to previous 1.54 (colored)
Only downgrade modes due to an actual CRC error. Downgrading on other errors is anti-social -- especially given that there's no way to upgrade again short of rebooting. Also, downgrade UDMA modes more slowly. It's entirely possible that they're using an 80-wire cable, but it's just too long for the higher modes, or there is minor crosstalk.
Revision 1.53.2.1 / (download) - annotate - [select for diffs], Sat May 29 14:06:01 2004 UTC (19 years ago) by tron
Branch: netbsd-2-0
Changes since 1.53: +3 -2
lines
Diff to previous 1.53 (colored)
Pull up revision 1.54 (requested by bouyer in ticket #396): Add a delay(10) after re-enabling interrupts in the control register. Some controllers/drives (e.g. SataLink 3114 with WD Raptor) require it. Should fix kern/23808 by Chris Gilbert, patch suplied by Chris Gilbert on tech-kern, extended to all places enabling interrupts by me.
Revision 1.54 / (download) - annotate - [select for diffs], Sat May 8 15:03:32 2004 UTC (19 years ago) by bouyer
Branch: MAIN
Changes since 1.53: +3 -2
lines
Diff to previous 1.53 (colored)
Add a delay(10) after re-enabling interrupts in the control register. Some controllers/drives (e.g. SataLink 3114 with WD Raptor) require it. Should fix kern/23808 by Chris Gilbert, patch suplied by Chris Gilbert on tech-kern, extended to all places enabling interrupts by me.
Revision 1.53 / (download) - annotate - [select for diffs], Tue Mar 2 13:13:57 2004 UTC (19 years, 3 months ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.52: +3 -2
lines
Diff to previous 1.52 (colored)
During a control operation (like a reset), wait 10us after selecting the drive. This fixes (or rather, works around) a timing problem with WD Raptor drives attached to a Sil3114 SATA controller. Should fix PR 23808, it fixes the same problem for me.
Revision 1.52 / (download) - annotate - [select for diffs], Sat Jan 3 23:59:58 2004 UTC (19 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.51: +3 -3
lines
Diff to previous 1.51 (colored)
More structure member namespace cleanup: thread -> ch_thread
Revision 1.51 / (download) - annotate - [select for diffs], Sat Jan 3 22:56:53 2004 UTC (19 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.50: +40 -34
lines
Diff to previous 1.50 (colored)
More wdc_channel structure member namespace cleanup: - channel -> ch_channel - wdc -> ch_wdc
Revision 1.50 / (download) - annotate - [select for diffs], Sat Jan 3 01:50:53 2004 UTC (19 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.49: +17 -17
lines
Diff to previous 1.49 (colored)
Rename "struct channel_softc" to "struct wdc_channel".
Revision 1.49 / (download) - annotate - [select for diffs], Thu Jan 1 20:25:22 2004 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.48: +7 -7
lines
Diff to previous 1.48 (colored)
Prepend "wdc_" to wait_for_drq, wait_for_unbusy, and wait_for_ready.
Revision 1.48 / (download) - annotate - [select for diffs], Thu Jan 1 17:18:54 2004 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.47: +64 -63
lines
Diff to previous 1.47 (colored)
Rename: - wdc_xfer to ata_xfer - channel_queue to ata_queue and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA controllers. Clean up the member names of these structures while at it.
Revision 1.47 / (download) - annotate - [select for diffs], Sun Dec 14 05:35:34 2003 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.46: +2 -3
lines
Diff to previous 1.46 (colored)
No need to include wdvar.h anymore.
Revision 1.46 / (download) - annotate - [select for diffs], Sun Dec 14 05:33:29 2003 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.45: +6 -6
lines
Diff to previous 1.45 (colored)
Instead of calling wddone() directly, set a (*drv_done)() callback in the ata_drive_datas structure and invoke that.
Revision 1.45 / (download) - annotate - [select for diffs], Sun Dec 14 02:48:36 2003 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.44: +23 -22
lines
Diff to previous 1.44 (colored)
Liberally apply static.
Revision 1.44 / (download) - annotate - [select for diffs], Sun Dec 14 02:45:48 2003 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.43: +23 -43
lines
Diff to previous 1.43 (colored)
De-__P and use ANSI-style function decls.
Revision 1.43 / (download) - annotate - [select for diffs], Thu Nov 27 23:02:40 2003 UTC (19 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.42: +10 -10
lines
Diff to previous 1.42 (colored)
There are some cards that map the ATA control and IDE DMA registers in a different fashion. Individually, they have the same functionality, but their layout is different. An example of such a chipset is the Promise 203xx. To be able to deal with this, transform the cmd and dma bus_space handles into an array of handles, each seperately created with bus_space_subregion. The code generated by using the extra indirection shouldn't change much, since the extra indirection is negated by having the offset calculation already done in bus_space_subregion. E.g. bus_space_write_4(tag, handle, offset, value) becomes bus_space_write_4(tag, handles[offset], 0, value) Reviewed by Manuel Bouyer. Tested on wdc_isa, wdc_pcmcia, viaide, piixide (i386) and on cmdide (sparc64).
Revision 1.42 / (download) - annotate - [select for diffs], Wed Oct 29 22:05:15 2003 UTC (19 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.41: +3 -3
lines
Diff to previous 1.41 (colored)
freese->freeze, as pointed out by Frederick Bruck.
Revision 1.41 / (download) - annotate - [select for diffs], Wed Oct 8 10:58:12 2003 UTC (19 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.40: +162 -216
lines
Diff to previous 1.40 (colored)
Make the ATA mid-layer appears as atabus, as proposed in http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html This adds a device (atabus) between IDE controllers and wd or atapibus, to have each ATA channel show up in the device tree. Later there will be atabus devices in /dev, so that we can do IOCTL on them. Each atabus has its own kernel thread, to handle operations that needs polling, e.g. reset and others. Device probing on each bus it defered to the atabus thread creation. This allows to do the reset and basic device probes in parallel, which reduce boot time on systems with several pciide controllers.
Revision 1.40 / (download) - annotate - [select for diffs], Sun Oct 5 17:48:49 2003 UTC (19 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.39: +4 -5
lines
Diff to previous 1.39 (colored)
Remove references to University of California from my copyright notices.
Revision 1.36.4.1 / (download) - annotate - [select for diffs], Mon Apr 28 06:26:00 2003 UTC (20 years, 1 month ago) by tron
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH002-RELEASE,
netbsd-1-6-PATCH002-RC4,
netbsd-1-6-PATCH002-RC3,
netbsd-1-6-PATCH002-RC2,
netbsd-1-6-PATCH002-RC1,
netbsd-1-6-PATCH002
Changes since 1.36: +4 -2
lines
Diff to previous 1.36 (colored) next main 1.37 (colored)
Pull up revision 1.39 (requested by nakayama in ticket #1275): Make DMA mode works on Promise Ultra66/100 with 48-bit LBA drives. Ok'ed by bouyer in tech-kern@netbsd.org.
Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 28 05:20:29 2003 UTC (20 years, 1 month ago) by nakayama
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.38: +4 -2
lines
Diff to previous 1.38 (colored)
Make DMA mode works on Promise Ultra66/100 with 48-bit LBA drives. Ok'ed by bouyer in tech-kern@netbsd.org.
Revision 1.28.4.7 / (download) - annotate - [select for diffs], Fri Oct 18 02:41:30 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.28.4.6: +1 -1
lines
Diff to previous 1.28.4.6 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored)
Catch up to -current.
Revision 1.30.2.5 / (download) - annotate - [select for diffs], Thu Oct 10 18:38:26 2002 UTC (20 years, 7 months ago) by jdolecek
Branch: kqueue
Changes since 1.30.2.4: +3 -3
lines
Diff to previous 1.30.2.4 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)
sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
Revision 1.38 / (download) - annotate - [select for diffs], Fri Sep 27 15:37:09 2002 UTC (20 years, 8 months ago) by provos
Branch: MAIN
CVS Tags: nathanw_sa_before_merge,
nathanw_sa_base,
kqueue-beforemerge,
kqueue-base,
kqueue-aftermerge,
gmcgarry_ucred_base,
gmcgarry_ucred,
gmcgarry_ctxsw_base,
gmcgarry_ctxsw,
fvdl_fs64_base
Changes since 1.37: +3 -3
lines
Diff to previous 1.37 (colored)
remove trailing \n in panic(). approved perry.
Revision 1.30.2.4 / (download) - annotate - [select for diffs], Fri Sep 6 08:43:55 2002 UTC (20 years, 8 months ago) by jdolecek
Branch: kqueue
Changes since 1.30.2.3: +3 -3
lines
Diff to previous 1.30.2.3 (colored) to branchpoint 1.30 (colored)
sync kqueue branch with HEAD
Revision 1.36.2.1 / (download) - annotate - [select for diffs], Thu Aug 29 05:22:21 2002 UTC (20 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.36: +3 -3
lines
Diff to previous 1.36 (colored) next main 1.37 (colored)
catch up with -current.
Revision 1.28.4.6 / (download) - annotate - [select for diffs], Thu Aug 1 02:44:36 2002 UTC (20 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28.4.5: +3 -3
lines
Diff to previous 1.28.4.5 (colored) to branchpoint 1.28 (colored)
Catch up to -current.
Revision 1.37 / (download) - annotate - [select for diffs], Fri Jul 26 01:00:42 2002 UTC (20 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.36: +3 -3
lines
Diff to previous 1.36 (colored)
enouth -> enough.
Revision 1.30.2.3 / (download) - annotate - [select for diffs], Sun Jun 23 17:45:53 2002 UTC (20 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.30.2.2: +3 -4
lines
Diff to previous 1.30.2.2 (colored) to branchpoint 1.30 (colored)
catch up with -current on kqueue branch
Revision 1.28.4.5 / (download) - annotate - [select for diffs], Thu Jun 20 03:44:20 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28.4.4: +3 -4
lines
Diff to previous 1.28.4.4 (colored) to branchpoint 1.28 (colored)
Catch up to -current.
Revision 1.36 / (download) - annotate - [select for diffs], Tue Apr 23 20:41:13 2002 UTC (21 years, 1 month ago) by bouyer
Branch: MAIN
CVS Tags: netbsd-1-6-base,
netbsd-1-6-RELEASE,
netbsd-1-6-RC3,
netbsd-1-6-RC2,
netbsd-1-6-RC1,
netbsd-1-6-PATCH001-RELEASE,
netbsd-1-6-PATCH001-RC3,
netbsd-1-6-PATCH001-RC2,
netbsd-1-6-PATCH001-RC1,
netbsd-1-6-PATCH001
Branch point for: netbsd-1-6,
gehenna-devsw
Changes since 1.35: +3 -4
lines
Diff to previous 1.35 (colored)
More copyright fixes, pointed out by Thomas. Thanks !
Revision 1.28.4.4 / (download) - annotate - [select for diffs], Thu Feb 28 04:13:12 2002 UTC (21 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28.4.3: +48 -9
lines
Diff to previous 1.28.4.3 (colored) to branchpoint 1.28 (colored)
Catch up to -current.
Revision 1.30.2.2 / (download) - annotate - [select for diffs], Mon Feb 11 20:09:38 2002 UTC (21 years, 3 months ago) by jdolecek
Branch: kqueue
Changes since 1.30.2.1: +48 -9
lines
Diff to previous 1.30.2.1 (colored) to branchpoint 1.30 (colored)
Sync w/ -current.
Revision 1.35 / (download) - annotate - [select for diffs], Mon Jan 14 02:17:59 2002 UTC (21 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: newlock-base,
newlock,
ifpoll-base,
eeh-devprop-base,
eeh-devprop
Changes since 1.34: +6 -2
lines
Diff to previous 1.34 (colored)
add the dma command ext translations. pointed out by manuel.
Revision 1.34 / (download) - annotate - [select for diffs], Sun Jan 13 17:24:29 2002 UTC (21 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.33: +44 -9
lines
Diff to previous 1.33 (colored)
Add LBA48 support based on patches from Keisuke YOSHIDA. KNF a bit while I am there.
Revision 1.30.2.1 / (download) - annotate - [select for diffs], Thu Jan 10 19:53:39 2002 UTC (21 years, 4 months ago) by thorpej
Branch: kqueue
Changes since 1.30: +21 -2
lines
Diff to previous 1.30 (colored)
Sync kqueue branch with -current.
Revision 1.28.4.3 / (download) - annotate - [select for diffs], Tue Jan 8 00:29:21 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28.4.2: +19 -3
lines
Diff to previous 1.28.4.2 (colored) to branchpoint 1.28 (colored)
Catch up to -current.
Revision 1.33 / (download) - annotate - [select for diffs], Mon Dec 3 00:20:23 2001 UTC (21 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.32: +3 -3
lines
Diff to previous 1.32 (colored)
Update my copyrigth.
Revision 1.32 / (download) - annotate - [select for diffs], Mon Dec 3 00:11:15 2001 UTC (21 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.31: +18 -2
lines
Diff to previous 1.31 (colored)
Allow wd to attach to something else than wdc/pciide (like USB<->ATA bridges): - move some functions from ata.c to ata_wdc.c or wdc.c. - add callbacks to struct ata_bustype so that wd.c doesn't call directly functions from the lower level driver.
Revision 1.28.4.2 / (download) - annotate - [select for diffs], Wed Nov 14 19:13:59 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28.4.1: +4 -1
lines
Diff to previous 1.28.4.1 (colored) to branchpoint 1.28 (colored)
Catch up to -current.
Revision 1.31 / (download) - annotate - [select for diffs], Tue Nov 13 12:53:09 2001 UTC (21 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.30: +4 -1
lines
Diff to previous 1.30 (colored)
add RCSID
Revision 1.28.4.1 / (download) - annotate - [select for diffs], Thu Jun 21 20:01:17 2001 UTC (21 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.28: +8 -10
lines
Diff to previous 1.28 (colored)
Catch up to -current.
Revision 1.30 / (download) - annotate - [select for diffs], Wed Jun 13 18:17:40 2001 UTC (21 years, 11 months ago) by bjh21
Branch: MAIN
CVS Tags: thorpej-mips-cache-base,
thorpej-mips-cache,
thorpej-devvp-base3,
thorpej-devvp-base2,
thorpej-devvp-base,
thorpej-devvp,
pre-chs-ubcperf,
post-chs-ubcperf
Branch point for: kqueue
Changes since 1.29: +7 -9
lines
Diff to previous 1.29 (colored)
Add explicit support for IDE and SCSI adaptors which don't support interrupts. On such adaptors, all transfers are done in polling mode. OK'ed by Manuel on tech-kern.
Revision 1.21.2.3 / (download) - annotate - [select for diffs], Sat Apr 21 17:48:16 2001 UTC (22 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.21.2.2: +2 -2
lines
Diff to previous 1.21.2.2 (colored) next main 1.22 (colored)
Sync with HEAD
Revision 1.29 / (download) - annotate - [select for diffs], Wed Apr 18 05:40:03 2001 UTC (22 years, 1 month ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase,
thorpej_scsipi_beforemerge,
thorpej_scsipi_base
Changes since 1.28: +2 -2
lines
Diff to previous 1.28 (colored)
fix typo in comment - s/splio()/splbio()/
Revision 1.21.2.2 / (download) - annotate - [select for diffs], Mon Nov 20 11:39:50 2000 UTC (22 years, 6 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.21.2.1: +41 -38
lines
Diff to previous 1.21.2.1 (colored)
Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
Revision 1.19.2.3 / (download) - annotate - [select for diffs], Fri Jul 7 17:33:46 2000 UTC (22 years, 10 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003
Changes since 1.19.2.2: +34 -29
lines
Diff to previous 1.19.2.2 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)
Apply patch (requested by bouyer): Add support for the following PCIIDE controllers: o AMD 756 o CMD PCI0648 and PCI0649 o Hightpoint HPT366 o OPTi 82c621 (and a few of its derivatives) o Promise Ultra/33 and Ultra/66 o Intel 82801 (ICH/ICH0) Also fix PR#10437 (detect more ATAPI devices).
Revision 1.27.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:06:15 2000 UTC (22 years, 11 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.27: +13 -1
lines
Diff to previous 1.27 (colored) next main 1.28 (colored)
Sync w/ netbsd-1-5-base.
Revision 1.28 / (download) - annotate - [select for diffs], Mon Jun 12 21:10:40 2000 UTC (22 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: netbsd-1-5-base,
netbsd-1-5-RELEASE,
netbsd-1-5-PATCH003,
netbsd-1-5-PATCH002,
netbsd-1-5-PATCH001,
netbsd-1-5-BETA2,
netbsd-1-5-BETA,
netbsd-1-5-ALPHA2,
netbsd-1-5
Branch point for: nathanw_sa
Changes since 1.27: +13 -1
lines
Diff to previous 1.27 (colored)
Add a callback (*irqack), for controllers that need special action to ack the interrupt once it has been ack'd on the drive.
Revision 1.27 / (download) - annotate - [select for diffs], Mon May 15 08:32:07 2000 UTC (23 years ago) by bouyer
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.26: +11 -12
lines
Diff to previous 1.26 (colored)
Sync my copyrigth notice
Revision 1.26 / (download) - annotate - [select for diffs], Sat Apr 1 14:32:24 2000 UTC (23 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.25: +11 -15
lines
Diff to previous 1.25 (colored)
- DMA code cleanup: pciide_dma_finish() doesn't stop/unload the current DMA op if an IRQ was not detected, unless the force flag was given. Use this to detect if the IRQ was for us (closer to shared IRQ for controllers which don't have their own IRQ handler in pciide.c) and to poll for DMA xfer. Also makes the timeout recovery code simpler. - ATAPI cleanup: don't call controller-specific functions from atapiconf.c (wdc_*), so that it's possible to attach an atapibus to something else than a wdc/pciide (Hi Lennart :). Overload struct scsi_adapter with struct atapi_adapter, defined as struct scsi_adapter + atapi-specific callbacks. scsipi_link still points to an scsi_adapter, atapi code casts it to atapi_adapter if needed. Move atapi_softc to atapiconf.h so that it can be used by the underlying controller code (e.g. atapi_wdc.c). Add an atapi-specific callback *atapi_probedev(), which probe a drive in a controller-specific way, allocate the sc_link and fills in the ataparams if needed. It then calls atapi_probedev() (from atapiconf.c) to do the generic initialisations and attach the device. - While I'm there merge and centralise the state definitions in atavar.h. It should now be possible to use a common ata/atapi routine to set the drive's modes (will do later).
Revision 1.25 / (download) - annotate - [select for diffs], Sat Mar 25 21:37:51 2000 UTC (23 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.24: +1 -2
lines
Diff to previous 1.24 (colored)
Remove unneeded assignement to nblks
Revision 1.24 / (download) - annotate - [select for diffs], Thu Mar 23 07:01:27 2000 UTC (23 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.23: +5 -4
lines
Diff to previous 1.23 (colored)
New callout mechanism with two major improvements over the old timeout()/untimeout() API: - Clients supply callout handle storage, thus eliminating problems of resource allocation. - Insertion and removal of callouts is constant time, important as this facility is used quite a lot in the kernel. The old timeout()/untimeout() API has been removed from the kernel.
Revision 1.19.2.2 / (download) - annotate - [select for diffs], Sun Jan 23 12:26:01 2000 UTC (23 years, 4 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH002
Changes since 1.19.2.1: +5 -9
lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored)
Pull up revision 1.23 (requested by bouyer): Improve the downgrade logic to work better in some cases (especially for Acer Labs M5229 controllers with Ultra-DMA/66 disks).
Revision 1.23 / (download) - annotate - [select for diffs], Mon Jan 17 00:01:00 2000 UTC (23 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: chs-ubc2-newbase
Changes since 1.22: +5 -9
lines
Diff to previous 1.22 (colored)
Improve the downgrade logic: - If UDMA 2 is failing try UDMA 1 first, it helps in some cases - downgrade if we get an error in the first 4000 xfers, or if we get 4 errors in 4000 xfers if the first 4000 went without troubles. While I'm there commit a local change I have since some time to get my CD probed: issue a "blanck" IDENTIFY before the one used to detect slave ghosts, with my drive the first IDENTIFY following a controller reset fails with an aborted command ...
Revision 1.21.6.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:34:35 1999 UTC (23 years, 5 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.21: +33 -1
lines
Diff to previous 1.21 (colored) next main 1.22 (colored)
Pull up to last week's -current.
Revision 1.21.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:40:12 1999 UTC (23 years, 6 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.21: +33 -1
lines
Diff to previous 1.21 (colored) next main 1.22 (colored)
Sync with -current
Revision 1.21.2.1 / (download) - annotate - [select for diffs], Wed Oct 20 22:03:14 1999 UTC (23 years, 7 months ago) by thorpej
Branch: thorpej_scsipi
Changes since 1.21: +33 -1
lines
Diff to previous 1.21 (colored)
Sync w/ trunk.
Revision 1.22 / (download) - annotate - [select for diffs], Wed Oct 20 15:22:24 1999 UTC (23 years, 7 months ago) by enami
Branch: MAIN
CVS Tags: wrstuden-devbsize-base,
wrstuden-devbsize-19991221,
fvdl-softdep-base,
comdex-fall-1999-base,
comdex-fall-1999
Changes since 1.21: +33 -1
lines
Diff to previous 1.21 (colored)
Cancel active transfers on aic/wdc detach. Also makes LS-120 drive works for me again.
Revision 1.19.2.1 / (download) - annotate - [select for diffs], Wed Aug 25 11:17:59 1999 UTC (23 years, 9 months ago) by he
Branch: netbsd-1-4
Changes since 1.19: +36 -13
lines
Diff to previous 1.19 (colored)
Pull up revision 1.19->1.20: Add some debug printfs, change timeout handling to be more efficient and less error-prone, and fix the "lockup after lost interrupt" problem some users have been reporting. (bouyer)
Revision 1.21 / (download) - annotate - [select for diffs], Mon Aug 9 09:43:11 1999 UTC (23 years, 9 months ago) by bouyer
Branch: MAIN
Branch point for: wrstuden-devbsize,
thorpej_scsipi,
fvdl-softdep
Changes since 1.20: +2 -3
lines
Diff to previous 1.20 (colored)
Don't use C_NEEDDONE, it's deprecated.
Revision 1.20 / (download) - annotate - [select for diffs], Fri Aug 6 12:00:23 1999 UTC (23 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.19: +36 -13
lines
Diff to previous 1.19 (colored)
- Add some debug printf (WDCPROBE) in _wdcreset_wait(), I've needed these 2 times in the past - Set up timeout per xfer instead of per interrupt. This helps with PIO transfer (we would call timeout()/untimout() several times for a transfer). - If we missed an interrupt for a PIO transfer, reset and restart it immedialy, don't try to recover and continue. If we missed an interrupt we may have lost a read/write cycle on the IDE bus. If this happens 1) we corrupt data and 2) we enter an interrupt loop at the end of the xfer, as the drive has some more data to read/write, but the host thinks the xfer is done. This last change fix the (or at last some of the) 'lookup after lost interrupt' some peoples have been experiencing.
Revision 1.19 / (download) - annotate - [select for diffs], Thu Apr 1 21:46:28 1999 UTC (24 years, 2 months ago) by bouyer
Branch: MAIN
CVS Tags: netbsd-1-4-base,
netbsd-1-4-RELEASE,
netbsd-1-4-PATCH001,
kame_14_19990705,
kame_14_19990628,
kame_141_19991130,
kame,
chs-ubc2-base,
chs-ubc2
Branch point for: netbsd-1-4
Changes since 1.18: +14 -13
lines
Diff to previous 1.18 (colored)
- change the interrupt routines to take a 3rd arguments, set to 1 if we are called from the interrupt or timeout handler, 0 otherwise. - use this to know if we can busy-wait for wait_for_unbusy or wait_for_ready This fixes a bug where CDs withot the DRQ_INTR capability would not busy-wait for the CMDOUT phase. While I'm there change 2 delay() to DELAY() for consistency, and garbage-collect some old code from wdcintr() which has been ifdef'd out for some time now.
Revision 1.18 / (download) - annotate - [select for diffs], Thu Mar 25 16:17:36 1999 UTC (24 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.17: +15 -9
lines
Diff to previous 1.17 (colored)
Avoid busy-waiting when possible if we are not polling (real IRQ or timeout callback). Shared PCI IRQ should now work (but still untested).
Revision 1.17 / (download) - annotate - [select for diffs], Wed Mar 17 10:13:56 1999 UTC (24 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.16: +14 -15
lines
Diff to previous 1.16 (colored)
Revert to a 10s timeout, 1s is too low for drives in sleep mode.
Revision 1.16 / (download) - annotate - [select for diffs], Sun Mar 7 14:02:53 1999 UTC (24 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.15: +39 -23
lines
Diff to previous 1.15 (colored)
Keep track of CRC errors in Ultra-DMA mode. If we noticed a CRC error and we need to downgrade, downgrade to PIO, as it has been shown if we got CRC errors in Ultra-DMA mode, we will have silent data corruption in multiword DMA mode (isn't IDE wonderfull ? :). Set timeout to 1s for "normal" ata I/O, to minimise the effects of missed interrupts.
Revision 1.15 / (download) - annotate - [select for diffs], Sun Feb 21 00:52:04 1999 UTC (24 years, 3 months ago) by hubertf
Branch: MAIN
Changes since 1.14: +3 -1
lines
Diff to previous 1.14 (colored)
Only define WDCDEBUG if not already define (e.g. by kernel option)
Revision 1.14 / (download) - annotate - [select for diffs], Mon Feb 8 15:22:28 1999 UTC (24 years, 3 months ago) by bouyer
Branch: MAIN
CVS Tags: bouyer-ide-last-dist
Changes since 1.13: +2 -3
lines
Diff to previous 1.13 (colored)
There's no ATA draft where it is required for the drive to set DRDY | DSC when the disk is ready to transfer data, and in ATA-5 the DSC has been obsoleted. So only wait for DRQ to transfer data. This can be made conditional on the ATA version if it's proven to break with some drives (worked with all the drives I have access to). While I'm there correct a few typos.
Revision 1.13 / (download) - annotate - [select for diffs], Fri Jan 29 11:36:20 1999 UTC (24 years, 4 months ago) by bouyer
Branch: MAIN
Changes since 1.12: +2 -2
lines
Diff to previous 1.12 (colored)
Cosmetic changes, from Soren S. Jorvan.
Revision 1.12 / (download) - annotate - [select for diffs], Sat Jan 9 03:05:19 1999 UTC (24 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.11: +17 -9
lines
Diff to previous 1.11 (colored)
Make this compile again after void * arithmetic changes.
Revision 1.11 / (download) - annotate - [select for diffs], Fri Jan 8 18:10:35 1999 UTC (24 years, 4 months ago) by augustss
Branch: MAIN
Changes since 1.10: +11 -11
lines
Diff to previous 1.10 (colored)
Avoid arithmetic on `void *' since that's not ANSI C.
Revision 1.10 / (download) - annotate - [select for diffs], Wed Dec 16 13:02:03 1998 UTC (24 years, 5 months ago) by bouyer
Branch: MAIN
Changes since 1.9: +21 -13
lines
Diff to previous 1.9 (colored)
Keep track of DMA errors, and downgrade the transert mode (UDMA ->DMA, DMA->PIO) in case of 2 consecutive errors. Don't downgrade if the PIO/DMA/UDMA modes were forced by a config flag.
Revision 1.9 / (download) - annotate - [select for diffs], Sat Nov 21 15:41:41 1998 UTC (24 years, 6 months ago) by drochner
Branch: MAIN
CVS Tags: kenh-if-detach-base,
kenh-if-detach
Changes since 1.8: +2 -2
lines
Diff to previous 1.8 (colored)
in wdc_softc: access the per-channel data via a pointer array instead of an array of fixed-sized channel_softc elements. This way IDE controllers which more than 1 channel (pciide) can extend the channel data easily for private needs. To avoid the double dereference at runtime, change the argument of wdcstart() to the channel data pointer instead of the array index.
Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 20 01:23:52 1998 UTC (24 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.7: +19 -1
lines
Diff to previous 1.7 (colored)
Implement controller reference counting on ATA devices.
Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 11 19:38:27 1998 UTC (24 years, 6 months ago) by bouyer
Branch: MAIN
Changes since 1.6: +3 -3
lines
Diff to previous 1.6 (colored)
- clearify the boot messages (features supported vs features used). Thanks to Havard Eidnes for his complains about this :) - fix some typo in comments - hoppefully better detection of drives reporting bogus PIO modes.
Revision 1.6 / (download) - annotate - [select for diffs], Tue Oct 13 15:18:46 1998 UTC (24 years, 7 months ago) by bouyer
Branch: MAIN
CVS Tags: chs-ubc-base,
chs-ubc
Changes since 1.5: +4 -1
lines
Diff to previous 1.5 (colored)
Add a new drive flag, DRIVE_MODE, set when the drive properly reported its PIO/DMA modes. Don't try a SET_FEATURE if it didn't report its mode.
Revision 1.5 / (download) - annotate - [select for diffs], Tue Oct 13 15:02:41 1998 UTC (24 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.4: +4 -2
lines
Diff to previous 1.4 (colored)
In debug message, always print controller:channel:drive
Revision 1.4 / (download) - annotate - [select for diffs], Tue Oct 13 09:33:59 1998 UTC (24 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.3: +5 -5
lines
Diff to previous 1.3 (colored)
Properly separate DEBUF_XFERS and DEBUG_FUNCS: DEBUF_XFERS is for data transfers (may be called often), where DEBUG_FUNCS is for setup functions (not used for normal contitions).
Revision 1.3 / (download) - annotate - [select for diffs], Tue Oct 13 05:39:01 1998 UTC (24 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.2: +2 -2
lines
Diff to previous 1.2 (colored)
Default to "no debugging messages" (still patchable).
Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 12 16:09:15 1998 UTC (24 years, 7 months ago) by bouyer
Branch: MAIN
Changes since 1.1: +731 -0
lines
Diff to previous 1.1 (colored)
Merge bouyer-ide
Revision 1.1.2.15 / (download) - annotate - [select for diffs], Mon Oct 5 08:17:34 1998 UTC (24 years, 7 months ago) by bouyer
Branch: bouyer-ide
CVS Tags: bouyer-ide-merge
Changes since 1.1.2.14: +4 -11
lines
Diff to previous 1.1.2.14 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Rename WDC_CAPABILITY_PIO to WDC_CAPABILITY_MODE, as it's used to tell wether the controller's driver can tell which timing mode it uses. Check this before setting DMA modes too. This allow the generic DMA code to work again.
Revision 1.1.2.14 / (download) - annotate - [select for diffs], Sun Oct 4 19:19:04 1998 UTC (24 years, 7 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.13: +1 -3
lines
Diff to previous 1.1.2.13 (colored) to branchpoint 1.1 (colored)
Remove an unneeded delay().
Revision 1.1.2.13 / (download) - annotate - [select for diffs], Sun Oct 4 15:50:23 1998 UTC (24 years, 7 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.12: +10 -13
lines
Diff to previous 1.1.2.12 (colored) to branchpoint 1.1 (colored)
New flag for wdc_xfer: C_DMA, set when a cmd will use DMA. This reduce some if() in ata_wdc.c and atapi_wdc.c from 3 tests to one.
Revision 1.1.2.12 / (download) - annotate - [select for diffs], Fri Oct 2 19:37:19 1998 UTC (24 years, 8 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.11: +16 -15
lines
Diff to previous 1.1.2.11 (colored) to branchpoint 1.1 (colored)
Cleanup a few error message, remove some dead code. Re-add a reset at end of attach, unless we have WDC_NO_EXTRA_RESETS. Add support for data32iot/data32ioh from -current: each controller pass WDC_CAPABILITY_DATA32 if they can do 32bit, and WDC_CAPABILITY_DATA16 if they can do 16bit. For controller that support both, the usual autodetect mechanism is still used.
Revision 1.1.2.11 / (download) - annotate - [select for diffs], Sun Sep 20 17:08:01 1998 UTC (24 years, 8 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.10: +8 -3
lines
Diff to previous 1.1.2.10 (colored) to branchpoint 1.1 (colored)
Init up xfer->drive in wdc_ata_bio(), or bad things will happen for drive 1. No need to init xfer->channel, it's done in wdc_exec_xfer().
Revision 1.1.2.10 / (download) - annotate - [select for diffs], Sun Sep 20 13:16:15 1998 UTC (24 years, 8 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.9: +29 -51
lines
Diff to previous 1.1.2.9 (colored) to branchpoint 1.1 (colored)
- always call config_found() from wdcattach(), instead of printing our own the "not configured" message ourselve. When no atapibus is configured, use a fake ata_atapi_attach, else call wdc_atapibus_attach(). This way we don't have to include the whole atapi support in an ata-only config. - the dma_* function pointers take a 'int flags' as last argument, instead of an 'int read'. The 2 valid flags are: WDC_DMA_READ (to select read/write) and WDC_DMA_POLL, to signal interrupt-less mode (for core dumps). - Reworked wdcprobe() so look more like the old one. A status of 0xff is interpreted as "no drive" (freebsd does this); this this speed up the probe for non-IDE machines (a reset timeout has been bumped to 31s, to match the specs). The probe set ups the drive flags to either ATA or ATAPI (depend on register signature) or OLD (if register signature don't match, but a working drive appears to be there). Later the ATA code will look at the OLD flag to decide wether there is no drive, or an old (ST506) one if WDC_IDENTIFY fails. - For known PCI chips, don't use the wdcprobe() heuristic to find wether a channel is enabled/disabled; use the chip's specific registers for this. - Clear the command queue when we have a polled command. This allows dumps to work even if a command was being handled by the controller at panic time. - Increase the number of available DMA segments by one, as user requests may not be aligned on a page boundary.
Revision 1.1.2.9 / (download) - annotate - [select for diffs], Fri Aug 21 16:34:46 1998 UTC (24 years, 9 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.8: +23 -23
lines
Diff to previous 1.1.2.8 (colored) to branchpoint 1.1 (colored)
Sync with -current
Revision 1.1.2.8 / (download) - annotate - [select for diffs], Thu Aug 13 14:27:47 1998 UTC (24 years, 9 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.7: +101 -68
lines
Diff to previous 1.1.2.7 (colored) to branchpoint 1.1 (colored)
- sync with HEAD - better error detection and report for wd drives - better wddump() support - wdcwait() now takes a timout argument, so that we can honnor the timeout argument of scsipi cmds.
Revision 1.1.2.7 / (download) - annotate - [select for diffs], Tue Jun 23 08:07:36 1998 UTC (24 years, 11 months ago) by leo
Branch: bouyer-ide
Changes since 1.1.2.6: +47 -20
lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored)
Add necessary cruft to handle swapped byte-lanes on the data-register. It basically boils down to the fact that there are 2 new options: WDC_CAPABILITY_{ATA,ATAPI}_NOSTREAM with which you are able to control the usage bus_space_read_multi_X() vs. bus_space_read_multi_stream_X().
Revision 1.1.2.6 / (download) - annotate - [select for diffs], Tue Jun 9 13:32:32 1998 UTC (24 years, 11 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.5: +3 -1
lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored)
If an error occured while setting up the drive, reset the drive's state to 0.
Revision 1.1.2.5 / (download) - annotate - [select for diffs], Tue Jun 9 12:56:54 1998 UTC (24 years, 11 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.4: +4 -1
lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored)
- sync with trunck - don't try to set the drive's PIO mode if we don't know how to set it on the controller. This seems to confuse some 'intelligent' ISA controllers.
Revision 1.1.2.4 / (download) - annotate - [select for diffs], Fri Jun 5 17:28:22 1998 UTC (24 years, 11 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.3: +4 -4
lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)
_DMA -> _UDMA, + cosmetic changes. Ultra DMA still doesn't work.
Revision 1.1.2.3 / (download) - annotate - [select for diffs], Fri Jun 5 16:17:47 1998 UTC (24 years, 11 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.2: +8 -4
lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)
- call wdc_ata_bio_done() only once. - better error recovery: if an error occured, retry the transfer in single sector PIO mode.
Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Jun 5 10:09:13 1998 UTC (24 years, 11 months ago) by bouyer
Branch: bouyer-ide
Changes since 1.1.2.1: +6 -2
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)
A few bux fixes (untested): - If the PIO mode of the controller is unknown, put the drive in the hightest mode it supports. A drive in a faster mode than the controller should work. - Create DMA maps even for unknown controllers in pciide.
Revision 1.1.2.1 / (download) - annotate - [select for diffs], Thu Jun 4 16:52:34 1998 UTC (25 years ago) by bouyer
Branch: bouyer-ide
Changes since 1.1: +686 -0
lines
Diff to previous 1.1 (colored)
Commit changes to the IDE system in a branch. This allows a better separation between higth-level and low-level (i.e. registers read/write) and generalize the queue for all commands. This also add supports for IDE DMA.
Revision 1.1, Thu Jun 4 16:52:34 1998 UTC (25 years ago) by bouyer
Branch: MAIN
CVS Tags: bouyer-ide-base
Branch point for: bouyer-ide
FILE REMOVED
file ata_wdc.c was initially added on branch bouyer-ide.