#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
248085 |
|
09-Mar-2013 |
marius |
MFC: r227309 (partial)
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
#
243616 |
|
27-Nov-2012 |
emaste |
MFC r243387: Use %u for unsigned serial number
|
#
236642 |
|
05-Jun-2012 |
marius |
MFC: r236491
Add missing prototypes. While at it, sort them alphabetically.
|
#
236479 |
|
02-Jun-2012 |
marius |
MFC: r236156
- Fix some typos in mmc_acquire_bus() and mmc_send_csd(). - Fix some math errors in mmc_decode_csd_sd(). - Fix incorrect arguments to mmc_send_app_op_cond() in mmc_go_discovery(). - Add reporting of CSD for debug purposes. - Add detection (and skipping) of password-locked cards. - Add setting of block length on card if necessary.
Submitted by: Patrick Kelsey
|
#
236089 |
|
26-May-2012 |
marius |
MFC: r234524
o Fixes: - When switching to 4-bit operation, send a SET_CLR_CARD_DETECT command to disconnect the card-detect pull-up resistor from the DAT3 line before sending the SET_BUS_WIDTH command. - Add the missing "reserved" zero entry to the mantissa table used to decode various CSD fields. This was causing SD cards to report that they could run at 30 MHz instead of the maximum 25 MHz mandated in the spec. o Enhancements: - At the MMC layer, format various info from the CID into a string that uniquely identifies the card instance (manufacturer number, serial number, product name and revision, etc). Export it as an instance variable. - At the MMCSD layer, display the formatted card ID string, and also report the clock speed of the hardware (not the card's max speed), and the number of bits and number of blocks per transfer. It comes out like this now: mmcsd0: 968MB <SD SD01G 8.0 SN 276886905 MFG 08/2008 by 3 SD> at mmc0 22.5MHz/4bit/128-block o Use DEVMETHOD_END. o Use NULL instead of 0 for pointers.
PR: 156496 Submitted by: Ian Lepore
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
222475 |
|
30-May-2011 |
jchandra |
Fix read_ivar implementation for MMC and SD.
1. Both mmc_read_ivar() and sdhci_read_ivar() use the expression '*(int *)result = val' to assign to result which is uintptr_t *. This does not work on big-endian 64 bit systems.
2. The media_size ivar is declared as 'off_t' which does not fit into uintptr_t in 32bit systems, change this to long.
Submitted by: kanthms at netlogicmicro com (initial version)
|
#
217509 |
|
17-Jan-2011 |
mav |
Fix 32bit bit fields handling. This fixes card serial number fetching. It was just a cosmetic issue, because that number is only reported in logs.
Reported by: Michael Butler on current@
|
#
216941 |
|
03-Jan-2011 |
pjd |
Wait for commands to complete 10 times longer. This makes my A-DATA 32GB SDHC card being detected.
Reviewed by: imp MFC after: 2 weeks
|
#
208441 |
|
23-May-2010 |
mav |
Report relative card address to NewBus as location string.
|
#
196403 |
|
20-Aug-2009 |
jhb |
Temporarily revert the new-bus locking for 8.0 release. It will be reintroduced after HEAD is reopened for commits by re@.
Approved by: re (kib), attilio
|
#
196037 |
|
02-Aug-2009 |
attilio |
Make the newbus subsystem Giant free by adding the new newbus sxlock. The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races.
Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped.
For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens.
Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing.
Bump __FreeBSD_version in order to reflect the newbus lock introduction.
Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
|
#
189727 |
|
12-Mar-2009 |
imp |
read_ivar takes a uintptr_t * not a u_char *.
|
#
188044 |
|
03-Feb-2009 |
imp |
o Define some symbols for a few items that are bare constants in the code. o Use NULL in preference to 0 for a few pointers. o default to bus timing normal, like we default to bus_width_1.
|
#
187877 |
|
28-Jan-2009 |
mav |
Add one more debug level.
|
#
187875 |
|
28-Jan-2009 |
mav |
Improve mmc driver verbose logging. Make requests logging controllable by hw.mmc.debug sysctl.
|
#
187551 |
|
21-Jan-2009 |
imp |
Default to normal bus timing mode on SD cards. In practice, most cards people have today support high speed mode, so the timing field would be initialized to bus_timing_hs, but there are some slow cards...
|
#
187546 |
|
21-Jan-2009 |
imp |
Fix minor style nit for file consistency.
|
#
187543 |
|
21-Jan-2009 |
imp |
Make the command reporting be under boot verbose. Also, report a few other things under boot verbose. Small style nit to make new code look like old code in this file.
|
#
187525 |
|
21-Jan-2009 |
mav |
Fix copy/paste mistake in variable name. This could lead to using incorrect bus frequency.
|
#
185721 |
|
06-Dec-2008 |
mav |
Implement suspend/resume for mmc and mmcsd drivers. Now it is possible to suspend/resume with inserted and active card.
To reinitialize card on resume and to detect card change while suspended, implement bus rescan routines. It can also be used by controllers without card presence detection signals or with multiple cards per slot support.
While there, cleanup msleep() usage. We have no any rights to exit without "request done" signal from driver as it could lead to modify after free.
|
#
184452 |
|
29-Oct-2008 |
mav |
Allow card reader bridge driver to report maximum supported transfer size. sdhci supports up to 65535 blocks transfers, at91_mci - one block.
Enable multiblock operations disabled before to follow at91_mci driver limitations.
Reviewed by: imp@
|
#
184033 |
|
18-Oct-2008 |
mav |
Implement BIO_DELETE command with MMC and SD erase commands.
Erase operation gives card's logic information about unused areas to help it implement wear-leveling with lower overhead comparing to usual writing. Erase is much faster then write and does not depends on data bus speed. Also as result of hitting in-card write logic optimizations I have measured up to 50% performance boost on writing undersized blocks into preerased areas.
At the same time there are strict limitations on size and allignment of erase operations. We can erase only blocks aligned to the erase sector size and with size multiple of it. Different cards has different erase sector size which usually varies from 64KB to 4MB. SD cards actually allow to erase smaller blocks, but it is much more expensive as it is implemented via read-erase-write sequence and so not sutable for the BIO_DELETE purposes.
Reviewed by: imp@
|
#
183775 |
|
12-Oct-2008 |
imp |
style(9): spaces around operators.
|
#
183765 |
|
11-Oct-2008 |
mav |
SELECT_CARD command with zero RCA deselects all cards and so has no reply.
|
#
183763 |
|
11-Oct-2008 |
mav |
Give mmcsd driver a bit more information about card. It allows to reorganize log message in a way a bit more common for disk devices. Also it will allow mmcsd driver to use MMC/SD specific commands when needed.
|
#
183731 |
|
09-Oct-2008 |
mav |
Add high capacity MMC cards support.
|
#
183729 |
|
09-Oct-2008 |
imp |
o Use seprate routines to decode cid and csd for sd and mmc cards. All they have in common right now is a memset. This saves a parameter to these routines, as well as a level of indentation. o Make mmc_get_bits a little clearer... It really only works on 128-bit registers right now.
|
#
183709 |
|
08-Oct-2008 |
mav |
Only voltage bits should be zero in send_op_cond argument to ignore busy.
|
#
183708 |
|
08-Oct-2008 |
mav |
Generic SD Host Controller driver going to be named sdhci.
|
#
183705 |
|
08-Oct-2008 |
mav |
Fix bit offset in mmc_sd_switch().
|
#
183704 |
|
08-Oct-2008 |
mav |
Set of mmc layer improvements: - add MMC support. - add SDHC support. - add 4 and 8 bit bus width support. - add High Speed bus timing support.
|
#
183542 |
|
02-Oct-2008 |
imp |
Define and use MMC_SECTOR_SIZE. Make mmc_get_media_size now return an off_t and remove now useless cast.
|
#
183471 |
|
29-Sep-2008 |
imp |
Make the media size return the block rather than the bytes on the device.
|
#
183470 |
|
29-Sep-2008 |
imp |
Explicitly set data to NULL rather than relying mmc_wait_for_cmd() to do it for us. There may be commands we have to wait for that need to set data.
Submitted by: mav@
|
#
183468 |
|
29-Sep-2008 |
imp |
Minor style fixes from mav@ (with similar problems fixed where I noticed them): #define<tab> zero memory when we allocate it Put device name in error message.
Submitted by: mav@
|
#
183467 |
|
29-Sep-2008 |
imp |
Conform to style(9) for return (foo); The files were a mix before.
Submitted by: mav@
|
#
183453 |
|
28-Sep-2008 |
imp |
Convert all C++ comments to C style. There's lots of folks that don't like them and they don't add enough to be worth standing out.
|
#
183452 |
|
28-Sep-2008 |
imp |
The parameters to the MMCBR_ACQUIRE_HOST and MMCBR_RELEAES_HOST were the device in question, rather than the bus doing the requesting. Fix it so that it is the bus.
Submitted by: mav@
|
#
183449 |
|
28-Sep-2008 |
imp |
Implement power down, and power down the bus on detach.
Submitted by: mav@
|
#
183447 |
|
28-Sep-2008 |
imp |
Propigate read-only status of cards. Right now it is read only at device attach time. We may need to read this more often in the future, but for now simplicity of implementation wins.
Submitted by: mav@
|
#
183446 |
|
28-Sep-2008 |
imp |
The OCR register defines both acceptable voltage bits, as well as bits for other things. Mask out the voltage only bits when returning the Vdd mask for voltage computation.
Submitted by: mav@
|
#
183445 |
|
28-Sep-2008 |
imp |
Other busses on the system use the official capitalization for the technology. Make mmc conform to that.
Submitted by: mav@
|
#
183444 |
|
28-Sep-2008 |
imp |
Fix line continuation whitespace.
Submitted by: mav@
|
#
170337 |
|
05-Jun-2007 |
imp |
MFp4: When querying the operating condition of SD cards (using the application specific SEND_OP_COND (CMD55 + ACMD41), go ahead and allow 100 tries. This gives a timeout of a second rather than the ~100ms the old style produces.
I've had one old 16MB SD card which needs the extra time. I've now had reports from the field that other cards need this too.
Originally done at BSDcan 2007 while waiting to give my embedding madness minitalk.
|
#
170002 |
|
26-May-2007 |
imp |
A careful reading of the disclaimer that is required to download the SD Simplified specification, as well as other SD and SDIO implemenations I've examined, suggest this disclaimer may be required. It is unclear to me exactly what the license would be for, or why it might be required. Err on the side of caution and include this disclaimer so anybody deploying this code can judge for themselves. I have no further unformation about the details.
|
#
169567 |
|
15-May-2007 |
imp |
First cut at making detach work. also add sdh as a possible mmc bridge.
Submitted by: Andrea Bittau (Andrea may have updated patches, but I've tested these)
|
#
163516 |
|
20-Oct-2006 |
imp |
Preliminary MMC stack. This stack supports SD 1.0 cards only, but should be easily adapted to SD 2.0 (aka SDHC), SDIO, MMC and MMCplus cards. At the present time, there's only one bridge driver for the ARM9 based Atmel AT91RM9200.
|