Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
f4b56094 |
| 18-Apr-2001 |
Warner Losh <imp@FreeBSD.org> |
Add some more O2Micro devices I gleened from the web site/linux pcmcia cs. Add TI4451 as well.
These are untested since I don't have the hardware to test against.
Also, some O2Micro devices are #de
Add some more O2Micro devices I gleened from the web site/linux pcmcia cs. Add TI4451 as well.
These are untested since I don't have the hardware to test against.
Also, some O2Micro devices are #define w/o numbers as place holders so that I can encourage people to submit them when they appear in the channels.
show more ...
|
#
029f7392 |
| 18-Apr-2001 |
Warner Losh <imp@FreeBSD.org> |
Add support for the OZ6832.
Submitted by: Martin Nilsson <martin@svenskabutiker.se>
|
#
80914f7e |
| 11-Apr-2001 |
Warner Losh <imp@FreeBSD.org> |
Add O2Micro's OZ6872 Cardbus bridge.
Submitted by: Robert Sexton <robert@kudra.com>
|
#
a174ba72 |
| 30-Mar-2001 |
Jesper Skriver <jesper@FreeBSD.org> |
Change the previous commit to be in style(9)
Reviewed by: jhb
|
#
6c00471f |
| 29-Mar-2001 |
Jesper Skriver <jesper@FreeBSD.org> |
Fix building NEWCARD again, by including sys/types.h and sys/lock.h in pccbb.c, as jhb noted in rev 1.12 of src/share/man/man9/mutex.9
|
#
9ed346ba |
| 09-Feb-2001 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:
mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)
simil
Change and clean the mutex lock interface.
mtx_enter(lock, type) becomes:
mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)
similarily, for releasing a lock, we now have:
mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN. We change the caller interface for the two different types of locks because the semantics are entirely different for each case, and this makes it explicitly clear and, at the same time, it rids us of the extra `type' argument.
The enter->lock and exit->unlock change has been made with the idea that we're "locking data" and not "entering locked code" in mind.
Further, remove all additional "flags" previously passed to the lock acquire/release routines with the exception of two:
MTX_QUIET and MTX_NOSWITCH
The functionality of these flags is preserved and they can be passed to the lock/unlock routines by calling the corresponding wrappers:
mtx_{lock, unlock}_flags(lock, flag(s)) and mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN locks, respectively.
Re-inline some lock acq/rel code; in the sleep lock case, we only inline the _obtain_lock()s in order to ensure that the inlined code fits into a cache line. In the spin lock case, we inline recursion and actually only perform a function call if we need to spin. This change has been made with the idea that we generally tend to avoid spin locks and that also the spin locks that we do have and are heavily used (i.e. sched_lock) do recurse, and therefore in an effort to reduce function call overhead for some architectures (such as alpha), we inline recursion for this case.
Create a new malloc type for the witness code and retire from using the M_DEV type. The new type is called M_WITNESS and is only declared if WITNESS is enabled.
Begin cleaning up some machdep/mutex.h code - specifically updated the "optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently need those.
Finally, caught up to the interface changes in all sys code.
Contributors: jake, jhb, jasone (in no particular order)
show more ...
|
#
11c0c4ae |
| 08-Feb-2001 |
Warner Losh <imp@FreeBSD.org> |
Fix memory leaks with dev_get_children().
Submitted by: Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
|
#
486d464d |
| 07-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
o Now that I've had time to test the new interface, reintegrate it back in. o Fix OLDCARD to use the new interface. o Rename the offsetp argument to deltap to more closely reflect what it is return
o Now that I've had time to test the new interface, reintegrate it back in. o Fix OLDCARD to use the new interface. o Rename the offsetp argument to deltap to more closely reflect what it is returning (it returns the delta from the requested value to the actual value). o Remove duplicate $FreeBSD$ in pccbb.c o Allow deltap to be NULL. o Convert new isa pcic driver and add XXX comments that this function isn't actually implemented there (which means that NEWCARD pccard stuff won't work there until it is). o Revert attempts to make old inferface work in NEWCARD.
Subitted by: peter (Parts of the new version code)
show more ...
|
#
1bc96f7a |
| 07-Jan-2001 |
Warner Losh <imp@FreeBSD.org> |
Undo the interface change to CARD_GET_MEMORY_OFFSET. It wasn't tested by even a compile of the OLDCARD code, was unapproved by me the keeper of OLDCARD and broke OLDCARD and the ray driver.
Adjust
Undo the interface change to CARD_GET_MEMORY_OFFSET. It wasn't tested by even a compile of the OLDCARD code, was unapproved by me the keeper of OLDCARD and broke OLDCARD and the ray driver.
Adjust new code to cope with the older interface.
If the interface changes in the future, it ***MUST*** be cleared by me so that the OLDCARD impacts taken into account. It code in card_if.m is used jointly by both OLDCARD and NEWCARD.
show more ...
|
#
0c95c705 |
| 06-Jan-2001 |
Jonathan Chen <jon@FreeBSD.org> |
* Better kld support in pccbb/cardbus - pccbb no longer needs to remember whether a card is inserted. - pccbb reissues insertion on load of cardbus/pccard modules. - got rid of unnecessary dela
* Better kld support in pccbb/cardbus - pccbb no longer needs to remember whether a card is inserted. - pccbb reissues insertion on load of cardbus/pccard modules. - got rid of unnecessary delays in power functions. - Cardbus children are no longer deleted if probe/attach fails. - non-attached child devices are reprobed at driver_added.
* CARD interface to read CIS - added card_cis_read/card_cis_free interface to read arbitrary CIS data. This currently is only implemented in cardbus.
* pccard begins to work - pccard can now use higher memory space (and uses it by default). - set_memory_offset interface changed. - fixed ccr access, which was broken at multiple locations. - implement an interrupt handler - pccard can now share interrupts. - resource alloc/release/activate/deactivate functions gutted: some resources are allocated by the bridge before the child device is probed or attached. Thus the resource "belongs" to the bridge, and the pccard_*_resource functions need to fudge the owner/rid. - changed some error conditions to panics to speed debugging.
* Mutex fix - Giant is entered at the beginning of thread
show more ...
|
#
84c6b37d |
| 13-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
Updates to match changes elsewhere in the PCI subsystem:
- Remove redundant header-type-specific support in the cardbus pcibus clone. The bridges don't need this anymore. - Use pcib_get_bus in
Updates to match changes elsewhere in the PCI subsystem:
- Remove redundant header-type-specific support in the cardbus pcibus clone. The bridges don't need this anymore. - Use pcib_get_bus instead of the deprecated pci_get_secondarybus. - Implement read/write ivar support for the pccbb, and teach it how to report its secondary bus number. Save the subsidiary bus number as well, although we don't use it yet.
show more ...
|
#
af82f62d |
| 28-Nov-2000 |
Jonathan Chen <jon@FreeBSD.org> |
A bunch of newcard/cardbus changes that's been sitting in my tree for a while:
- Make pccbb/cardbus kld loadable and unloadable. - Make pccbb/cardbus use the power interface from pccard instead of i
A bunch of newcard/cardbus changes that's been sitting in my tree for a while:
- Make pccbb/cardbus kld loadable and unloadable. - Make pccbb/cardbus use the power interface from pccard instead of inventing its own. - some other minor fixes
show more ...
|
Revision tags: release/4.2.0 |
|
#
283a9830 |
| 22-Oct-2000 |
Warner Losh <imp@FreeBSD.org> |
Cleanup allocation of resources for 16-bits. We now do the right thing in pccbb bridge (the pcic bridge will be updated as I merge the two copies of the code that were in the original cardbus commit
Cleanup allocation of resources for 16-bits. We now do the right thing in pccbb bridge (the pcic bridge will be updated as I merge the two copies of the code that were in the original cardbus commit).
show more ...
|
#
f40ed9c2 |
| 20-Oct-2000 |
Warner Losh <imp@FreeBSD.org> |
Allow interrupts to be sharable.
This allows us to probe, but not attach.
|
#
b8493884 |
| 18-Oct-2000 |
Warner Losh <imp@FreeBSD.org> |
Go ahead and disable the legacy mapping of the pcic registers on the RF5C47x. Before the code would only do this on the RF5C46x bridges.
Submitted by: Jonathan Chen
|
#
0db7e66c |
| 18-Oct-2000 |
Jonathan Chen <jon@FreeBSD.org> |
Initial commit of NEWCARD cardbus side (that actually compiles and works)
Files: dev/cardbus/cardbus.c dev/cardbus/cardbusreg.h dev/cardbus/cardbusvar.h dev/cardbus/cardbus_cis.c dev/cardbus/ca
Initial commit of NEWCARD cardbus side (that actually compiles and works)
Files: dev/cardbus/cardbus.c dev/cardbus/cardbusreg.h dev/cardbus/cardbusvar.h dev/cardbus/cardbus_cis.c dev/cardbus/cardbus_cis.h dev/pccbb/pccbb.c dev/pccbb/pccbbreg.h dev/pccbb/pccbbvar.h dev/pccbb/pccbb_if.m
This should support: - cardbus controllers: * TI 113X * TI 12XX * TI 14XX * Ricoh 47X * Ricoh 46X * ToPIC 95 * ToPIC 97 * ToPIC 100 * Cirrus Logic CLPD683x - cardbus cards * 3c575BT * 3c575CT * Xircom X3201 (includes IBM, Xircom and, Intel cards) [ 3com support already in kernel, Xircom will be committed real soon now]
This doesn't work with 16bit pccards under NEWCARD.
Enable in your config by having "device pccbb" and "device cardbus". (A "device pccard" will attach a pccard bus, but it means you system have a high chance of panicing when a 16bit card is inserted)
It should be fairly simple to make a driver attach to cardbus under NEWCARD -- simply add an entry for attaching to cardbus on a new DRIVER_MODULE and add new device IDs as necessary. You should also make sure the card can be detached nicely without the interrupt routine doing something weird, like going into an infinite loop. Usually that should entail adding an additional check when a pci register or the bus space is read to check if it equals 0xffffffff.
Any problems, please let me know.
Reviewed by: imp
show more ...
|
#
cbd59a4f |
| 08-Sep-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC from head@196987
|
#
a56fe095 |
| 20-Aug-2009 |
John Baldwin <jhb@FreeBSD.org> |
Temporarily revert the new-bus locking for 8.0 release. It will be reintroduced after HEAD is reopened for commits by re@.
Approved by: re (kib), attilio
|
#
11e9b8ba |
| 04-Aug-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC @196061
|
#
444b9186 |
| 02-Aug-2009 |
Attilio Rao <attilio@FreeBSD.org> |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to h
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races.
Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped.
For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens.
Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing.
Bump __FreeBSD_version in order to reflect the newbus lock introduction.
Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
bca6fb92 |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Better name for this routine... it doesn't reset the card, but resets the power to the card...
|
#
993b1ae2 |
| 17-Feb-2009 |
Warner Losh <imp@FreeBSD.org> |
Hold off root mounting until we've gone through the loop of our thread almost once. After we've configured the devices that were present the first time through, then we know that we're done. If the
Hold off root mounting until we've gone through the loop of our thread almost once. After we've configured the devices that were present the first time through, then we know that we're done. If the device has other devices that are deferred, then it must do a similar dance. This catches both PC Cards and CardBus cards.
show more ...
|
#
a620f9a5 |
| 04-Feb-2009 |
Warner Losh <imp@FreeBSD.org> |
Correct signatures to match kobj function definitions.
|
Revision tags: release/7.1.0_cvs, release/7.1.0 |
|
#
f2323a47 |
| 07-Dec-2008 |
Warner Losh <imp@FreeBSD.org> |
Minor tweaks to some of the comments. Also, add a XXX wondering if we need to frob the 16-bit EXCA registers during the new interrupt-driven power-up sequence.
|