Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_ral_pci.c
RevisionDateAuthorComments
 1.26  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.25  09-Dec-2018  jdolecek use pci_intr_establish_xname() everywhere
 1.24  25-Jul-2017  maya branches: 1.24.2; 1.24.4;
enable rt2860 power management code

adjust to fit netbsd:
make suspend,resume functions match desired pmf* prototypes
remove wakeup/activate wrapper functions

avoid jumping to NULL on resume by initializing if_stop

the problem machine has other issues on resume, so there might be further
issues, but it's an improvement over a jump to NULL.

tested by Riccardo Mottola
 1.23  06-Jul-2016  christos branches: 1.23.10;
more cards, sort.
 1.22  27-Apr-2016  christos Sync with OpenBSD (add rt2860). Handle 32/64 memory bars,
some power management, more device matches.
 1.21  29-Mar-2014  christos branches: 1.21.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.20  18-Feb-2012  drochner branches: 1.20.2; 1.20.4;
split device_t/softc
 1.19  30-Jan-2012  drochner Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive}
where it looks straightforward, and pci_aprint_devinfo_fancy in a few
others where drivers want to supply their own device names instead
of the pcidevs generated one. More complicated cases, where names
are composed at runtime, are left alone for now. It certainly makes
sense to simplify the drivers here rather than inventing a catch-all API.
This should serve as as example for new drivers, and also ensure
consistent output in the AB_QUIET ("boot -q") case. Also, it avoids
excessive stack usage where drivers attach child devices because the
buffer for the device name is not kept on the local stack anymore.
 1.18  26-Jul-2011  dyoung branches: 1.18.2; 1.18.6;
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)
)
 1.17  10-May-2011  dyoung Constify pci_attach_args.
 1.16  10-May-2011  dyoung 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.
 1.15  19-Jan-2010  pooka branches: 1.15.4; 1.15.6;
Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.14  26-Nov-2009  njoly Cleanup interrupt establish error messages. Do not mix
aprint_error/aprint_normal/printf calls for a single line.
 1.13  08-Aug-2009  matt If we've had to enable MEM access, make sure our flags reflect that so that
pci_mapreg_map won't fail because it didn't know we did it.
 1.12  12-May-2009  cegger use device_private().
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
 1.11  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.10  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.9  29-Apr-2008  scw branches: 1.9.14;
Pull in some more changes from OpenBSD:

- replace rssadapt(9) with amrr for automatic rate control.
- don't blindly IFQ_DEQUEUE() then drop a Tx packet if there are no
available Tx resources.
- move default MAC/BBP/RF settings from rt2661.c to rt2661reg.h.
- enable packet bursting when operating as a STA.
- implement new ic_updateslot() callback.
- in hostap mode, we defer update of the slot time until all associated
STAs are notified with updated beacons.
- 802.11a uses a 16 microseconds short interframe space.
- Fix rt2661_set_macaddr() so that we don't override the "unicast to me"
flag in RT2661_MAC_CSR3 when setting the MAC address.
- fix index of ERP information element in beacons.

Add a couple of tweaks of my own:

- The RX/TX BUSY flag should be the last thing written to a descriptor.
- Check and service any additional h/w interrupts before returning
from the isr.

Tested in STA, AP, and Monitor modes. Tested with WEP, WPA, and WPA2 crypto.

Additional testing by xtraeme@
 1.8  10-Apr-2008  cegger branches: 1.8.2; 1.8.4;
use aprint_*_dev and device_xname
 1.7  19-Oct-2007  ad branches: 1.7.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.6  16-Nov-2006  christos branches: 1.6.8; 1.6.22; 1.6.24; 1.6.28;
__unused removal on arguments; approved by core.
 1.5  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.4  06-Jun-2006  rpaulo branches: 1.4.6; 1.4.8;
Attachment framework for the rt2561.c and rt2661.c drivers.

From OpenBSD.
 1.3  11-Dec-2005  christos branches: 1.3.4; 1.3.6; 1.3.8; 1.3.14;
merge ktrace-lwp.
 1.2  04-Jul-2005  drochner branches: 1.2.2; 1.2.8;
update PCI/Cardbus ral wlan driver, and adapt to new FreeBSD/NetBSD
80211 framework, from FUKAUMI Naoki per mail to tech-net
 1.1  01-Jul-2005  drochner add drivers for Ralink RT2500-based wireless adapters, written by
Damien Bergamini, ported and submitted by FUKAUMI Naoki per PR kern/30449
I've modified the USB "ural" driver for recent changes to the NetBSD
ieee80211 framework, possibly not completely, but with an ASUS wireless
adapter I'm getting some signs of life.
Didn't care about pci/cardbus for now, hopefully someone with hardware
will do it.
 1.2.8.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.8.1  04-Jul-2005  skrll file if_ral_pci.c was added on branch ktrace-lwp on 2005-11-10 14:06:01 +0000
 1.2.2.3  27-Oct-2007  yamt sync with head.
 1.2.2.2  30-Dec-2006  yamt sync with head.
 1.2.2.1  21-Jun-2006  yamt sync with head.
 1.3.14.1  19-Jun-2006  chap Sync with head.
 1.3.8.1  26-Jun-2006  yamt sync with head.
 1.3.6.1  07-Jun-2006  kardel Sync with head.
 1.3.4.1  09-Sep-2006  rpaulo sync with head
 1.4.8.2  10-Dec-2006  yamt sync with head.
 1.4.8.1  22-Oct-2006  yamt sync with head
 1.4.6.1  18-Nov-2006  ad Sync with head.
 1.6.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.6.24.1  06-Nov-2007  matt sync with HEAD
 1.6.22.1  26-Oct-2007  joerg 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.
 1.6.8.1  23-Oct-2007  ad Sync with head.
 1.7.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.8.4.4  11-Mar-2010  yamt sync with head
 1.8.4.3  19-Aug-2009  yamt sync with head.
 1.8.4.2  16-May-2009  yamt sync with head
 1.8.4.1  16-May-2008  yamt sync with head.
 1.8.2.1  18-May-2008  yamt sync with head.
 1.9.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.15.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.15.4.1  31-May-2011  rmind sync with head
 1.18.6.2  24-Feb-2012  mrg sync to -current.
 1.18.6.1  18-Feb-2012  mrg merge to -current.
 1.18.2.2  22-May-2014  yamt 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")
 1.18.2.1  17-Apr-2012  yamt sync with head
 1.20.4.1  18-May-2014  rmind sync with head
 1.20.2.2  03-Dec-2017  jdolecek update from HEAD
 1.20.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.6.3  28-Aug-2017  skrll Sync with HEAD
 1.21.6.2  09-Jul-2016  skrll Sync with HEAD
 1.21.6.1  29-May-2016  skrll Sync with HEAD
 1.23.10.1  01-Aug-2017  snj Pull up following revision(s) (requested by maya in ticket #162):
sys/dev/pci/if_ral_pci.c: revision 1.24
sys/dev/ic/rt2860.c: revision 1.28
sys/dev/ic/rt2860var.h: revision 1.5
enable rt2860 power management code
adjust to fit netbsd:
make suspend,resume functions match desired pmf* prototypes
remove wakeup/activate wrapper functions
avoid jumping to NULL on resume by initializing if_stop
the problem machine has other issues on resume, so there might be further
issues, but it's an improvement over a jump to NULL.
tested by Riccardo Mottola
 1.24.4.1  10-Jun-2019  christos Sync with HEAD
 1.24.2.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts

RSS XML Feed