History log of /src/sys/dev/pci/nfsmb.c |
Revision | | Date | Author | Comments |
1.29 |
| 15-Sep-2025 |
thorpej | Encapsulate what's needed to attach an I2C bus into a iicbus_attach() inline.
|
1.28 |
| 03-Sep-2021 |
andvar | fix typos in comments, mainly s/extention/extension/ and s/sufficent/sufficient/
|
1.27 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
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?).
|
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().
|
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().
|
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.
|
1.21 |
| 08-May-2010 |
pgoyette | branches: 1.21.8; 1.21.12; Recognize additional SMBus controllers. From FreeBSD.
|
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.
|
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.
|
1.15 |
| 15-Oct-2008 |
pgoyette | branches: 1.15.2; If we're doing a 2-byte read, return the entire 16-bit result.
|
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
|
1.12 |
| 27-Mar-2008 |
kiyohara | branches: 1.12.2; 1.12.4; 1.12.6; Split device_t/softc.
|
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.
|
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
|
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.
|
1.7 |
| 19-Oct-2007 |
ad | branches: 1.7.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
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.
|
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.
|
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.1.6.2 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.1.6.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.1.4.5 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.1.4.4 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.1.4.3 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.1.4.2 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.1.4.1 |
| 11-Jul-2007 |
ad | file nfsmb.c was added on branch vmlocking on 2007-07-15 13:21:37 +0000
|
1.1.2.2 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.1.2.1 |
| 11-Jul-2007 |
mjf | file nfsmb.c was added on branch mjf-ufs-trans on 2007-07-11 20:07:53 +0000
|
1.3.6.2 |
| 28-Jul-2007 |
kiyohara | s/uint32_t reg/pcireg_t reg/. Check condition `!= 0'.
|
1.3.6.1 |
| 28-Jul-2007 |
kiyohara | file nfsmb.c was added on branch matt-mips64 on 2007-07-28 12:31:51 +0000
|
1.3.4.5 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.3.4.4 |
| 14-Nov-2007 |
joerg | Sync with HEAD.
|
1.3.4.3 |
| 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.3.4.2 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.3.4.1 |
| 16-Aug-2007 |
jmcneill | Sync with HEAD.
|
1.5.2.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.5.2.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.5.2.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.6.6.2 |
| 18-Nov-2007 |
bouyer | Sync with HEAD
|
1.6.6.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.6.2.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.6.2.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.6.2.4 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.6.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.6.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.6.2.1 |
| 01-Sep-2007 |
yamt | file nfsmb.c was added on branch yamt-lazymbuf on 2007-09-03 14:37:13 +0000
|
1.7.2.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.7.2.2 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.7.2.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.9.2.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
1.10.4.1 |
| 19-Jan-2008 |
bouyer | Sync with HEAD
|
1.11.6.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.11.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.11.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.12.6.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.12.4.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.12.4.2 |
| 16-May-2009 |
yamt | sync with head
|
1.12.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.12.2.1 |
| 04-Jun-2008 |
yamt | sync with head
|
1.14.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.15.2.1 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.16.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.20.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.20.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.21.12.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.21.8.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.23.24.1 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.23.6.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.24.18.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.25.10.2 |
| 23-Mar-2021 |
thorpej | Convert config_found_ia() call sites where the device only carries a single interface attribute to bare config_found() calls.
|
1.25.10.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.26.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|