Commit Graph

4980 Commits

Author SHA1 Message Date
matt f759cc96ec Add support for 16550 chips without an Enhanced Register Set. 2008-10-24 04:43:08 +00:00
bouyer 3e37931111 Change mfi_mgmt() to take a mfi_ccb and scsipi_xfer as argument, as
mfi_scsi_io does. Do not tsleep in mfi_mgmt waiting for completion;
let the caller handle it. If mfi_mgmt() is called with a non-NULL scsipi_xfer
have mfi_mgmt_done() wake it up, else wake up the mfi_ccb.
mfi_poll()/mfi_post() is up to the caller.

mfi_scsipi_request(): handle SCSI_SYNCHRONIZE_CACHE_10 as we do for other
commmands: have mfi_mgmt() fill in the ccb, queue of poll the ccb and
return.

Introduce mfi_mgmt_internal() which behaves like mfi_mgmt() did (tsleep
waiting for completion). Use it for internal and ioctl management
requests.

Fix kern/39297 from Greg Oster (mfi calls tsleep() from mfi_intr()),
tested by Mark Davies.
2008-10-23 21:00:06 +00:00
jmcneill 48100f10e4 Calculate maxdispoffset rather than hard-coding it. Fixes scrolling in
80x25 mode.

XXX This doesn't handle odd modes like 80x30 on 640x480, but the driver
didn't allow that selection previously so at least it's an improvement
over the previous behaviour.
2008-10-19 17:47:38 +00:00
jmcneill 0215b24d60 vga_cnattach: calling wsdisplay_screentype_pick with a NULL type will
select the first entry in the list, which overrides the selected screen
type. Only call it a second time if the original selection is invalid.
2008-10-19 17:20:38 +00:00
bouyer b54b5daec9 kern/39757 from mishka@:
Bump CISS_MAX_CDB from 12 to 16 bytes. For volumes larger than 2TB,
the scsipi layer will have to use 16 bytes SCSI commands, which would be
rejected by ciss. The cdb buffer already 16 bytes long, and a look at the
FreeBSD driver shows there's no reasons to limit SCSI commands to 12 bytes.
2008-10-18 18:53:20 +00:00
pgoyette 54a63b92b0 Fix up the bus-independant probe code. Patch from njoly@ 2008-10-13 12:44:46 +00:00
pgoyette eacec974a3 Add an i2c attachment for the LM78 family of temp sensor/fan control
Tested by Martin Husemann
2008-10-12 13:17:28 +00:00
bouyer 473d83f87f Make sure the adapter is ready to accept FISs before bringing the PHY up.
Wait for the BSY bit to clear in the status register.
Makes the cdrom drive probe properly on a ATI SB600 controller in AHCI
mode.
2008-10-03 13:02:08 +00:00
bouyer 2887906e27 Kill ATACH_TH_RUN and use cpu_intr_p() instead. 2008-10-02 21:05:17 +00:00
sborrill 85b692fb65 Add support for >2TB arrays and implement raw I/O mode which is a
requirement for this.

N.B. Still to do - move dump on ld to 64-bit disk addresses
2008-10-02 08:21:57 +00:00
jdc 102e2c2e6b Read the correct error status register on SBus cards.
Don't set infinite burst on SBus cards.
Changes based on information in the `Sbus GEM Specification':
  http://mediacast.sun.com/users/Barton808/media/gem_sbus-1.pdf

SBus-based GEM cards (i.e. Sun X1140A) now work!
Tested with a X1140A card in a U1 and in a U2.
Thanks for martin@ for testing.
2008-09-15 19:50:28 +00:00
jdc 4bd69c5b5b Minor corrections to the SBus definitions, from the `Sbus GEM Specification':
http://mediacast.sun.com/users/Barton808/media/gem_sbus-1.pdf
2008-09-15 19:43:24 +00:00
jakllsch 1630e9c193 A few cleanups for siisata(4)
No functional changes intended (except maybe un-reseting the chip a bit later
in attach).

 - pass fewer arguments to local functions where arguments can be derived from
   an existing argument
 - some coding style fixes
 - more abstraction for PRB activation and deactivation
 - bus_dma(9) properification in error cases
 - undefine SIISATA_DEBUG, and cleanup variables used only for DEBUG_PRINT()s
2008-09-14 21:53:49 +00:00
tron 362b2f2b14 Complete device_t/softc split for the ld(4) attachments. This should
prevent crashes while attaching a drive.

Patch supplied by Juan RP in PR kern/39468.
2008-09-09 12:45:39 +00:00
gmcgarry 0de5da9678 Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h
preprocessor macros.
2008-09-08 23:36:53 +00:00
he 7f923d38fb Adopt a fix from OpenBSD, revision 1.30 in their CVS repository.
To paraphrase:
  Some ciss(4) firmwares use different physical drive addressing, resulting
  in bioctl(8) functions not being available.
Tested on both types of controller.
2008-09-04 19:03:14 +00:00
mhitch baf8265fa5 Limit the number of luns to 1, since the SCSI device ciss(4) presents
doesn't appear to luns and later controllers would respond to probe
requests for luns > 0.
2008-09-04 16:47:04 +00:00
rjs 59e0539a4a Make it work again for platforms that can do single byte operations.
Fix to PR kern/38757.
2008-09-03 20:36:24 +00:00
christos 91ca465c78 device_t changes, pmf, minor knf. 2008-08-27 05:33:47 +00:00
tsutsui 70350ebf56 Fix typo in comment. 2008-08-23 15:46:47 +00:00
tnn 7ebba3a956 Add support for the Realtek 8102E/8102EL PCIe 10/100 Ethernet devices.
From FreeBSD.
2008-08-23 14:27:45 +00:00
simonb 82bb1c2ff8 Add a flags argument to the ld(4) flush handlers, and call these with a
"poll" flag when called from ld_shutdown().

This is the infrastructure part of kern/38655 - in itself it doesn't
fix the panic referenced in that PR.

XXX: At least ld_twa.c and perhaps ld_iop.c and ld_icp.c need to
check for this new poll flag and do something useful.
2008-08-11 06:43:37 +00:00
dillo 7767511f21 Increase delay after channel reset from 100ms to 500ms, suggested by bouyer.
Fixes unreliable drive detection on NVIDIA MCP67.
2008-08-01 17:41:54 +00:00
ws f83cc7d5ab Calling fxp_init within the interrupt handler results in
a hang (continuous assertion of FXP_SCB_STATACK_RNR).
Instead do it in the ioctl routine after receiving a
signal from the interrupt handler.
2008-07-31 12:28:28 +00:00
christos aa389c698d Use more timespecs internally. From Alexander Shishkin and me.
Welcome to 4.99.70, 30 more to go for 100.
2008-07-15 16:18:08 +00:00
matt cfd3ec1da9 Remove OMAP gunk in com_activate, it's not needed.
Spotted by Matthias Drochner.
2008-07-14 15:40:55 +00:00
joerg bcdf6fccac - device/softc split 2008-07-09 20:07:19 +00:00
joerg 52c17c8946 - device/softc split for ath(4) 2008-07-09 19:47:23 +00:00
joerg 2f3ebaa053 - device/softc split 2008-07-09 19:08:44 +00:00
joerg 85f9c6ce1a - device/softc split for fxp(4) 2008-07-09 17:07:28 +00:00
tsutsui 163f9db0b9 Split device_t/softc with misc cosmetic changes. 2008-07-06 14:32:56 +00:00
tsutsui bc6f8d1486 Split device_t/softc with misc cosmetic changes. 2008-07-06 13:29:50 +00:00
drochner 363285ca02 split device/softc (tested with an@pcmcia) 2008-07-03 18:10:07 +00:00
plunky c4df96ad44 change licence of my old code to two-clause BSD licence
remove my name from advertising list
2008-07-02 10:16:20 +00:00
perry 10cfc49bff __FUNCTION__ -> __func__ 2008-06-30 00:46:41 +00:00
gmcgarry 7085b9f922 Array range designated initializers are a gcc extension. Replace with
explicit initialization with zeros, although it probably isn't necessary.
2008-06-24 10:57:45 +00:00
gmcgarry 7bb601e861 Rearrange pdq_boolean_t, pdq_type_t and pdq_state_t so that enums are defined
before their typedefs and prototypes.  Fixes compilation with pcc.
2008-06-24 10:12:06 +00:00
gmcgarry cb3e0547b7 Change gcc variadic macros to c99 variadic macros. 2008-06-24 10:09:24 +00:00
gmcgarry 7d3d745b26 status is unsigned. 2008-06-24 10:08:43 +00:00
gmcgarry 1a58d52748 Fix prototype of ahd_send_async(). Pull in dev/ic/aic7xxx_cam.h to get ac_code. 2008-06-24 10:07:40 +00:00
he bc897d8e45 Typo correction to restore buildability. 2008-06-17 16:27:30 +00:00
dyoung fac54884d4 Repair a discrepancy between the 802.11 standard and ath(4) operation
where transmit fragmentation is concerned.

Extract from ath_tx_start() the code for subtracting padding from
the packet length, creating subroutine deduct_pad_bytes().  Note
that the arithmetic in deduct_pad_bytes() is suspicious.

Use deduct_pad_bytes() to repair the computation of the 802.11
Duration field for fragments.  The computation used to leave out
the FCS, among other things.

Some discrepancies between ath(4) operation and the standard may
still remain.  According to my observations, the gaps between
transmitted fragments may be approximately 8 microseconds too long.
2008-06-17 02:01:58 +00:00
nonaka 84993899e8 fix compile failure. 2008-06-15 13:42:03 +00:00
mjf 7e2a8aea3b Automatically detect the amount of installed RAM by reading the memory
bank registers from the PCI host bridge. Previously the RAM size was
hardcoded to 64MB.

Also fill out ibm82660reg.h with more definitions from the PowerPC to
PCI Bridge and Memory Controller User's Manual.

Many thanks to Tim Rightnour for helping with this patch.
2008-06-14 12:01:28 +00:00
cegger 1c5d6ce502 use device_lookup_private to get softc 2008-06-12 22:30:30 +00:00
dyoung 5614135da2 Elaborate on a comment. 2008-06-12 20:42:10 +00:00
cegger 669c3672ce - use device_lookup_private to get softc
- ansify
2008-06-11 20:33:12 +00:00
drochner 5e7d2c641f don't use cfdriver_t->cd_devs directly 2008-06-11 16:09:16 +00:00
kiyohara c3b43ec571 Support use PCI Clock(SF_CHIP_USEPCIC). We can set the value "use_pciclock"
by prop_dictionary_set_bool().
2008-06-11 02:09:16 +00:00
cegger fc8fd752ef device_private(device_lookup()) -> device_lookup_private()
ok cube@
2008-06-10 22:53:08 +00:00