#
1.28 |
|
03-Sep-2021 |
andvar |
fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.27 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
1.26 |
|
24-Apr-2021 |
thorpej |
branches: 1.26.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
Revision tags: thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.25 |
|
22-Dec-2019 |
thorpej |
branches: 1.25.10; Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.24 |
|
14-Feb-2016 |
chs |
branches: 1.24.18; zero the i2c_attach_args structure before filling it in. fixes occasional crashes in iic_attach().
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.23 |
|
14-Feb-2012 |
pgoyette |
branches: 1.23.6; 1.23.24; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
#
1.22 |
|
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.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.21 |
|
08-May-2010 |
pgoyette |
branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.20 |
|
09-May-2009 |
pgoyette |
branches: 1.20.2; 1.20.4; For multi-byte transfers, the bytes need to be written to or read from consecutive data registers. Discovered while debugging sdtemp(4) driver which does _only_ 16-bit transfers!
|
#
1.19 |
|
09-May-2009 |
pgoyette |
You can't use a BYTE protocol to read 16-bits worth of data from the i2c bus. Discovered while debugging my sdtemp(4) driver.
|
#
1.18 |
|
06-May-2009 |
cegger |
struct device * -> device_t, no functional changes intended.
|
#
1.17 |
|
06-May-2009 |
cegger |
struct cfdata * -> cfdata_t, no functional changes intended.
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.16 |
|
03-Feb-2009 |
pgoyette |
branches: 1.16.2; Update the i2c_exec() functions to handle quick_read/quick_write protocol.
Although interface routines i2c_smbus_*() exist, nothing in NetBSD actually uses them yet.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 haad-dm-base mjf-devfs2-base
|
#
1.15 |
|
15-Oct-2008 |
pgoyette |
branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
#
1.14 |
|
25-May-2008 |
cegger |
branches: 1.14.4; add comment why NULL handlers are sufficient. requested and ok'd by jmcneill
|
#
1.13 |
|
25-May-2008 |
cegger |
add power management support
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
#
1.12 |
|
27-Mar-2008 |
kiyohara |
branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.11 |
|
14-Jan-2008 |
xtraeme |
branches: 1.11.6; Fix the BARs on nForce 430, which failed to attach. Reported by atsushi fukumoto in PR kern/37756.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base matt-armv6-base jmcneill-pm-base
|
#
1.10 |
|
04-Dec-2007 |
xtraeme |
branches: 1.10.4; Newer nForce MCP SMBus devices use different PCI BARs than the old ones (nForce 2/3/4).
nfsmb(4) is now properly working on newer MCPs, tested by wiz@ on MCP55:
nfsmbc0 at pci0 dev 1 function 1: NVIDIA nForce MCP55 SMBus Controller (rev. 0xa2) nfsmb0 at nfsmbc0 SMBus 1 iic0 at nfsmb0: I2C bus spdmem0 at iic0 addr 0x51 spdmem0: DDR2 SDRAM memory, data ECC, 1024MB, 667MHz, PC2-5300 spdmem0: 14 rows, 10 cols, 2 ranks, 4 banks/chip, 3.00ns cycle time spdmem0: voltage SSTL 1.8V, refresh time 7.8us (self-refreshing) nfsmb1 at nfsmbc0 SMBus 2 iic1 at nfsmb1: I2C bus
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
#
1.9 |
|
14-Nov-2007 |
xtraeme |
branches: 1.9.2; Attach to NVIDIA MCP73 now that we have the PCI id.
|
#
1.8 |
|
14-Nov-2007 |
xtraeme |
Attach to more NVIDIA SMBus controllers.
|
Revision tags: jmcneill-base
|
#
1.7 |
|
19-Oct-2007 |
ad |
branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.6 |
|
01-Sep-2007 |
riz |
branches: 1.6.2; 1.6.6; For SMBus, add the ability to enumerate devices on the bus. This does NOT identify the devices, merely indicates the presence of devices at certain addresses. Tested on ichsmb and nfsmb - other SMBus devices will need to ensure the proper bus type is set. (I2C_TYPE_SMBUS)
From Nicolas Joly, via Paul Goyette, in PR#36744.
|
#
1.5 |
|
27-Aug-2007 |
xtraeme |
branches: 1.5.2; Use rwlock(9) rather than lockmgr(9).
|
#
1.4 |
|
14-Aug-2007 |
kiyohara |
Remove and insert null-line. No parentheses are needed around the return value.
|
Revision tags: matt-mips64-base
|
#
1.3 |
|
28-Jul-2007 |
kiyohara |
branches: 1.3.4; 1.3.6; s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
#
1.2 |
|
21-Jul-2007 |
kiyohara |
We wait for the clearness of the NFORCE_SMB_PROTOCOL as transfer completion. And, the maximum is assumed to be 10msec. I think that the thing for which it waits any further is dangerous for the system.
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
1.1 |
|
11-Jul-2007 |
kiyohara |
branches: 1.1.2; 1.1.4; 1.1.6; Add support for NVIDIA nForce 2/3/4 SMBus controller and SMBus driver.
|
#
1.27 |
|
07-Aug-2021 |
thorpej |
Merge thorpej-cfargs2.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
#
1.26 |
|
24-Apr-2021 |
thorpej |
branches: 1.26.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
Revision tags: thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.25 |
|
22-Dec-2019 |
thorpej |
branches: 1.25.10; Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.24 |
|
14-Feb-2016 |
chs |
branches: 1.24.18; zero the i2c_attach_args structure before filling it in. fixes occasional crashes in iic_attach().
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.23 |
|
14-Feb-2012 |
pgoyette |
branches: 1.23.6; 1.23.24; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
#
1.22 |
|
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.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.21 |
|
08-May-2010 |
pgoyette |
branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.20 |
|
09-May-2009 |
pgoyette |
branches: 1.20.2; 1.20.4; For multi-byte transfers, the bytes need to be written to or read from consecutive data registers. Discovered while debugging sdtemp(4) driver which does _only_ 16-bit transfers!
|
#
1.19 |
|
09-May-2009 |
pgoyette |
You can't use a BYTE protocol to read 16-bits worth of data from the i2c bus. Discovered while debugging my sdtemp(4) driver.
|
#
1.18 |
|
06-May-2009 |
cegger |
struct device * -> device_t, no functional changes intended.
|
#
1.17 |
|
06-May-2009 |
cegger |
struct cfdata * -> cfdata_t, no functional changes intended.
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.16 |
|
03-Feb-2009 |
pgoyette |
branches: 1.16.2; Update the i2c_exec() functions to handle quick_read/quick_write protocol.
Although interface routines i2c_smbus_*() exist, nothing in NetBSD actually uses them yet.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 haad-dm-base mjf-devfs2-base
|
#
1.15 |
|
15-Oct-2008 |
pgoyette |
branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
#
1.14 |
|
25-May-2008 |
cegger |
branches: 1.14.4; add comment why NULL handlers are sufficient. requested and ok'd by jmcneill
|
#
1.13 |
|
25-May-2008 |
cegger |
add power management support
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
#
1.12 |
|
27-Mar-2008 |
kiyohara |
branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.11 |
|
14-Jan-2008 |
xtraeme |
branches: 1.11.6; Fix the BARs on nForce 430, which failed to attach. Reported by atsushi fukumoto in PR kern/37756.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base matt-armv6-base jmcneill-pm-base
|
#
1.10 |
|
04-Dec-2007 |
xtraeme |
branches: 1.10.4; Newer nForce MCP SMBus devices use different PCI BARs than the old ones (nForce 2/3/4).
nfsmb(4) is now properly working on newer MCPs, tested by wiz@ on MCP55:
nfsmbc0 at pci0 dev 1 function 1: NVIDIA nForce MCP55 SMBus Controller (rev. 0xa2) nfsmb0 at nfsmbc0 SMBus 1 iic0 at nfsmb0: I2C bus spdmem0 at iic0 addr 0x51 spdmem0: DDR2 SDRAM memory, data ECC, 1024MB, 667MHz, PC2-5300 spdmem0: 14 rows, 10 cols, 2 ranks, 4 banks/chip, 3.00ns cycle time spdmem0: voltage SSTL 1.8V, refresh time 7.8us (self-refreshing) nfsmb1 at nfsmbc0 SMBus 2 iic1 at nfsmb1: I2C bus
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
#
1.9 |
|
14-Nov-2007 |
xtraeme |
branches: 1.9.2; Attach to NVIDIA MCP73 now that we have the PCI id.
|
#
1.8 |
|
14-Nov-2007 |
xtraeme |
Attach to more NVIDIA SMBus controllers.
|
Revision tags: jmcneill-base
|
#
1.7 |
|
19-Oct-2007 |
ad |
branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.6 |
|
01-Sep-2007 |
riz |
branches: 1.6.2; 1.6.6; For SMBus, add the ability to enumerate devices on the bus. This does NOT identify the devices, merely indicates the presence of devices at certain addresses. Tested on ichsmb and nfsmb - other SMBus devices will need to ensure the proper bus type is set. (I2C_TYPE_SMBUS)
From Nicolas Joly, via Paul Goyette, in PR#36744.
|
#
1.5 |
|
27-Aug-2007 |
xtraeme |
branches: 1.5.2; Use rwlock(9) rather than lockmgr(9).
|
#
1.4 |
|
14-Aug-2007 |
kiyohara |
Remove and insert null-line. No parentheses are needed around the return value.
|
Revision tags: matt-mips64-base
|
#
1.3 |
|
28-Jul-2007 |
kiyohara |
branches: 1.3.4; 1.3.6; s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
#
1.2 |
|
21-Jul-2007 |
kiyohara |
We wait for the clearness of the NFORCE_SMB_PROTOCOL as transfer completion. And, the maximum is assumed to be 10msec. I think that the thing for which it waits any further is dangerous for the system.
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
1.1 |
|
11-Jul-2007 |
kiyohara |
branches: 1.1.2; 1.1.4; 1.1.6; Add support for NVIDIA nForce 2/3/4 SMBus controller and SMBus driver.
|
#
1.26 |
|
24-Apr-2021 |
thorpej |
Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
Revision tags: thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
#
1.25 |
|
22-Dec-2019 |
thorpej |
branches: 1.25.10; Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
Revision tags: netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.24 |
|
14-Feb-2016 |
chs |
branches: 1.24.18; zero the i2c_attach_args structure before filling it in. fixes occasional crashes in iic_attach().
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.23 |
|
14-Feb-2012 |
pgoyette |
branches: 1.23.6; 1.23.24; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
#
1.22 |
|
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.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.21 |
|
08-May-2010 |
pgoyette |
branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.20 |
|
09-May-2009 |
pgoyette |
branches: 1.20.2; 1.20.4; For multi-byte transfers, the bytes need to be written to or read from consecutive data registers. Discovered while debugging sdtemp(4) driver which does _only_ 16-bit transfers!
|
#
1.19 |
|
09-May-2009 |
pgoyette |
You can't use a BYTE protocol to read 16-bits worth of data from the i2c bus. Discovered while debugging my sdtemp(4) driver.
|
#
1.18 |
|
06-May-2009 |
cegger |
struct device * -> device_t, no functional changes intended.
|
#
1.17 |
|
06-May-2009 |
cegger |
struct cfdata * -> cfdata_t, no functional changes intended.
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.16 |
|
03-Feb-2009 |
pgoyette |
branches: 1.16.2; Update the i2c_exec() functions to handle quick_read/quick_write protocol.
Although interface routines i2c_smbus_*() exist, nothing in NetBSD actually uses them yet.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 haad-dm-base mjf-devfs2-base
|
#
1.15 |
|
15-Oct-2008 |
pgoyette |
branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
#
1.14 |
|
25-May-2008 |
cegger |
branches: 1.14.4; add comment why NULL handlers are sufficient. requested and ok'd by jmcneill
|
#
1.13 |
|
25-May-2008 |
cegger |
add power management support
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
#
1.12 |
|
27-Mar-2008 |
kiyohara |
branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.11 |
|
14-Jan-2008 |
xtraeme |
branches: 1.11.6; Fix the BARs on nForce 430, which failed to attach. Reported by atsushi fukumoto in PR kern/37756.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base matt-armv6-base jmcneill-pm-base
|
#
1.10 |
|
04-Dec-2007 |
xtraeme |
branches: 1.10.4; Newer nForce MCP SMBus devices use different PCI BARs than the old ones (nForce 2/3/4).
nfsmb(4) is now properly working on newer MCPs, tested by wiz@ on MCP55:
nfsmbc0 at pci0 dev 1 function 1: NVIDIA nForce MCP55 SMBus Controller (rev. 0xa2) nfsmb0 at nfsmbc0 SMBus 1 iic0 at nfsmb0: I2C bus spdmem0 at iic0 addr 0x51 spdmem0: DDR2 SDRAM memory, data ECC, 1024MB, 667MHz, PC2-5300 spdmem0: 14 rows, 10 cols, 2 ranks, 4 banks/chip, 3.00ns cycle time spdmem0: voltage SSTL 1.8V, refresh time 7.8us (self-refreshing) nfsmb1 at nfsmbc0 SMBus 2 iic1 at nfsmb1: I2C bus
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
#
1.9 |
|
14-Nov-2007 |
xtraeme |
branches: 1.9.2; Attach to NVIDIA MCP73 now that we have the PCI id.
|
#
1.8 |
|
14-Nov-2007 |
xtraeme |
Attach to more NVIDIA SMBus controllers.
|
Revision tags: jmcneill-base
|
#
1.7 |
|
19-Oct-2007 |
ad |
branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.6 |
|
01-Sep-2007 |
riz |
branches: 1.6.2; 1.6.6; For SMBus, add the ability to enumerate devices on the bus. This does NOT identify the devices, merely indicates the presence of devices at certain addresses. Tested on ichsmb and nfsmb - other SMBus devices will need to ensure the proper bus type is set. (I2C_TYPE_SMBUS)
From Nicolas Joly, via Paul Goyette, in PR#36744.
|
#
1.5 |
|
27-Aug-2007 |
xtraeme |
branches: 1.5.2; Use rwlock(9) rather than lockmgr(9).
|
#
1.4 |
|
14-Aug-2007 |
kiyohara |
Remove and insert null-line. No parentheses are needed around the return value.
|
Revision tags: matt-mips64-base
|
#
1.3 |
|
28-Jul-2007 |
kiyohara |
branches: 1.3.4; 1.3.6; s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
#
1.2 |
|
21-Jul-2007 |
kiyohara |
We wait for the clearness of the NFORCE_SMB_PROTOCOL as transfer completion. And, the maximum is assumed to be 10msec. I think that the thing for which it waits any further is dangerous for the system.
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
1.1 |
|
11-Jul-2007 |
kiyohara |
branches: 1.1.2; 1.1.4; 1.1.6; Add support for NVIDIA nForce 2/3/4 SMBus controller and SMBus driver.
|
#
1.25 |
|
22-Dec-2019 |
thorpej |
Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver.
Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus().
|
Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.24 |
|
14-Feb-2016 |
chs |
zero the i2c_attach_args structure before filling it in. fixes occasional crashes in iic_attach().
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.23 |
|
14-Feb-2012 |
pgoyette |
branches: 1.23.6; 1.23.24; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
#
1.22 |
|
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.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.21 |
|
08-May-2010 |
pgoyette |
branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.20 |
|
09-May-2009 |
pgoyette |
branches: 1.20.2; 1.20.4; For multi-byte transfers, the bytes need to be written to or read from consecutive data registers. Discovered while debugging sdtemp(4) driver which does _only_ 16-bit transfers!
|
#
1.19 |
|
09-May-2009 |
pgoyette |
You can't use a BYTE protocol to read 16-bits worth of data from the i2c bus. Discovered while debugging my sdtemp(4) driver.
|
#
1.18 |
|
06-May-2009 |
cegger |
struct device * -> device_t, no functional changes intended.
|
#
1.17 |
|
06-May-2009 |
cegger |
struct cfdata * -> cfdata_t, no functional changes intended.
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.16 |
|
03-Feb-2009 |
pgoyette |
branches: 1.16.2; Update the i2c_exec() functions to handle quick_read/quick_write protocol.
Although interface routines i2c_smbus_*() exist, nothing in NetBSD actually uses them yet.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 haad-dm-base mjf-devfs2-base
|
#
1.15 |
|
15-Oct-2008 |
pgoyette |
branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
#
1.14 |
|
25-May-2008 |
cegger |
branches: 1.14.4; add comment why NULL handlers are sufficient. requested and ok'd by jmcneill
|
#
1.13 |
|
25-May-2008 |
cegger |
add power management support
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
#
1.12 |
|
27-Mar-2008 |
kiyohara |
branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.11 |
|
14-Jan-2008 |
xtraeme |
branches: 1.11.6; Fix the BARs on nForce 430, which failed to attach. Reported by atsushi fukumoto in PR kern/37756.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base matt-armv6-base jmcneill-pm-base
|
#
1.10 |
|
04-Dec-2007 |
xtraeme |
branches: 1.10.4; Newer nForce MCP SMBus devices use different PCI BARs than the old ones (nForce 2/3/4).
nfsmb(4) is now properly working on newer MCPs, tested by wiz@ on MCP55:
nfsmbc0 at pci0 dev 1 function 1: NVIDIA nForce MCP55 SMBus Controller (rev. 0xa2) nfsmb0 at nfsmbc0 SMBus 1 iic0 at nfsmb0: I2C bus spdmem0 at iic0 addr 0x51 spdmem0: DDR2 SDRAM memory, data ECC, 1024MB, 667MHz, PC2-5300 spdmem0: 14 rows, 10 cols, 2 ranks, 4 banks/chip, 3.00ns cycle time spdmem0: voltage SSTL 1.8V, refresh time 7.8us (self-refreshing) nfsmb1 at nfsmbc0 SMBus 2 iic1 at nfsmb1: I2C bus
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
#
1.9 |
|
14-Nov-2007 |
xtraeme |
branches: 1.9.2; Attach to NVIDIA MCP73 now that we have the PCI id.
|
#
1.8 |
|
14-Nov-2007 |
xtraeme |
Attach to more NVIDIA SMBus controllers.
|
Revision tags: jmcneill-base
|
#
1.7 |
|
19-Oct-2007 |
ad |
branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.6 |
|
01-Sep-2007 |
riz |
branches: 1.6.2; 1.6.6; For SMBus, add the ability to enumerate devices on the bus. This does NOT identify the devices, merely indicates the presence of devices at certain addresses. Tested on ichsmb and nfsmb - other SMBus devices will need to ensure the proper bus type is set. (I2C_TYPE_SMBUS)
From Nicolas Joly, via Paul Goyette, in PR#36744.
|
#
1.5 |
|
27-Aug-2007 |
xtraeme |
branches: 1.5.2; Use rwlock(9) rather than lockmgr(9).
|
#
1.4 |
|
14-Aug-2007 |
kiyohara |
Remove and insert null-line. No parentheses are needed around the return value.
|
Revision tags: matt-mips64-base
|
#
1.3 |
|
28-Jul-2007 |
kiyohara |
branches: 1.3.4; 1.3.6; s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
#
1.2 |
|
21-Jul-2007 |
kiyohara |
We wait for the clearness of the NFORCE_SMB_PROTOCOL as transfer completion. And, the maximum is assumed to be 10msec. I think that the thing for which it waits any further is dangerous for the system.
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
1.1 |
|
11-Jul-2007 |
kiyohara |
branches: 1.1.2; 1.1.4; 1.1.6; Add support for NVIDIA nForce 2/3/4 SMBus controller and SMBus driver.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.24 |
|
14-Feb-2016 |
chs |
zero the i2c_attach_args structure before filling it in. fixes occasional crashes in iic_attach().
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.23 |
|
14-Feb-2012 |
pgoyette |
branches: 1.23.24; Replace the xxx_acquire()/xxx_release() rwlocks with mutexes. There are only RW_WRITERs for these, and no RW_READERs, so no need to incur the extra overhead of allowing for both. As discussed on tech-kern.
For piixpm and ichsmb, the acquire/release protocol needs to be used, even if the request is I2C_F_POLL'd (or if the device supports only polled mode). Otherwise multiple requests can be running at the same time, and they stomp on each other and create anomolous results.
Part 2 addresses my PR kern/45889
3 ACKs from releng
|
#
1.22 |
|
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.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 rmind-uvmplock-base
|
#
1.21 |
|
08-May-2010 |
pgoyette |
branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase jym-xensuspend-base
|
#
1.20 |
|
09-May-2009 |
pgoyette |
branches: 1.20.2; 1.20.4; For multi-byte transfers, the bytes need to be written to or read from consecutive data registers. Discovered while debugging sdtemp(4) driver which does _only_ 16-bit transfers!
|
#
1.19 |
|
09-May-2009 |
pgoyette |
You can't use a BYTE protocol to read 16-bits worth of data from the i2c bus. Discovered while debugging my sdtemp(4) driver.
|
#
1.18 |
|
06-May-2009 |
cegger |
struct device * -> device_t, no functional changes intended.
|
#
1.17 |
|
06-May-2009 |
cegger |
struct cfdata * -> cfdata_t, no functional changes intended.
|
Revision tags: yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.16 |
|
03-Feb-2009 |
pgoyette |
branches: 1.16.2; Update the i2c_exec() functions to handle quick_read/quick_write protocol.
Although interface routines i2c_smbus_*() exist, nothing in NetBSD actually uses them yet.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 haad-dm-base mjf-devfs2-base
|
#
1.15 |
|
15-Oct-2008 |
pgoyette |
branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
#
1.14 |
|
25-May-2008 |
cegger |
branches: 1.14.4; add comment why NULL handlers are sufficient. requested and ok'd by jmcneill
|
#
1.13 |
|
25-May-2008 |
cegger |
add power management support
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
#
1.12 |
|
27-Mar-2008 |
kiyohara |
branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.11 |
|
14-Jan-2008 |
xtraeme |
branches: 1.11.6; Fix the BARs on nForce 430, which failed to attach. Reported by atsushi fukumoto in PR kern/37756.
|
Revision tags: bouyer-xeni386-merge1 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base matt-armv6-base jmcneill-pm-base
|
#
1.10 |
|
04-Dec-2007 |
xtraeme |
branches: 1.10.4; Newer nForce MCP SMBus devices use different PCI BARs than the old ones (nForce 2/3/4).
nfsmb(4) is now properly working on newer MCPs, tested by wiz@ on MCP55:
nfsmbc0 at pci0 dev 1 function 1: NVIDIA nForce MCP55 SMBus Controller (rev. 0xa2) nfsmb0 at nfsmbc0 SMBus 1 iic0 at nfsmb0: I2C bus spdmem0 at iic0 addr 0x51 spdmem0: DDR2 SDRAM memory, data ECC, 1024MB, 667MHz, PC2-5300 spdmem0: 14 rows, 10 cols, 2 ranks, 4 banks/chip, 3.00ns cycle time spdmem0: voltage SSTL 1.8V, refresh time 7.8us (self-refreshing) nfsmb1 at nfsmbc0 SMBus 2 iic1 at nfsmb1: I2C bus
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
#
1.9 |
|
14-Nov-2007 |
xtraeme |
branches: 1.9.2; Attach to NVIDIA MCP73 now that we have the PCI id.
|
#
1.8 |
|
14-Nov-2007 |
xtraeme |
Attach to more NVIDIA SMBus controllers.
|
Revision tags: jmcneill-base
|
#
1.7 |
|
19-Oct-2007 |
ad |
branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.6 |
|
01-Sep-2007 |
riz |
branches: 1.6.2; 1.6.6; For SMBus, add the ability to enumerate devices on the bus. This does NOT identify the devices, merely indicates the presence of devices at certain addresses. Tested on ichsmb and nfsmb - other SMBus devices will need to ensure the proper bus type is set. (I2C_TYPE_SMBUS)
From Nicolas Joly, via Paul Goyette, in PR#36744.
|
#
1.5 |
|
27-Aug-2007 |
xtraeme |
branches: 1.5.2; Use rwlock(9) rather than lockmgr(9).
|
#
1.4 |
|
14-Aug-2007 |
kiyohara |
Remove and insert null-line. No parentheses are needed around the return value.
|
Revision tags: matt-mips64-base
|
#
1.3 |
|
28-Jul-2007 |
kiyohara |
branches: 1.3.4; 1.3.6; s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
#
1.2 |
|
21-Jul-2007 |
kiyohara |
We wait for the clearness of the NFORCE_SMB_PROTOCOL as transfer completion. And, the maximum is assumed to be 10msec. I think that the thing for which it waits any further is dangerous for the system.
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
#
1.1 |
|
11-Jul-2007 |
kiyohara |
branches: 1.1.2; 1.1.4; 1.1.6; Add support for NVIDIA nForce 2/3/4 SMBus controller and SMBus driver.
|