[PATCH v2 0/3]mmc: set a suitable max_discard_sectors value for HC

From: Chuanxiao Dong
Date: Thu Nov 18 2010 - 04:02:28 EST


Hello Chris,
These are the version 2 patches of setting a suitable
max_discard_sectors value for sdhci host controller.

The max_discard_sectors determines how many sectors will be passed
down to host controller for erasing. The default value is UNIT_MAX
which means the block layer can pass down unlimited sectors one time
to host controller. But for some kinds of SDHCI host controller, like
MFLD SDHCI host controller cannot erase so many sectors one time. It
will generate a timeout interrupt since the erasing time is longer
than the host controller waiting timeout time. This should be a
hardware architecture issue.

So in these patches, add a new quirk to work around this. The new
quirk can help host controllers to set a safe max_discard_sectors value
for them.

patch1: Add a new quirk for SDHCI host controller and a new mmc
capability which will help mmc core layer to set a suitable
max_discard_sectors value for it.

patch2: Set the sdhci host controller timeout value to be the maximum
one for each erase command. This will be safe for this kind of SDHCI
host controller.

patch3: Add the new quirk to MFLD SDHCI host controller.

Thanks
Chuanxiao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/