Commit Graph

538 Commits

Author SHA1 Message Date
pooka 61e8303e9d Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern
2007-11-26 19:01:26 +00:00
christos eb90df6853 From Marco Trillo (marcotrillo at gmail dot com):
Add Advanced power management in atactl(8)
2007-11-18 17:48:21 +00:00
itohy cf3882284c more KNF changes 2007-11-07 08:59:03 +00:00
itohy 18f935c281 KNF or make it compile by gcc 2 2007-11-07 08:56:41 +00:00
jnemeth a04503ddd4 PR/37251 - Brian Buhrow -- FORCE_LBA48 on seagate drives larger then 1TB 2007-10-31 09:51:20 +00:00
ad a2a3828545 machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h 2007-10-19 11:59:34 +00:00
ad 2af68666da Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.
2007-10-08 16:41:05 +00:00
bouyer cf9d41447f Add a workaround for drives with the LBA48 bug:
if we get a "ID not found" error for a transfer crossing LBA48_THRESHOLD,
and the drive is larger than 128GB, automatically add WD_QUIRK_FORCE_LBA48
to the drive's quirks and retry the transfers.
Hopefully this will obsolete the WD_QUIRK_FORCE_LBA48 quirk list ...
2007-09-16 18:41:47 +00:00
jnemeth 2c21568896 yet more caddr_t fallout 2007-09-05 05:36:19 +00:00
bouyer bd627359dd Improved SATA support, from Jonathan A. Kollasch in PR bin/36772:
* use full 5-bit command queue depth that SATA supports
* decode SATA bits
2007-08-21 16:53:18 +00:00
taca 324019adc6 Make it compile with WD_SOFTBADSECT option. 2007-07-30 06:59:13 +00:00
ad eb171eaaa7 It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
2007-07-29 12:50:17 +00:00
ad b5a9ff06f1 Replace some uses of lockmgr(). 2007-07-21 19:51:47 +00:00
ad 88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
dsl 80f6eff58d Allow callers of the ATAIOCCOMMAND ioctl to request the WDCC_IDENTIFY to
specify a buffer that is less than 512 bytes.
2007-07-01 09:48:37 +00:00
dsl 5f7e78696b Remove 'else' after 'return' for clarity 2007-07-01 09:47:19 +00:00
dyoung c81bbe837f Include opt_ata.h for ATADEBUG definition instead of #defining it
unconditionally.

Make this compile when ATADEBUG is not #defined.
2007-04-08 06:59:43 +00:00
dyoung d424839018 Include opt_ata.h for ATADEBUG definition instead of #defining it
unconditionally.
2007-04-08 06:58:47 +00:00
garbled 47dfabcdf7 Add support for VIA V-TECH ata raid. Tested on 4.0 with RAID0, RAID1 and
SPAN over a pair of sata drives on a VT8237A SATA Controller.
2007-03-27 00:10:20 +00:00
dyoung 4888b33c86 Let config(1) know that #define ATADEBUG goes in opt_ata.h. In
dev/ic/wdc.c and in dev/ata/ata.c, #include "opt_ata.h", and make
both the files compile with or *without* ATADEBUG.  Do not compile
with ATADEBUG by default.
2007-03-17 06:41:35 +00:00
ad 59d979c5f1 Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.
2007-03-12 18:18:22 +00:00
drochner f6c8681509 after the recent config_attach_pseudo() changes, unit numbers have the same
sementics as for real devices, so DVUNIT_ANY=-1 is illegal
2007-03-09 15:41:02 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
ad b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
wiz 19c7b24184 Spell "schedule" correctly. From Zafer Aydogan. 2006-12-25 18:36:05 +00:00
bouyer 93df930ebb It's 3.0Gb/s, not GB/s. Pointed out by Thomas E. Spanjaard. 2006-11-30 23:07:31 +00:00
dogcow 371dea6737 revert last change, as havard's fix is more general. 2006-11-27 20:29:12 +00:00
dogcow ec21dc99eb #include <sys/device.h> to fix build failure on sparc64.
(why only sparc64? no idea.)
2006-11-22 22:14:23 +00:00
bouyer 6c04cd11cb Cosmetic: remove one ":" from the port status string, it looks better this
way.
2006-11-22 17:51:02 +00:00
bouyer dcf3bce253 In sata_reset_interface() return only DET bits of SStatus, as the
return value is compared against SStatus_DET_*
2006-11-22 17:49:12 +00:00
bouyer 37152360bf Move part of wdc_sataprobe() to sys/dev/ata/sata_subr.c so that it can be
shared with non-wdc SATA controllers.
2006-11-20 23:42:21 +00:00
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
bouyer 4a1c74e813 Yet another broken seagate drive. 2006-11-09 19:43:05 +00:00
thorpej f0c0486c7b Use the new prop_dictionary_util functions. 2006-10-26 05:04:18 +00:00
bouyer c55d38dab6 Exclude wdc_sataprobe() when no SATA controllers are present. Fix
build of *_TINY kernels.
2006-10-25 20:14:00 +00:00
bouyer 80b1feec65 Add sata registers to struct wdc_regs. Add wdc_sataprobe(), a function
probing drives using the standard SATA registers; taken from various
PCI sata drivers. Export wdc_drvprobe() too.
2006-10-25 17:33:02 +00:00
thorpej 3c6ae35ab2 - Add a new disk ioctl (DIOCGDISKINFO) to get the disk-info dictionary
for the disk.
- Add a new function, disk_ioctl(), that does generic disk ioctl handling.
  DIOCGDISKINFO is handled here now, and others will be added in the future.
- In the wd driver, fill in the dk_info member of struct disk and use the
  new disk_ioctl() function.
2006-10-25 04:04:45 +00:00
itohy b1d32ad8f3 white space police 2006-10-15 00:00:00 +00:00
itohy 65b52f68a1 Add ATAPI Pioneer (info from Linux) and ATA TDK (I have one)
as exceptions of string byte order.
Add string byte order shuffling for big-endian platforms.
2006-10-14 23:54:14 +00:00
christos 4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
itohy f87d591722 A little effort against kernel bloat....
Exclude ATA DMA support if no ATA DMA capable drivers are compiled in.
2006-09-30 15:56:17 +00:00
xtraeme 9162ad5359 Typo: WCDD_SECURITY_FREEZE -> WDCC_SECURITY_FREEZE
Noticed by Sergey Svishchev.
2006-09-24 08:32:17 +00:00
jmcneill f135e0d607 Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
2006-09-24 03:53:07 +00:00
thorpej 1edb40635e - Define disk information, disk geometry, and disk partition dictionary
schemas.  Disk information and disk geometry are designed to replace
  information currently conveyed to user space using struct disklabel.
- Add a dk_info member to struct disk; a reference to a disk information
  dictionary.  This dictionary is to be allocated and the reference stored
  in struct disk by individual drivers.
- disk_detach0() will release dk_info if non-NULL.
- Convert the wd(4) driver to stash geometry and other disk properties
  as the "disk-info" property in its properties dictionary.  This needs
  some cleanup, but will serve as an example of what to do with other
  disk drivers.
2006-09-22 04:48:38 +00:00
itohy 0a30900857 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.
2006-09-07 12:34:41 +00:00
christos ca960afcce Oops, this is not ready yet. 2006-08-27 23:51:31 +00:00
christos 72c8baf57c Add missing initializer 2006-08-27 23:50:53 +00:00
lukem 755b4414f2 If there's any wd quirks in use, display them. 2006-08-01 07:19:07 +00:00
gendalia 109f1d8570 Add yet another broken 160GB seagate drive. Mine. ST3160021A. 2006-06-24 04:49:40 +00:00
bouyer 02ace2fe6c Adjust quirk entry for seagate drives. Should fix kern/33637 by Shigeya
Suzuki.
2006-06-05 18:22:23 +00:00