Commit Graph

7564 Commits

Author SHA1 Message Date
jmcneill 9899f465bf Newer ATI SB800 SMBus controllers don't report the base address in PCI
config space. According to the SB800-Series Southbridges Register Reference
Guide, we can still read this value from PM config space using indirect I/O.
2011-10-02 23:25:20 +00:00
is a038991fd1 Use symbolic constants for SUNs version of ADP2_ASR2200S. 2011-09-29 12:51:28 +00:00
macallan c3a0b13e0d support a hardware cursor - now X with wsfb on gdium is a little less annoying 2011-09-28 02:36:37 +00:00
jakllsch 0597278574 Define and use symbolic bits in registers. 2011-09-26 18:07:37 +00:00
njoly 010e748696 Regen for NVIDIA GeForce 210. 2011-09-23 14:26:23 +00:00
njoly 69269285f7 Add NVIDIA GeForce 210. 2011-09-23 14:25:13 +00:00
jym 3d92bf7df0 The bnx(4) handler runs at IPL_NET (works with spin mutexes), while
allocations can be deferred to a workqueue(9): set its highest IPL to
IPL_NET and not IPL_NONE, which is protected by an adaptive/sleeping mutex.
2011-09-22 08:42:53 +00:00
macallan fc1dcffcb1 use BUS_SPACE_MAP_PREFETCHABLE 2011-09-22 06:16:13 +00:00
macallan 0d5dedcda8 support ioctl(WSDISPLAYIO_SVIDEO) and friends so wsfb can turn the backlight
off
2011-09-20 06:15:02 +00:00
jmcneill 37071899b9 Enable non-PCM passthru for digital converters, and treat the "AC3 supported"
flag to mean that the codec supports AC3 decoding for analog converters.
2011-09-07 20:34:58 +00:00
jmcneill f086ef60d1 build fix for previous 2011-09-07 13:07:21 +00:00
jmcneill 56f57fcd97 Read/modify/write the digital converter control 1 register when setting up
digital playback instead of clobbering existing state.
2011-09-07 12:33:06 +00:00
jmcneill 89245df9b8 hdafg_stream_connect: if connecting a non-PCM stream, make sure only
converters that support non-PCM formats are configured to decode it
2011-09-07 00:16:40 +00:00
jmcneill 9d23e265dd Set the /AUDIO digital converter control bit for non-PCM streams 2011-09-06 11:14:17 +00:00
jmcneill f615e3051d For AC3, set the Non-PCM bit in the stream format structure used in the
stream descriptors & codec config.
2011-09-06 10:48:28 +00:00
macallan 8062a71e4f add simple backlight control support, only on/off for now 2011-09-06 06:27:14 +00:00
macallan c5d58b8a4a add a function to mess with gpios which locks against the i2c stuff 2011-09-06 06:26:13 +00:00
macallan 557bda1d32 wsdisplayio_busid_pci() needs out parent since we don't attach directly
to a PCI bus anymore
2011-09-06 03:31:37 +00:00
jmcneill 096e3664e1 Add AC3 passthru support, currently untested. 2011-09-06 01:51:44 +00:00
msaitoh 822e560c66 Change 0x1229's product name from 82557 to 8255x.
82550, 82551, 82558 and 82559 share the same product id.
This change makes "pcictl dump" happy.
2011-09-05 04:36:50 +00:00
msaitoh 99f89fa6de regen. 2011-09-05 04:32:52 +00:00
msaitoh 2245ac22ea Change Intel 0x1229 product name from 82557 to 8255x 2011-09-05 04:31:43 +00:00
msaitoh c67bb3dce4 Add support for some fxp devices from FreeBSD and OpenBSD.
{Free,Open}BSD say that we have to do some work to make fxp
stable.
2011-09-02 03:16:18 +00:00
msaitoh 0488e3f6ff regen. 2011-09-02 03:10:37 +00:00
msaitoh 5662272cdd Add some fxp devices. 2011-09-02 03:09:48 +00:00
macallan b9372d64bc some i2c devices we're going to deal with need a little delay after each
write. Also make sure the gpios we're using are outputs.
2011-09-01 14:04:55 +00:00
macallan 7f7e1ce392 only attach the i2c bus if the gpio pins we're using are actually
configured as gpio
while there remove some accidentially left in debug code
2011-09-01 00:06:42 +00:00
plunky 7f3d4048d7 NULL does not need a cast 2011-08-31 18:31:02 +00:00
macallan 92c3702900 the framebuffer part lives on in voyager/voyagerfb.c 2011-08-31 16:48:29 +00:00
macallan d0e648c14a split up voyagerfb into the framebuffer portion and a pseudo bus that we can
attach all the other sub-devices to
while there attach an i2c bus
2011-08-31 16:47:31 +00:00
mbalmer 86a49d8281 Unconditionally include <sys/modules.h>. 2011-08-30 07:22:11 +00:00
macallan b509f991f8 contrary to the manual the right-to-left flag also causes the blitter to
work bottom-to-top
Now all copy*() methods should work properly in all directions.
2011-08-30 02:53:01 +00:00
macallan 241f2dcf8d fix thinko in downward scrolling ( never had a chance to test it until now... ) 2011-08-30 01:21:03 +00:00
mbalmer d9fc073d41 Register as built-in module when not compiled as a module. Reminded by
jmcneill.
2011-08-29 15:06:49 +00:00
jmcneill 3076984ffe have pci register itself as a module, and make PCI driver modules depend on it 2011-08-29 14:47:07 +00:00
elric 97d0788466 Revert prior inadvertent checkin. 2011-08-28 16:33:51 +00:00
elric 95bd2d4a1e Remove crypto/dist/heimdal and its associated build infrastructure as
it has been replaced by crypto/external/bsd/heimdal.
2011-08-28 16:21:57 +00:00
jmcneill 54d6e22c5d set default WARNS for modules to 3 -- the only one that needs < 3 now is pf 2011-08-28 15:40:49 +00:00
martin b352f73ca9 I suppose mrg did mean to include this change in yesterday commit:
use CFATTACH_DECL_NEW for real.
2011-08-27 20:02:18 +00:00
bouyer fe2e97b4b5 Add a basic driver for the SIS315 Pro frame buffer found on some loogson2-based
systems, from OpenBSD.
At this time it can only map the framebuffer and attaches wscons,
using whatever resolution was configured by the firmware.
It doens't support any accelaration or mode change.
2011-08-27 13:28:37 +00:00
mbalmer de6eed829e Add a pmf resume function to put the hardware in a defined state after
resume.  Problem found by jmcneill@.
2011-08-26 13:29:56 +00:00
mbalmer d8bf2a4e69 Remove one of the copyrights, it is the same person. Remove variable name
in prototype.
2011-08-26 10:30:47 +00:00
dyoung a33d02a149 Add to pci_bus_devorder() an argument that tells the number of slots
available in the devs array.  Change the type of the devs array from
char to uint8_t.  Treat the return value of pci_bus_devorder() as the
number of slots that it filled.

Don't use the __PCI_BUS_DEVORDER #definition to configure the kernel
but let the linker do it.  Make pci_bus_devorder() available on all
architectures by adding a default implementation that will DTRT on
all architectures but hpcmips, the only architecture to #define
__PCI_BUS_DEVORDER.  On hpcmips, adapt the implementation to the new
calling convention.

XXX I can compile an hpcmips GENERIC kernel, but I don't have a
XXX hpcmips box to test it on.
2011-08-24 20:27:35 +00:00
mbalmer 4b13dfd0c4 Remove a commented out include and clarify a comment why the timeout
period is ignored.
2011-08-20 07:32:34 +00:00
christos 32ba7fa0b5 fix gcc-4.5 warnings 2011-08-18 02:08:06 +00:00
dyoung 70183e515a Redefine PCI_MSI_* and PCI_PCIE_* constants in terms of bits(3).
Use named constants and more conventional variable names in
pci_msi_establish() and pci_msi_disestablish().  Fix a couple of bugs:
pci_msi_establish() returned a pointer to the struct intrhand instead of
to the struct msi_hdl as it was intended to, and pci_msi_disestablish()
did not free(9) the msi_hdl.
2011-08-17 00:59:47 +00:00
msaitoh 5688e1797f regen. 2011-08-15 06:13:40 +00:00
msaitoh 2dd01e41ad Sort lines. 2011-08-15 06:13:07 +00:00
jakllsch 0b2bca138d detach childern too 2011-08-13 16:08:23 +00:00
jakllsch 06e8b1bf70 Make correct spelling in comments a higher priority. 2011-08-13 16:04:09 +00:00
dyoung ddb7bb5448 Attach ixg(4) to the kernel build (it's not in any kernel
configurations, yet).
2011-08-12 22:02:56 +00:00
dyoung 97579f7a66 Add sources for ixgbe(4), a Intel 82599 10-gigabit ethernet driver
ported from FreeBSD.
2011-08-12 21:55:28 +00:00
bouyer 2145e1ef4d Regen: add SiS 315 Pro VGA 2011-08-11 17:14:42 +00:00
bouyer 7c8596a4c1 Add SiS 315 Pro VGA 2011-08-11 17:14:12 +00:00
mbalmer 352c784990 pwdog(4) is a device driver for QUANCOM Electronic PWDOG1 PCI
attached watchdog timers.
2011-08-11 07:33:24 +00:00
dyoung e7e6ed352f Add support for the Oxford Semiconductor OXPCIe952, a 2-port serial chip
with a PCI Express interface, in legacy mode.  Cursorily tested with a
StarTech PEX2S952LP.

See the manual for your adapter to see how to put it into legacy mode.
There is also a "native" mode that uses a different clock multiplier
and (I think) provides a richer feature set, but also requires a bit of
additional initialization (see FreeBSD's puc(4)).

The native-mode PCI functions use different PCI Device IDs than the
legacy-mode functions.
2011-08-09 21:04:05 +00:00
jmcneill 46d3857954 add CLK_DELAY 2011-08-09 11:26:40 +00:00
mbalmer 5ade312f36 re-gen after PWDOG1 addition. 2011-08-09 08:27:12 +00:00
mbalmer 3a793722d2 Add the QUANCOM PWDOG1. 2011-08-09 08:26:18 +00:00
jmcneill fb95eabd74 modify the dtv device api so hardware drivers can be loaded independently
of the dtv module
2011-08-09 01:42:24 +00:00
jmcneill 7b824e4df1 build fix: forgot to add sc_board to softc 2011-08-06 19:21:27 +00:00
jakllsch ae79d560ec Marvell 88SE9128 needs AHCI_PCI_QUIRK_FORCE. 2011-08-06 14:56:33 +00:00
jakllsch 8479ccf118 regen 2011-08-06 14:55:13 +00:00
jakllsch ce733e83e0 Add Marvell 88SE9128. 2011-08-06 14:53:24 +00:00
jakllsch ad5352fa2f Adjust inconsistent whitespace in MARVELL products. 2011-08-06 14:51:53 +00:00
mbalmer 45572b8e3e re-gen. 2011-08-06 14:18:24 +00:00
mbalmer 8b941cbbb9 It's QUANCOM Electronic GmbH, not Quancm. 2011-08-06 14:17:23 +00:00
jmcneill fb8181e23e print devname not subdevname on attach, and report the board name to dtv
subsystem instead of generic CX23885
2011-08-06 11:51:11 +00:00
jmcneill 8f1ae23ff2 don't attach iic@coram unless CORAM_ATTACH_I2C is defined 2011-08-06 11:37:56 +00:00
jmcneill 9e56001113 hide debug messages under CORAM_DEBUG 2011-08-05 21:20:27 +00:00
jmcneill b2d4c3bb58 return status from demod instead of 0, and don't ignore errors when setting
demod parameters
2011-08-05 20:33:17 +00:00
jmcneill 20accb5e39 modularize coram and add detach + childdet methods 2011-08-04 22:25:08 +00:00
jakllsch 733caf396e Add coram(4).
A driver for CX23885-based TV cards, such as the
Hauppauge WinTV HVR-1250 "Coram" board.

Currently only supports ATSC 8VSB reception.
2011-08-04 14:43:55 +00:00
jakllsch 28ae806329 regen 2011-08-04 02:32:58 +00:00
jakllsch 6734496fe7 Add Conexant CX23885 2011-08-04 02:31:37 +00:00
jakllsch bd5bcd64f7 Fix machfb build on ports not based on powerpc or sparc. 2011-08-04 00:57:33 +00:00
macallan e7215d9880 don't try to a 'better' vertical frequency, it's almost certainly wrong with
flat panels
2011-08-03 05:27:08 +00:00
mbalmer 631d5867a0 According to the Oxford Dictionary of Etymology, a wether is a male sheep
or ram.
2011-08-01 12:28:53 +00:00
drochner 1ca3ef385b remove some bloat:
-cardbus doesn't use multiple interrupt lines like PCI, and it doesn't
 use machanisms like interrupt line register and swizzling -- no need
 to carry around dummy information, this is all dealt with by the
 bridge
 (I'm asking myself how "rbus_ppb" can work -- a bridge attached to
 cardbus just can't work like a normal PCI bridge as far as interrupts
 are concerned. I thing that should be a hardware specific driver
 because behavior is not covered by a standard.)
-cardbus always uses 3.3V -- no need for a variable to keep track
 of the voltage
2011-08-01 11:20:26 +00:00
jmcneill f9818342b8 ehci_get_ownership: clear BIOS semaphore when setting OS semaphore, slow
down poll rate, and make sure to clear all SMI bits when we're done
2011-07-30 13:19:21 +00:00
dyoung ad398c30df Don't set the iobase and iosize members of pcmciabus_attach_args because
they're not used in any meaningful way.
2011-07-26 22:21:02 +00:00
dyoung c9e24dda06 Replace anonymous constants, 0x10, 0x14, ..., with PCI_BAR(0),
PCI_BAR(1), .... There was no change in the generated assembly.  I used
this semantic patch:

@ mapsit @
identifier bar;
expression pact;
@@

(
pci_mapreg_map
|
Cardbus_mapreg_map
)(pact, bar, ...)

@ depends on mapsit @
identifier mapsit.bar;
@@
(
- #define bar 0x10
+ #define bar PCI_BAR(0)
|
- #define bar 0x14
+ #define bar PCI_BAR(1)
|
- #define bar 0x18
+ #define bar PCI_BAR(2)
|
- #define bar 0x1C
+ #define bar PCI_BAR(3)
|
- #define bar 0x20
+ #define bar PCI_BAR(4)
)
2011-07-26 20:51:23 +00:00
mrg 9af887f060 convert to device_t, cfdata_t and CFATTACH_DECL_NEW. 2011-07-26 08:56:26 +00:00
jakllsch 7a390381d3 Remove unconditional debugging code. Also, a few other cleanups. 2011-07-25 04:31:26 +00:00
matt 8d3710a029 Regen. 2011-07-23 03:10:11 +00:00
matt b8f10147e8 Add MARVELL2 vendor and 88SE9123 device. 2011-07-23 03:09:41 +00:00
njoly 7d0c74b351 Fix CHIPSFB_DEBUG build 2011-07-22 14:34:38 +00:00
njoly 25d67743ed Fix RADEONFB_DEBUG build. 2011-07-21 15:25:14 +00:00
mrg d4bff0e86b convert the remaining dev/sbus drivers to CFATTACH_DECL_NEW, cfdata_t
and device_t, including the pci frontend and backend for en(4).
2011-07-18 00:58:51 +00:00
jmcneill 28467bc5e1 use lg3303_get_snr, lg3303_get_signal_strength 2011-07-15 20:29:58 +00:00
jym 941517f6e2 Use a workqueue(9) to defer allocation of TX packets. Loosely inspired
from the OpenBSD bnx(4) driver.

Tested by Roger Pau Monné, roger.pau at entel.upc.edu.

Fixes kern/45051.
2011-07-15 11:29:31 +00:00
jmcneill d1c2527458 add pcHDTV HD-5500 support:
cxdtv0 at pci0 dev 14 function 2: pcHDTV HD-5500 HDTV Video Capture (rev. 0x05)
cxdtv0: interrupting at irq 10
cxdtv0: lg3303: found @ 0x59
cxdtv0: tvpll: LG TDVS-H06xF
dtv0 at cxdtv0: CX23880 [ATSC]
2011-07-15 03:35:13 +00:00
jmcneill 668383289f add detach support 2011-07-15 00:21:26 +00:00
jmcneill dfd3ee6ea9 hook in lg3303 demod support and modularize 2011-07-14 23:47:45 +00:00
jakllsch 528da415e4 Add cxdtv(4), a dtv(4) driver for Conexant CX23880-series DTV interface chips.
Initially supports digital reception on ATI HDTV Wonder card.
2011-07-11 00:46:03 +00:00
jakllsch 23144ead82 Add complete support for all channels on VT6421A SATA/PATA controller to
viaide(4).
2011-07-10 20:01:37 +00:00
christos fcc471f547 - add a routine to get the name of the card. 2011-07-09 23:18:05 +00:00
riastradh 0343546951 Release mutex before unmapping DMA memory.
Fixes a LOCKDEBUG panic triggered by `hdaudioctl set'.

ok jmcneill
2011-07-09 16:01:31 +00:00
matt 0a6157e048 Fix uninitialized data warning found by gcc 4.5 2011-07-01 07:45:39 +00:00
wiz 4cbd24b23f dependant -> dependent 2011-06-30 20:09:15 +00:00
macallan 7ebc354766 support WSDISPLAYIO_GET_EDID 2011-06-29 03:14:36 +00:00
sborrill 4492ea236c Regen 2011-06-28 14:58:33 +00:00
sborrill 7601ad83c0 Add Nvidia GeForce 8500 GT 2011-06-28 14:22:36 +00:00
nonaka 4574f69318 regen. 2011-06-27 14:53:25 +00:00
nonaka ca0829d933 Added some JMicron PCI-E SD/MMC/MS/xD Host Contollers. 2011-06-27 14:52:44 +00:00
matt 11f078c849 When printing the interrupt string, be like the other driver and do
"alc0: interrupting at msi 1" instead of "alc: msi 1".
2011-06-23 17:42:46 +00:00
matt cc137877b5 Add inline accessors for pba_pc and pa_pc so that <machine/pci_machdep.h>
can use them in inline functions.
2011-06-22 18:03:30 +00:00
pgoyette 2c629d0bbf Initialize current value for ENVSYS_DRIVE sensors 2011-06-20 22:02:55 +00:00
pgoyette b9603c5a8f Initialize sensors states before registering. 2011-06-20 17:29:06 +00:00
pgoyette 09568ba27e Maintain our own storage for volume and disk ID info rather than
(ab)using envstat's storage.

XXX Compile-tested only.
2011-06-20 13:26:58 +00:00
joerg 2c0909e78c Use a format string when printing strings 2011-06-09 14:46:33 +00:00
cegger 159dac67ee the BCM5785 is a PCIe chip but does not report PCIe capabilities.
Check for this chip explicitely and enable PCIe.
Fixes 'firmware handshake timeout'. Tested with root on nfs.

patch from msaitoh@
2011-06-09 12:04:29 +00:00
cegger 047aa05ba8 regen. 2011-06-07 10:08:02 +00:00
cegger da2c0a5809 add ATI Radeon Cypress and Lucent IEEE 1394b Controller 2011-06-07 10:07:35 +00:00
msaitoh 57ac6d0bbe Add two new capabilities(PCI_CAP_SATA and PCI_CAP_PCIAF). 2011-06-06 18:27:12 +00:00
msaitoh d356bb8757 regen. 2011-06-06 14:31:51 +00:00
msaitoh acfe6f77e1 Rename 82801DB LPC Interface Bridge for consisitency. 2011-06-06 14:31:23 +00:00
pgoyette 7d8bd19e5d Update to use the new name for the sensor's private data.
XXX This driver still uses the sensor's value_min for an unrelated
XXX purpose, but changing that will have to wait for another day.
2011-06-04 13:25:56 +00:00
cegger 462a6f12c8 fix crash by NULL pointer dereferencing I get everytime
right after this message:

bge0: discarding oversize frame (len=-4)
2011-06-03 09:51:40 +00:00
macallan dd3292d9f1 move wsdisplay_accessops into the softc so multiple instances have a chance
to work without stepping on each other's toes
2011-06-01 05:06:17 +00:00
phx 9a6f7751cf The Genesis interface provides a register in the device specific config space
to automatically revert the byte order in all descriptors.
Make sure this feature is inactive. Otherwise the driver is unable to
receive or transmit any frame.
2011-05-29 13:31:30 +00:00
phx a19dce7f31 regen 2011-05-28 22:54:08 +00:00
phx d04c2d9218 Renamed VT6410 to VT6410_RAID. 2011-05-28 22:53:23 +00:00
phx b22ae29ee8 regen 2011-05-28 22:48:50 +00:00
phx ab0ab976ea Add VIA VT6410 ATA RAID controller. 2011-05-28 22:47:58 +00:00
ryo b163ca7de6 Add support for SYSTEMBASE SB16C105x 4-port/8-port serial PCI cards.
- Added initialize code for SB16C105x to puc.c, but
  It is better to add a member (*config_function)() to
  struct puc_device_description and use it
- It seems SB16C1054 *rev 0x91* has different BAR layout, but not supported yet.
2011-05-28 10:48:50 +00:00
ryo 1924fdd283 Regen. 2011-05-28 10:45:08 +00:00
ryo c1dc84bf44 add SystemBase SB16C1058 8 port serial cards 2011-05-28 10:44:43 +00:00
matt 12a7a4f889 Add quirk for ALI M5228 2011-05-27 15:11:59 +00:00
matt 642d39aa88 Regen. 2011-05-27 15:11:17 +00:00
matt 69cd0fdb34 Add ALI M5288 SATA/Raid Controller 2011-05-27 15:09:44 +00:00
msaitoh 41e7900055 Fix invalid PBA setting on ICH{9,10}. This bug was introduced in the last
commit. I noticed this problem via mail from spz.
2011-05-24 22:46:42 +00:00
joerg dd579972c6 Explicitly get rid of constness. 2011-05-24 18:28:01 +00:00
joerg b345e8d051 Use proper format string 2011-05-24 18:17:24 +00:00
joerg ee2f528836 Properly use format string 2011-05-24 16:42:10 +00:00
drochner 4bd7f95161 -remove references to crypto/arc4/arc4.* -- the code isn't used
anywhere afaics
 (The confusion comes probably from use of arc4random() at various places,
  but this lives in libkern and doesn't share code with the former.)
-g/c non-implementation of arc4 encryption in swcrypto(4)
-remove special casing of ARC4 in crypto(4) -- the point is that it
 doesn't use an IV, and this fact is made explicit by the new "ivsize"
 property of xforms
2011-05-23 15:37:35 +00:00
mrg de5a910070 match some fujitsu bge interfaces seen on PRIMEPOWER 250/450 systems.
from Michael Moll <kvedulv@kvedulv.de>, taken from openbsd.
2011-05-22 08:15:20 +00:00
mrg cdcd8bddc9 regenerate. 2011-05-22 08:13:56 +00:00
mrg 8e96c9415e add some fujitsu ethernet id's and a new vendor id. partly from
Michael Moll <kvedulv@kvedulv.de>, taken from openbsd.

XXX: move the #if 0'd usage of PCI_VENDOR_CITICORP inside the #if 0 code
XXX: region, as this id conflits with the (4th) fijutsi id.
2011-05-22 08:13:17 +00:00
msaitoh ab5c26c930 Add newer Wireless WiFi Link 4965 devices, Centrino Wireless-N 1030
and Centrino Advanced-N 6230
2011-05-21 12:51:47 +00:00
msaitoh 939f31d12a regen 2011-05-21 12:49:50 +00:00
msaitoh 7d7e944c06 Add some iwn(4) devices. 2011-05-21 12:48:59 +00:00
msaitoh 56f5ce9baa Add support for 6050(6250 and 6150) and 6005(6205).
TODO: update iwn.4 manpage.
2011-05-20 01:59:14 +00:00
msaitoh 40d6eb691f Add PCH2 support. 2011-05-20 01:51:36 +00:00
msaitoh f3a272623e - Add PCH2 support.
- Add 82579 support.
  - Change PBA size for PCH from 10K to 26K as FreeBSD's em-7.1.7
- Add yet another 82567V support.
- Add ICH10+HANKSVILL support.
- Add 82580 quad-1000BaseX support.
2011-05-20 00:57:42 +00:00
msaitoh 4ea65b9c4a regen. 2011-05-20 00:50:47 +00:00
msaitoh 2ecc0b2cf4 Add Intel 82567V, 82580 Quad-1000BaseX and Hanksvill with ICH10. 2011-05-20 00:50:19 +00:00
dyoung b11777e520 #include <sys/bus.h>, not <machine/bus.h>. 2011-05-18 01:02:43 +00:00
dyoung 399cdcdfe9 MI code must #include <sys/bus.h>, not <machine/bus.h>. 2011-05-18 01:01:59 +00:00
dyoung a6b2b8396b PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED changed their functional
role in NetBSD (drivers are no longer supposed to write these to
pa_flags) without changing name.  Correct that.

Rename PCI_FLAGS_IO_ENABLED to PCI_FLAGS_IO_OKAY and
PCI_FLAGS_MEM_ENABLED to PCI_FLAGS_MEM_OKAY, thus making their names
consistent with the other PCI flags and poisoning 3rd-party driver
sources that use the flags in the old bad way.

This patch produces no binary changes in this set of PCI kernels when
they are compiled w/o 'options DIAGNOSTIC' and w/ -V MKREPRO=yes:

algor P4032 P5064 P6032
alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE
evbarm-el GUMSTIX HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321
evbarm-el IXDP425 IXM1200 KUROBOX_PRO
evbarm-el LUBBOCK MARVELL_NAS NAPPI NSLU2 SHEEVAPLUG SMDK2800 TEAMASA_NPWR
evbarm-el TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
evbppc OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
iyonix GENERIC
landisk GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sbmips-el GENERIC
sgimips GENERIC32_IP2x GENERIC32_IP3x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC
2011-05-17 17:34:47 +00:00
macallan a37153870a don't leave a mess on screen when attaching, while there use VCONS_DONT_READ
if VCONS_DRAW_INTR is set
2011-05-16 00:59:37 +00:00
christos 97a122a2f7 update from OpenBSD by msaitoh. Tested on amd64. 2011-05-15 13:56:20 +00:00
msaitoh 22c389a767 Add support for Intel 6 series. 2011-05-15 01:00:52 +00:00
msaitoh 720f669b3d regen. 2011-05-15 01:00:07 +00:00
msaitoh 66284465df Add entries for Intel 6 series' devices. 2011-05-15 00:59:36 +00:00
martin a9fb883f63 PR kern/44956: add support for Qinheng PCI cards to the puc driver 2011-05-14 22:07:38 +00:00
martin 0264248b21 Regen 2011-05-14 21:58:48 +00:00
martin 17cff40edc Add Nanjing QinHeng Electronics, from PR kern/44956. 2011-05-14 21:57:52 +00:00
msaitoh f28852500d regen. 2011-05-13 01:34:04 +00:00
msaitoh 452427b9ae add entries for 82579LM and 82579V 2011-05-13 01:33:10 +00:00
dyoung e778d5fdd6 Constify pci_attach_args. 2011-05-11 00:12:41 +00:00
dyoung 9316f952b3 Constify pci_attach_args. 2011-05-10 23:48:33 +00:00
dyoung e4c26632ea Stop abuse of PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED. The flags
specifically tell a driver that bridges upstream forward PCI I/O (or
memory) transactions to the device."  Only bus drivers have any business
modifying these.
2011-05-10 18:31:33 +00:00
macallan bcb7f01345 add support for (ancient) Mach64 CX and GX, while there make sure the visible
vram area starts at the same offset as the area we're going to draw into -
zero that is.
from David Riley
2011-05-04 23:36:21 +00:00
manu e687bb4185 Add support for new SUNIX PCI seriel and/or parallel adapters, with new
SUNIX vendor Id 0x1fd4 and product Id 0x1999. Constants were taken from
Linux open source driver distributed by SUNIX.

The following models should be supported now:
5008 1 parallel port
5016 16 serial ports, only 8 supported right now (PUC_MAX_PORTS limit)
5027 1 serial port
5037 2 serial ports
5056 4 serial ports
5066 8 serial ports, this model is the only one that was actually tested.
5069 1 serial port and 1 parallel port
5079 2 serial ports and 1 parallel port
5099 4 serial ports and 1 parallel port
2011-05-02 14:23:24 +00:00
manu 355f39714b Don't conflict SUNIX new vendor Id with the previous one 2011-05-02 14:06:50 +00:00
manu 8b8d8da0a5 Add new PCI vendor Id for Sunix, and the corresponding device Id. 2011-05-02 14:00:09 +00:00
jym a30b258c9c Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already
handled):
- export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to
"unsigned int" rather than "int", and reuse the same softc members for
chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean).
- apply bug fix for revisions A and B, so that autonegotiation can
complete (from OpenBSD).

Bug reported by Rivo Nurges via private mail, patch tested and
confirmed working by him (with thanks!)
2011-05-02 09:03:10 +00:00
bouyer f523d760b8 - Properly count collisions
- call vte_rxfilter() after starting transmit/receive; this seems to
  fix some IPv6-related multicast issues for me
- when the MCR0_BROADCAST bit is set broadcast receive is disabled.
  Rename it to MCR0_BROADCAST_DIS to reflect its function, and fix usage.
- Fix loop over multicast addresses to not set the same address in the
  3 perfect filter slots.
2011-04-28 17:32:48 +00:00
plunky 20a9540ac8 use static inline for msk_rxvalid(), it is not referenced elsewhere
(avoids C99 vs GNU semantics for external inline functions)
2011-04-24 18:53:02 +00:00
rmind 2626d57668 Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency.  Remove some unnecessary malloc.h inclusions as well.
2011-04-24 16:26:51 +00:00
christos d2eb905628 PR/41258: Elias Benali: Try to get the ethernet address from the BIOS before
failing.
2011-04-20 20:15:03 +00:00
buhrow 9605db34e0 Fixes for kern/40018.
Our driver initializes the Broadcom hardware to peform a tcp and udp
checksum on only the payload of the tcp or udp packet, rather than the
entire packet.  The FreeBSD, OpenBSD  and Linux drivers instruct the hardware to compute
the checksum for the entire packet.  I believe the bug is that some revisions
of the BCM hardware, under certain circumstances, revert to doing the
complete checksum calculation, as the FreeBSD, OpenBSD  and Linux drivers
request, while things are running. As
a result, when we pull the computed checksum from the hardware and pass it
up to the upper layers, we assume the checksum is the more minimal
one, and the upper layers perform the appropriate checks, which, when this
happens, cause the packet to be rejected because the resultant checksum is
decidedly incorrect.
	This patch changes the driver to instruct the hardware to perform the
checksum over the entire packet, just as the FreeBSD, OpenBSD  and
Linux drivers do, and to notify the upper layers appropriately.

This patch appears to work on all revisions of the hardware that have been
tested.  (See the list in the bug report.)

this patch is approved by tls.
2011-04-18 22:05:39 +00:00
jakllsch 23e5cf2d9f Make previous compile. 2011-04-16 14:03:28 +00:00
jakllsch 0863915cdf Ensure PCI_COMMAND_MASTER_ENABLE. 2011-04-16 13:47:20 +00:00
dyoung 8a24781c83 Refer to bits in the PCI CSR with using PCI_COMMAND_* instead of
PCI_FLAGS_*: change PCI_FLAGS_IO_ENABLED and PCI_FLAGS_MEM_ENABLED to
PCI_COMMAND_IO_ENABLE and PCI_COMMAND_MEM_ENABLE, respectively.
2011-04-15 21:47:39 +00:00
wiz 6a9d169632 regen (+ ATI Radeon HD4650) 2011-04-13 22:24:45 +00:00
wiz 9a1c9ae296 + ATI Radeon HD4650. 2011-04-13 22:24:12 +00:00
jakllsch b8a6ae2e64 Fix regression introduced in 1.72.
(Attach arguments need to be copied before using the copy.)
2011-04-10 15:02:01 +00:00
sborrill 933ebb282e Revert previous couple of commits. bge_setvlan() is only called by
bge_init() and so does not get called when a vlan child is added. Calling
bge_setvlan() from bge_ifflags_cb() doesn't work either as it appears that
the callback is called before ec_capenable is updated by if_vlan.c.
2011-04-08 17:45:10 +00:00
sborrill fef6e6696d Fix typo in previous commit that would have stopped relevant bit being set. 2011-04-08 15:49:37 +00:00
sborrill bfaa893b9f PR kern/38871
Fix LAN on bge(4), alc(4). Flag VLAN capability in ec_capenable as used by network
card drivers.
2011-04-08 13:56:51 +00:00
dyoung fd66c04152 Use PCI_MAPREG_START instead of the anonymous constant 0x10. 2011-04-05 23:37:46 +00:00
dyoung ff183015a1 Bitwise-OR PCI_COMMAND_IO_ENABLE | PCI_COMMAND_MEM_ENABLE into
the PCI Command Register instead of PCI_FLAGS_IO_ENABLED |
PCI_FLAGS_MEM_ENABLED.  The latter amounts to the same value, but the
names are in the pa_flags namespace instead of the PCI Command Register
bits namespace.
2011-04-05 23:25:00 +00:00
dyoung bd9419d824 Lightly KNF. Changes to the generated assembly language appeared to
correspond to line numbers in KASSERT() statements.
2011-04-05 23:10:52 +00:00
macallan fdc4af2490 fix a typo 2011-04-05 23:05:06 +00:00
dyoung 2e65254f9b Deregister PMF handlers during detachment. Complete the host controller
shutdown.
2011-04-04 22:48:15 +00:00
dyoung 3c888757d8 Make rdcide_chip_map()'s pci_attach_args argument const. 2011-04-04 22:13:58 +00:00
dyoung d3e53912d2 Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args.  Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
    pci_intr_map() was a leftover from Xen 2.  Probably a bug.  I
    stopped writing it.  I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
    Probably a bug.  I use a temporary variable.  I have not tested this
    change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
    Probably a bug.  Use a local pci_attach_args.  I have not tested
    this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
    caller's pci_attach_args.  Probably a bug.  Make a local copy of the
    caller's pci_attach_args and modify the copy.  I have not tested
    this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
	HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
	KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
	TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
	OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
2011-04-04 20:37:49 +00:00
bouyer cd93091b0b Regen: Add RDC PCI-ISA bridge 2011-04-04 18:01:20 +00:00
bouyer 646e5cf82e Add RDC PCI-ISA bridge 2011-04-04 17:59:59 +00:00
dyoung cf724f606c Regen. 2011-04-04 15:13:08 +00:00
bouyer 88db889213 Add rdcide(4), a driver for the IDE controller found in RDC's
vortex86/PMX-1000 system-on-chip.
2011-04-04 14:33:51 +00:00
dyoung 1ef7297c4c Deregister in ahci_pci_detach() the PMF hooks registered in
ahci_pci_attach().
2011-04-03 20:05:30 +00:00
mbalmer 1571556be6 Fix misplaced parenthesis. From henning.petersen@t-online.de, thanks. 2011-04-02 08:11:31 +00:00
bouyer be340e279e Some bus_dma(9)-related and memory allocation fixes:
- always bus_dmamap_unload() before recycling a receive descriptor
- make sure to not sleep from interrupt context: call bus_dmamap_load with
  M_NOWAIT, and create dma maps BUS_DMA_ALLOCNOW.
- if a receive descriptor has a NULL mbuf try to allocate a new one, don't
  try to receive it.
2011-03-30 18:11:37 +00:00
macallan ca8e7514cb complete the driver/bus frontend split and make sure the driver can deal with
both PCI and VLB variants of the chip
2011-03-23 04:02:43 +00:00
matt d267d38067 regen. 2011-03-16 23:20:00 +00:00
matt 2987df4067 Add Freescale P2020/P2010 device ids 2011-03-16 23:19:32 +00:00
phx 8a34c88d70 When shutting down the network interface it is not enough to stop it. Some
boards also need to reset the chip, otherwise bad things can happen.
2011-03-12 16:52:05 +00:00