freebsd-dev/sys/dev/mmc
Warner Losh a5928b20d5 fwsectors and fwheads used to be somehwat arbitrary. However, they are
used to align partitions in gpart. We also try to align partitions by
stripe size when creating new media. Align these two concepts by
making fwsectors the same as the stripe size. Select a sensible number
of heads so we wind up with about 20 cylinders. This number was
selected to keep the rounding effects to a few percent while keeping
the number of cylinder groups low.

Sadly, it is not possible to make these numbers match the numbers used
by SD card readers. There apperas to be much variation between brands
so there's no one universal number. These numbers are also not aligned
to the stripe size, so some performance problems may still be present
when SD cards are created this way.

Also, these numbers will differ from the far less common SD to ATA
adapters, which present a different, but more uniform, set of numbers
that also happened to match the old defaults.

Nothing should change for current users. Any suboptimal performance
caused by misalignment will still be there. gpart will honor the
partitions that aren't on proper boudnaries, but editing the partition
tables may result in different alignments being used than before when
editing things natively.

Ideally, there'd be some way to override these values in the disk
subsystem by the user for the USB adapter use case where all "native"
notions of geometry disappear. This does not implement that.
2014-10-16 19:52:12 +00:00
..
host Always wait 'command done' interrupt status bit before proceeding next command. 2014-10-08 08:51:05 +00:00
bridge.h
mmc.c Add driver for Synopsys DesignWare Mobile Storage Host Controller. 2014-10-07 17:39:30 +00:00
mmcbr_if.m
mmcbrvar.h o Fixes: 2012-04-21 01:51:16 +00:00
mmcbus_if.m
mmcreg.h Fix highest voltage detection 2013-01-21 23:24:16 +00:00
mmcsd.c fwsectors and fwheads used to be somehwat arbitrary. However, they are 2014-10-16 19:52:12 +00:00
mmcvar.h Export an mmc or sd card's serial number from the mmc layer as an ivar. 2014-07-31 16:54:54 +00:00