summaryrefslogtreecommitdiff
path: root/sys/dev/pci/amdpm.c
AgeCommit message (Collapse)Author
2022-03-19rnd(9): Adjust IPL of locks used by rndsource callbacks.riastradh
These no longer ever run from hard interrupt context or with a spin lock held, so there is no longer any need to have them at IPL_VM to block hard interrupts. Instead, lower them to IPL_SOFTSERIAL.
2020-05-30remove #if 0'ed pci_conf_print() calljdolecek
2020-04-30rnd_attach_source calls the callback itself now.riastradh
No need for every driver to explicitly call it to prime the pool. Eliminate now-unused <sys/rndpool.h>.
2020-04-30Don't attach rndsource until it's actually ready to run.riastradh
2015-04-13Convert sys/dev to use <sys/rndsource.h>.riastradh
2014-08-10Merge tls-earlyentropy branch into HEAD.tls
2013-06-13Convert the entropy pool framework from pseudo-callout-driven totls
soft interrupt driven operation. Add a polling mode of operation -- now we can ask hardware random number generators to top us up just when we need it (bcm2835_rng and amdpm converted as examples). Fix a stall noticed with repeated reads from /dev/random while testing.
2012-10-27split device_t/softc for all remaining drivers.chs
replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
2012-01-30Use pci_aprint_devinfo(9) instead of pci_devinfo+aprint_{normal,naive}drochner
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.
2010-02-07Recognize the i2c bus on the AMD768 PCI-ISA/LPC Bridgepgoyette
Resolves PR/42759 - thanks Michael Stapelberg
2009-05-12use device_private().cegger
"looks good" ad@ XXX for the device_t/softc split, please check the driver that no cases have been missed.
2009-05-06struct device * -> device_t, no functional changes intended.cegger
2009-05-06struct cfdata * -> cfdata_t, no functional changes intended.cegger
2008-04-28Remove clause 3 and 4 from TNF licensesmartin
2008-04-10use aprint_*_dev and device_xnamecegger
2007-10-19machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.had
2007-08-26There's no need to add timecounter code inside of __HAVE_TIMECOUNTERxtraeme
ifdefs.
2007-07-09Merge some of the less invasive changes from the vmlocking branch:ad
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
2007-02-05Disgusting Xbox hack;jmcneill
The "pci0 dev 1 function 2" aka "System Management" on the nForce chipset isn't detected on the Xbox. If XBOX is defined and arch_i386_is_xbox is true, force intrline to 12 and map the system management IO space at 0x8000. We can now call iic_smbus_intr when a system management interrupt takes place. While we're here, make amdpm_smbus honour the I2C_F_POLL flag. The Xbox no longer resets when you press the eject button.
2007-01-06Make sure that we don't use the amdpm timecounter on Xbox.jmcneill
2007-01-06nForce uses a slightly different register offset for the smbus controls;jmcneill
compensate for this.
2007-01-06Add nVidia nForce support, tested on Xbox.jmcneill
2006-11-16__unused removal on arguments; approved by core.christos
2006-10-12- sprinkle __unused on function decls.christos
- fix a couple of unused bugs - no more -Wno-unused for i386
2006-08-27restructure ifdefschristos
2006-07-11include machine/bus.h explicitely, fixes build problemdrochner
2006-07-11use timecounter code in dev/ic/acpipmtimer.*,drochner
kill interface attribute in device declaration
2006-07-10Attach amdpm timer on AMD8111 too, as was suggested by Nicolas Joly.xtraeme
2006-07-10PR/33968: Nicolas Joly: amdpm(4) timer, fix and AMD8111 supportchristos
Refactor the code to use different variable names to hold each conf register and avoid reading/witing the conf space multiple times.
2006-06-21formatting nit, newline, print device nameexplorer
2006-06-21Actually set amdpm_timecounter.tc_priv before using it later.explorer
2006-06-17Support for the 24/32bit timer in the AMD 768 Power Managementxtraeme
Controller, to try it use `sysctl -w kern.timecounter.hardware=amdpm`. From OpenBSD.
2006-02-19Add support for i2c bus on AMD-8111 used on many Opteron server motherboards,tls
and ADT 7463c thermal and voltage monitor found on the Tyan S2881 and S2882-D (and probably other boards as well). We do not currently support any kind of detection of the i2c address of the thermal monitor; it appears to be at 0x2D on the S2881 and 0x2E on the S2882-D (kernel config examples forthcoming). From PR kern/32463 submitted by Anil Gopinath, anil_public@yahoo.com.
2006-01-28Add support for the AMD8111 RNG; from Nicolas Joly in PR kern/32284.kleink
2005-12-04PR/32220: Murray Armfield: Enable AMD768 random no generator.christos
2005-06-28Use ANSI function decls and static.thorpej
2003-09-01Revert previous change, which was wrong. As Enami points out, we really dotls
want the NO_ESTIMATE flag here, because if the source doesn't have it, rnd_add_data will *use the time the data was added directly as entropy*, which is not a good idea either for a hardware RNG that works like this one (periodically polled by the driver) or, really, like any other that I've seen, because even for "interrupt when ready" RNGs the data rate (and thus interrupt time) will vary only slightly for a given RNG configuration over time, if at all. The data we add _is_ counted into the pool estimage because we directly pass in an entropy estimate. The overloading of the NO_ESTIMATE flag with this meaning seems, to me, like a design bug (albeit easily fixed) in the rng interface; but until that's changed, we need to use it here.
2003-08-12Remove RND_FLAG_NO_ESTIMATE and comment claiming we can't estimate (whichtls
means "count", in this context) the entropy we're adding because we poll the device periodically. Sure, we poll it periodically, but it's a hardware RNG -- the data returned should be random no matter when we read the register!
2003-01-31Use aprint_*().thorpej
2002-10-02Add trailing ; to CFATTACH_DECL.thorpej
2002-09-30Use CFATTACH_DECL().thorpej
2002-09-27Declare all cfattach structures const.thorpej
2002-06-02Collect random number from AMD 768MPX power management controller.enami