freebsd-dev/sys/dev/mmc
Marius Strobl 79f39c6aa1 - If available, use TRIM instead of ERASE for implementing BIO_DELETE.
This also involves adding a quirk table as TRIM is broken for some
  Kingston eMMC devices, though. Compared to ERASE (declared "legacy"
  in the eMMC specification v5.1), TRIM has the advantage of operating
  on write sectors rather than on erase sectors, which typically are
  of a much larger size. Thus, employing TRIM, we don't need to fiddle
  with coalescing BIO_DELETE requests that are also of (write) sector
  units into erase sectors, which might not even add up in all cases.
- For some SanDisk iNAND devices, the CMD38 argument, e. g. ERASE,
  TRIM etc., has to be specified via EXT_CSD[113], which now is also
  handled via a quirk.
- My initial understanding was that for eMMC partitions, the granularity
  should be used as erase sector size, e. g. 128 KB for boot partitions.
  However, rereading the relevant parts of the eMMC specification v5.1,
  this isn't actually correct. So drop the code which used partition
  granularities for delmaxsize and stripesize. For the most part, this
  change is a NOP, though, because a) for ERASE, mmcsd_delete() used
  the erase sector size unconditionally for all partitions anyway and
  b) g_disk_limit() doesn't actually take the stripesize into account.
- Take some more advantage of mmcsd_errmsg() in mmcsd(4) for making
  error codes human readable.
2017-08-07 23:33:05 +00:00
..
host
bridge.h - If available, use TRIM instead of ERASE for implementing BIO_DELETE. 2017-08-07 23:33:05 +00:00
mmc_ioctl.h
mmc_private.h
mmc_subr.c - Correct the remainder of confusing and error prone mix-ups between 2017-08-02 21:11:51 +00:00
mmc_subr.h - Correct the remainder of confusing and error prone mix-ups between 2017-08-02 21:11:51 +00:00
mmc.c - If available, use TRIM instead of ERASE for implementing BIO_DELETE. 2017-08-07 23:33:05 +00:00
mmcbr_if.m
mmcbrvar.h
mmcbus_if.m - Correct the remainder of confusing and error prone mix-ups between 2017-08-02 21:11:51 +00:00
mmcreg.h - If available, use TRIM instead of ERASE for implementing BIO_DELETE. 2017-08-07 23:33:05 +00:00
mmcsd.c - If available, use TRIM instead of ERASE for implementing BIO_DELETE. 2017-08-07 23:33:05 +00:00
mmcvar.h - If available, use TRIM instead of ERASE for implementing BIO_DELETE. 2017-08-07 23:33:05 +00:00