History log of /src/sys/dev/sdmmc/sdmmc.c |
Revision | | Date | Author | Comments |
1.44 |
| 24-Jun-2025 |
gutteridge | sdmmc.c: add missing newlines to several device_printf(9) calls
|
1.43 |
| 07-Aug-2021 |
thorpej | branches: 1.43.12; Merge thorpej-cfargs2.
|
1.42 |
| 13-Jun-2021 |
mlelstv | branches: 1.42.2; Don't crash on detach where interlock == NULL.
|
1.41 |
| 24-Apr-2021 |
thorpej | branches: 1.41.2; 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.40 |
| 24-May-2020 |
riastradh | branches: 1.40.4; Fix races in sdmmc tasks and teach ld@sdmmc to abort xfers on detach.
- Teach sdmmc_add_task to queue it only if not already queued. - Remove now-redundant logic to avoid repeated queueing elsewhere. - Teach sdmmc_del_task to wait until task has completed. - Call sdmmc_del_task in various needful places. - Replace abuse of pcq by a lock and a tailq. (pcq is multi-producer, _single_-consumer, but there are potentially multiple consumers here and really only one producer.) - Teach ld_sdmmc to abort xfers on detach. (Mechanism is kinda kludgey but it'll do for now; any effort one is tempted to spend overhauling this should be spent overhauling sdmmc to support proper asynchronous commands.) - Make sure ld_sdmmc_discard either returns failure or eventually calls ldenddiscard.
XXX Currently ld_sdmmc_detach aborts xfers _before_ ldbegindetach has has committed to detaching or not. This is currently necessary to avoid a deadlock because ldbegindetach waits for xfers to drain -- which strikes me as wrong; ldbegindetach shouldn't wait for anything, and should only make the decision to commit to detaching or not so the caller can decide whether to abort xfers before we actually wait for them in ldenddetach.
XXX pullup -- although this changes some kernel symbols (sdmmc_add_task and sdmmc_del_task), it shouldn't affect any existing modules; the only module that uses sdmmc is ld_sdmmc.kmod, which is `.if 0' in the build so there shouldn't be any of them floating around.
|
1.39 |
| 28-Oct-2019 |
mlelstv | Add and use sdmmc_pause to avoid long-term busy waits. Add sdio abort function. Additional error messages. Print parameters for SDIO devices. Minor cosmetics.
|
1.38 |
| 23-Oct-2019 |
hkenken | Add SDHC flags.
+ SDHC_FLAG_BROKEN_ADMA2_ZEROLEN Broken ADMA2 Zero length descriptor. Can't 64K Byte data transfer. + SDHC_FLAG_NO_1_8_V Support no 1.8V Supply. Disable UHS-I bus speed mode (SDR50, DDR50, SDR104).
|
1.37 |
| 01-Sep-2019 |
mlelstv | From OpenBSD: - support block length per function - add functions to read/write regions Decode (but not use) SDIO tuple in CIS. Fix locking. Add more SDIO defines (partially from version 3.0).
|
1.36 |
| 06-Nov-2018 |
jmcneill | branches: 1.36.4; Increase kthread priority to PRI_SOFTBIO.
|
1.35 |
| 06-Mar-2018 |
mlelstv | branches: 1.35.2; correct whitespace in attach message
|
1.34 |
| 17-Feb-2017 |
nonaka | branches: 1.34.12; sdhc(4): hardware reset support for Intel eMMC controller
|
1.33 |
| 22-Dec-2015 |
mlelstv | branches: 1.33.2; 1.33.4; ignore timeouts for APP_CMD prefix as for the application command itself.
|
1.32 |
| 29-Nov-2015 |
jmcneill | Add some event counters to track transfer sizes.
|
1.31 |
| 09-Aug-2015 |
mlelstv | Send an explicit CMD12 (stop transmission) when there was an error in multi-sector I/O.
The SDHC spec has a complex flowchart describing when an explicit CMD12 is necessary, so we probably use it too often.
|
1.30 |
| 09-Aug-2015 |
mlelstv | protect card detection with mutex.
|
1.29 |
| 03-Aug-2015 |
jmcneill | Add support for DDR50 transfer modes.
|
1.28 |
| 03-Aug-2015 |
mlelstv | use mutex locking for MP safety.
|
1.27 |
| 28-Jul-2015 |
mlelstv | Be more verbose about errors.
|
1.26 |
| 21-May-2015 |
jmcneill | sdmmc_task_thread isn't MPSAFE so instead of just wrapping the callback in KERNEL_LOCK/KERNEL_UNLOCK_ONE, remove KTHREAD_MPSAFE. While here, use PRI_BIO instead of PRI_NONE for the task thread priority. Since this is how all transfers are queued, and we have a 1 second timeout on the task being picked up off the queue (!), better not to rely on a PRI_NONE thread.
|
1.25 |
| 20-May-2015 |
jmcneill | need to call lddone with splbio and kernel lock held
|
1.24 |
| 27-Feb-2015 |
nonaka | fix to simulate multi-segment dma transfer for pq3sdhc(4).
|
1.23 |
| 16-Nov-2014 |
ozaki-r | branches: 1.23.2; Replace callout_stop with callout_halt
In order to call callout_destroy for a callout safely, we have to ensure the function of the callout is not running and pending. To do so, we should use callout_halt, not callout_stop.
Discussed with martin@ and riastradh@.
|
1.22 |
| 19-Mar-2014 |
nonaka | branches: 1.22.4; Add a driver for Realtek RTS5209/RTS5229 Card Reader. Ported from OpenBSD.
|
1.21 |
| 12-Oct-2013 |
christos | Pass the device name in, so we can debug what deferred drivers did not work.
|
1.20 |
| 22-Dec-2012 |
jakllsch | branches: 1.20.2; We can't block our interrupt while sdmmc_detach_card is called, as it can issue commands, and some host drivers have interrupt-driven command completion. Prevents assertion (or deadlock) upon detach of sdhc(4) with inserted card.
|
1.19 |
| 22-Dec-2012 |
jakllsch | Revert sdmmc.c r1.18 (previous commit to this file). It seems to have caused regressions to detaching drivers from cards at the appropriate time.
DETACH_FORCE to sdmmc_card_detach really means the SD/SDIO card is gone, and can not be abused to mean that the host controller disappered.
|
1.18 |
| 20-Dec-2012 |
jakllsch | Only use DETACH_FORCE as flags argument to sdmmc_card_detach when the host controller has disappeared or is detaching. XXX should pass flags from sdmmc_detach through to the task thread ending to differentiate host controller disappearance from mere detachment.
|
1.17 |
| 15-Dec-2012 |
jakllsch | It's also useful to compile-test before committing.
|
1.16 |
| 15-Dec-2012 |
jakllsch | When debugging, it's useful to know what exactly failed.
|
1.15 |
| 04-Aug-2012 |
kiyohara | branches: 1.15.2; Print 'Standard Function Interface Code" in sdmmc_print(), if not SD_IO_SFIC_NO_STANDARD.
|
1.14 |
| 17-Jul-2012 |
skrll | Whitespace.
|
1.13 |
| 12-Jul-2012 |
jakllsch | If necessary, unload and destroy dmamap upon detach.
|
1.12 |
| 01-Feb-2012 |
matt | Use "opt_sdmmc.h" for SDMMC_DEBUG, etc.
|
1.11 |
| 26-Jan-2012 |
matt | Print error if couldn't enable card.
|
1.10 |
| 21-Jan-2012 |
nonaka | fix my license notice.
|
1.9 |
| 20-Mar-2011 |
nonaka | branches: 1.9.4; 1.9.8; if poll card detect is enabled, don't show "couldn't enable card".
|
1.8 |
| 13-Feb-2011 |
nonaka | - Don't switch MMC high-speed timing, if host controller isn't supported. - Only check EXT_CSD STRUCTURE version when CSD version is 3. - initialize width at sdmmc_function_alloc().
|
1.7 |
| 05-Feb-2011 |
nonaka | Don't switch SD high-speed timing, if host controller isn't supported.
|
1.6 |
| 07-Oct-2010 |
kiyohara | branches: 1.6.2; 1.6.4; Fix read CIS. And pass to attach args the standard function interface code.
|
1.5 |
| 07-Oct-2010 |
kiyohara | Support High-Speed mode.
|
1.4 |
| 01-Oct-2010 |
kiyohara | Use DMA bounce buffer, if DMA buffer is making by multiple segments. A lot of host controllers do not support to two or more segments.
|
1.3 |
| 20-Sep-2010 |
kiyohara | Clear SMF_CARD_PRESENT, if failed to attach.
|
1.2 |
| 06-Apr-2010 |
nonaka | branches: 1.2.2; - mention MMC SPI mode. - support SD 4bit bus width mode.
|
1.1 |
| 21-Apr-2009 |
nonaka | branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; Added SD/MMC support from OpenBSD. tested on i386, amd64 at current-users ML by pgoyette@. tested on zaurus by myself.
|
1.1.12.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.1.12.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.1.12.1 |
| 30-May-2010 |
rmind | sync with head
|
1.1.10.2 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.1.10.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.1.8.2 |
| 07-Oct-2009 |
sborrill | Pull up the following revisions(s) (requested by jmcneill in ticket #1044): distrib/sets/lists/man/mi: patch share/man/man4/Makefile: patch sys/arch/amd64/conf/files.amd64: 1.67 sys/arch/i386/conf/files.i386: 1.349 sys/conf/files 1.945 share/man/man4/sdmmc.4: 1.1-1.4 sys/dev/sdmmc/Makefile.sdmmcdevs 1.1 sys/dev/sdmmc/devlist2h.awk 1.1 sys/dev/sdmmc/files.sdmmc 1.1-1.2 sys/dev/sdmmc/ld_sdmmc.c 1.1-1.3 sys/dev/sdmmc/sbt.c 1.1-1.2 sys/dev/sdmmc/sdhc.c 1.1-1.3 sys/dev/sdmmc/sdhcreg.h 1.1 sys/dev/sdmmc/sdhcvar.h 1.1 sys/dev/sdmmc/sdmmc.c 1.1 sys/dev/sdmmc/sdmmc_cis.c 1.1 sys/dev/sdmmc/sdmmc_io.c 1.1 sys/dev/sdmmc/sdmmc_ioreg.h 1.1 sys/dev/sdmmc/sdmmc_mem.c 1.1-1.2 sys/dev/sdmmc/sdmmcchip.h 1.1 sys/dev/sdmmc/sdmmcdevs 1.1 sys/dev/sdmmc/sdmmcdevs.h 1.1-1.2 sys/dev/sdmmc/sdmmcreg.h 1.1-1.3 sys/dev/sdmmc/sdmmcvar.h 1.1
Add sdmmc framework
|
1.1.8.1 |
| 21-Apr-2009 |
sborrill | file sdmmc.c was added on branch netbsd-5 on 2009-10-07 15:41:13 +0000
|
1.1.6.2 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.1.6.1 |
| 21-Apr-2009 |
jym | file sdmmc.c was added on branch jym-xensuspend on 2009-05-13 17:21:29 +0000
|
1.1.4.4 |
| 09-Oct-2010 |
yamt | sync with head
|
1.1.4.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.1.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.1.4.1 |
| 21-Apr-2009 |
yamt | file sdmmc.c was added on branch yamt-nfs-mp on 2009-05-04 08:13:18 +0000
|
1.1.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.1.2.1 |
| 21-Apr-2009 |
skrll | file sdmmc.c was added on branch nick-hppapmap on 2009-04-28 07:36:33 +0000
|
1.2.2.2 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.2.2.1 |
| 06-Apr-2010 |
matt | file sdmmc.c was added on branch matt-nb5-mips64 on 2010-04-21 00:27:52 +0000
|
1.6.4.2 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.6.4.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.6.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.9.8.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.9.4.4 |
| 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.9.4.3 |
| 23-Jan-2013 |
yamt | sync with head
|
1.9.4.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.9.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.15.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.15.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.20.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.22.4.3 |
| 26-May-2015 |
msaitoh | Pull up following revision(s) (requested by jmcneill in ticket #794): sys/dev/sdmmc/sdmmc.c: revision 1.25 sys/dev/sdmmc/sdmmc.c: revision 1.26 sys/dev/sdmmc/ld_sdmmc.c: revision 1.13 sys/dev/sdmmc/ld_sdmmc.c: revision 1.16 - Be a bit more verbose about errors, also pass through error code from lower layer like other drivers. - need to call lddone with splbio and kernel lock held - sdmmc_task_thread isn't MPSAFE so instead of just wrapping the callback in KERNEL_LOCK/KERNEL_UNLOCK_ONE, remove KTHREAD_MPSAFE. While here, use PRI_BIO instead of PRI_NONE for the task thread priority. Since this is how all transfers are queued, and we have a 1 second timeout on the task being picked up off the queue (!), better not to rely on a PRI_NONE thread.
|
1.22.4.2 |
| 09-Mar-2015 |
snj | Pull up following revision(s) (requested by nonaka in ticket #577): sys/arch/powerpc/booke/dev/pq3sdhc.c: revision 1.6 sys/dev/sdmmc/sdhc.c: revision 1.54 sys/dev/sdmmc/sdmmc.c: revision 1.24 eSDHC has no DMA_BOUNDARY in BLOCK_SIZE register. So clear multi segment DMA transfer support bit. -- fix to simulate multi-segment dma transfer for pq3sdhc(4). -- pq3sdhc: Enable DMA transfer.
|
1.22.4.1 |
| 01-Dec-2014 |
martin | Pull up following revision(s) (requested by ozaki-r in ticket #279): sys/kern/kern_ktrace.c: revision 1.166 sys/dev/isa/aps.c: revision 1.16 sys/dev/sysmon/sysmonvar.h: revision 1.45 sys/dev/ir/irframe_tty.c: revision 1.60 sys/dev/sysmon/sysmon_envsys_events.c: revision 1.111 sys/dev/sysmon/sysmon_envsys_events.c: revision 1.112 sys/dev/pci/pccbb.c: revision 1.207 sys/dev/wscons/wskbd.c: revision 1.135 sys/dev/usb/ohci.c: revision 1.254 sys/net/if_ecosubr.c: revision 1.41 sys/dev/pcmcia/btbc.c: revision 1.17 sys/arch/x86/x86/via_padlock.c: revision 1.23 sys/dev/sdmmc/sdmmc.c: revision 1.23 sys/dev/bluetooth/btkbd.c: revision 1.17 sys/dev/bluetooth/bcsp.c: revision 1.25 sys/arch/x86/pci/fwhrng.c: revision 1.8 sys/dev/ic/nslm7x.c: revision 1.61 share/man/man9/callout.9: revision 1.28 Replace callout_stop with callout_halt In order to call callout_destroy for a callout safely, we have to ensure the function of the callout is not running and pending. To do so, we should use callout_halt, not callout_stop. Discussed with martin@ and riastradh@. Make it clear that we should use not callout_stop but callout_halt before callout_destroy Replace callout_stop with callout_halt In order to call callout_destroy for a callout safely, we have to ensure the function of the callout is not running and pending. To do so, we should use callout_halt, not callout_stop. In this case, we need to pass an interlock to callout_halt to wait for the callout complete. Reviewed by riastradh@. Kill sme_callout_mtx and use sme_mtx instead We can use sme_mtx for the callout as well. Actually we should do so because sme_events_list and some other data that are touched in the callout should be protected by sme_mtx, not sme_callout_mtx. Discussed with riastradh@ in http://mail-index.netbsd.org/tech-kern/2014/11/11/msg017956.html Replace callout_stop with callout_halt In order to call callout_destroy for a callout safely, we have to ensure the function of the callout is not running and pending. To do so, we should use callout_halt, not callout_stop. In this case, we need to pass an interlock to callout_halt to wait for the callout complete. And also we make sure that SME_CALLOUT_INITIALIZED is unset before calling callout_halt to prevent the callout from calling callout_schedule. This is the same as what we did in sys/netinet6/mld6.c@1.61. Reviewed by riastradh@.
|
1.23.2.5 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.23.2.4 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.23.2.3 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.23.2.2 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.23.2.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.33.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.33.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.34.12.2 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.34.12.1 |
| 15-Mar-2018 |
pgoyette | Synch with HEAD
|
1.35.2.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.35.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.36.4.2 |
| 09-Aug-2020 |
martin | Pull up following revision(s) (requested by mrg in ticket #1042):
sys/dev/sdmmc/if_bwfm_sdio.c: revision 1.19 sys/dev/sdmmc/ld_sdmmc.c: revision 1.38 sys/dev/sdmmc/sdmmcvar.h: revision 1.35 sys/dev/sdmmc/if_bwfm_sdio.c: revision 1.5 sys/dev/ic/bwfm.c: revision 1.26 sys/dev/ic/bwfm.c: revision 1.27 sys/dev/sdmmc/if_bwfm_sdio.c: revision 1.20 sys/dev/sdmmc/if_bwfm_sdio.c: revision 1.21 sys/dev/sdmmc/sdmmc_io.c: revision 1.20 sys/dev/sdmmc/sdmmc_mem.c: revision 1.72 sys/dev/sdmmc/sdmmc.c: revision 1.40 sys/dev/sdmmc/sdmmc_ioreg.h: revision 1.6 sys/dev/sdmmc/if_bwfm_sdio.c: revision 1.16
Don't pass empty mbufs to the network stack.
Avoid changing signedness bit with << in sdmmc_ioreg.h Reported by <prlw1>
If the controller doesn't support switch func (opcode 6) then skip setting this but continue with other settings. This allows us to use a card, albeit at a lower speed.
Fix races in sdmmc tasks and teach ld@sdmmc to abort xfers on detach. - Teach sdmmc_add_task to queue it only if not already queued. - Remove now-redundant logic to avoid repeated queueing elsewhere. - Teach sdmmc_del_task to wait until task has completed. - Call sdmmc_del_task in various needful places. - Replace abuse of pcq by a lock and a tailq. (pcq is multi-producer, _single_-consumer, but there are potentially multiple consumers here and really only one producer.) - Teach ld_sdmmc to abort xfers on detach. (Mechanism is kinda kludgey but it'll do for now; any effort one is tempted to spend overhauling this should be spent overhauling sdmmc to support proper asynchronous commands.) - Make sure ld_sdmmc_discard either returns failure or eventually calls ldenddiscard.
XXX Currently ld_sdmmc_detach aborts xfers _before_ ldbegindetach has has committed to detaching or not. This is currently necessary to avoid a deadlock because ldbegindetach waits for xfers to drain -- which strikes me as wrong; ldbegindetach shouldn't wait for anything, and should only make the decision to commit to detaching or not so the caller can decide whether to abort xfers before we actually wait for them in ldenddetach.
XXX pullup -- although this changes some kernel symbols (sdmmc_add_task and sdmmc_del_task), it shouldn't affect any existing modules; the only module that uses sdmmc is ld_sdmmc.kmod, which is `.if 0' in the build so there shouldn't be any of them floating around.
Make this work on big endian machines
move some of the patching of callbacks and other data after ieee80211_ifattach() but before if_deferred_start_init(). may fix panic i saw in after restarting wpa_supplicant. from mlelstv.
only ask for SDPCMD_INTSTATUS_HMB_SW_MASK and SDPCMD_INTSTATUS_CHIPACTIVE interrupts, not all of them. we only ack these ones. mostly fixes pinebookpro wifi hard hangs. still is problematic and can trigger interrupt storm that appears as a hard hang without NET_MPSAFE, and a follow up, less clearly right, change will reduce that to a soft hang of the interface that can be cleared with 'ifconfig bwfm0 down up', and even often recovers itself now.
clear all interrupts, not just those we expect from the hostintmask. this removes the final hard hang i have seen in pinebookpro wifi, though one may still need to 'ifconfig bwfm0 down up' occasionally, so we still have bugs to fix here (the hang is usually associated with 'checksum error' from bwfm/sdio.)
Sort #includes. Nix trailing whitespace. No functional change intended.
|
1.36.4.1 |
| 25-Feb-2020 |
martin | Pull up following revision(s) (requested by mrg in ticket #717):
sys/dev/fdt/dwcmmc_fdt.c 1.11 sys/dev/ic/bwfm.c 1.15-1.18 sys/dev/ic/bwfmreg.h 1.4-1.6 sys/dev/ic/bwfmvar.h 1.4,1.5 sys/dev/ic/dwc_mmc.c 1.21,1.22 sys/dev/ic/dwc_mmc_reg.h 1.8,1.9,1.12,1.13 sys/dev/pcmcia/pcmciareg.h 1.11 sys/dev/sdmmc/if_bwfm_sdio.c 1.4,1.6-1.12 sys/dev/sdmmc/if_bwfm_sdio.h 1.1,1.2 sys/dev/sdmmc/sdhc.c 1.105,1.106 sys/dev/sdmmc/sdmmc.c 1.37,1.39 sys/dev/sdmmc/sdmmc_cis.c 1.6,1.8 sys/dev/sdmmc/sdmmc_io.c 1.15-1.19 sys/dev/sdmmc/sdmmc_ioreg.h 1.4,1.5 sys/dev/sdmmc/sdmmc_mem.c 1.69-1.71 sys/dev/sdmmc/sdmmcdevs 1.5-1.8 sys/dev/sdmmc/sdmmcvar.h 1.31,1.33,1.34 sys/net/if_media.h 1.66
Add Broadcom devices - Fix typo - add PCMCIA_CISTPL_SDIO definition. - From OpenBSD: - move event handling to workqueue - check for save/restore capability - Tag work queue as MPsafe and increase length. - Juse use bpf_mtap(), the 802.11 encapsulation is handled by firmware. - From OpenBSD: - support block length per function - add functions to read/write regions - Decode (but not use) SDIO tuple in CIS. - Fix locking. - Add more SDIO defines (partially from version 3.0). - From OpenBSD: - All the missing pieces (firmware load, chip setup, protocol handling) TX queue and interrupt handling via sdmmc_task. - Fix locking. - Fix packet parsing. - Add parser for original firmware config files. - tagging work queue as MPSAFE was premature. Revert. - SD_IO_RW_EXTENDED is a data transfer command, so set ADTC flag instead of AC Use correct function to verify if a task has been queued. Avoids race that can corrupt the task queue. - More register definitions. - Add IFM_IEEE80211_VHT subtype, IFM_IEEE80211_11AC operating mode, and missing descriptions - If firmware is connected in HT or VHT mode, report it to SIOCGIFMEDIA - white space police.
Skip setting power when the voltage doesn't change. Also increase some timeouts. - Add and use sdmmc_pause to avoid long-term busy waits. - Add sdio abort function. - Additional error messages. - Print parameters for SDIO devices. - Minor cosmetics. - Simplyfy sdmmc_io_set_blocklen function signature by dropping the extra softc pointer. Aligns with OpenBSD. - Missing commit for sdio abort function. - More code from OpenBSD - no need to splnet() when enqueing packets - explicit structure padding - make internal functions static - also prepare for GPIO interrupts. - Avoid warnings for tautological shifts as sole conditional. - Follow the Linux driver an use the FDT "compatible" property to build a filename for the nvram config file, fall back to the standard filename. E.g. [Caching 123 nodes and 1093 properties] compatible 73696e6f 766f6970 2c627069 2d6d322d "sinovoip,bpi-m2- 0010: 7a65726f 00...... ........ ........ zero" 0015: 616c6c77 696e6e65 722c7375 6e38692d "allwinner,sun8i- 0025: 68322d70 6c757300 ........ ........ h2-plus" interrupt-parent 00000001 ........ ........ ........ .... model 42616e61 6e612050 69204250 492d4d32 "Banana Pi BPI-M2 0010: 2d5a6572 6f00.... ........ ........ -Zero" name 00...... ........ ........ ........ "" serial-number 30326330 30303432 65636431 36376566 02c00042ecd167ef 0010: 00...... ........ ........ ........ . -rw-r--r-- 1 root wheel 875 Nov 2 12:06 brcmfmac43430-sdio.AP6212.txt lrwxr-xr-x 1 root wheel 29 Dec 30 16:19 brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt -> brcmfmac43430-sdio.AP6212.txt -rw-r--r-- 1 root wheel 874 Jun 30 2019 brcmfmac43430-sdio.raspberrypi,3-model-b.txt -rw-r--r-- 1 root wheel 1864 Jun 30 2019 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt lrwxr-xr-x 1 root wheel 29 Dec 30 11:24 brcmfmac43455-sdio.raspberrypi,4-model-b-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt - Add product ID for Broadcom BCM43455 - Use correct firmware for BCM43456 - size check was backwards. - Be less noisy for some commands. - Fix DWC_MMC_INT_SDIO_INT bit - dwc_mmc fixes: - Rockchip uses a different SDIO int bit, so take this into consideration - Avoid unnecessary resets and always wait for resets to complete - kpause instead of delay while holding spinlock - Do not attempt autostop for SD_IO_RW_EXTENDED commands - Allow for sub-blklen byte counts for single block transfers - More SDIO stability and performance fixes
|
1.40.4.1 |
| 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.41.2.1 |
| 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.42.2.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.43.12.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|