SVNews r322388

NOTE: This service is experimental and subject to change! Use at your own risk!

2017-08-11 00:41:19 - r322388 by marius (Marius Strobl)

Complete list of files affected by revision r322388:

(Note: At the moment, these links point to ViewVC on They are probably slow. Do not overuse.)

   Contents     MODIFY   /stable/11  
  History   Contents   Diff   MODIFY   /stable/11/sys/dev/mmc/bridge.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/dev/mmc/mmc.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/dev/mmc/mmcreg.h  
  History   Contents   Diff   MODIFY   /stable/11/sys/dev/mmc/mmcsd.c  
  History   Contents   Diff   MODIFY   /stable/11/sys/dev/mmc/mmcvar.h  

Commit message:

MFC: r322209

- 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.


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 29 ms, 6 files printed. Current time is 2018-03-22 04:02:36. All times are in UTC/GMT.