summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPavan Kunapuli <pkunapuli@nvidia.com>2012-07-16 14:57:35 +0530
committerSimone Willett <swillett@nvidia.com>2012-07-25 18:22:06 -0700
commit503103dabe8b55358379d4cd3ecd5acac45ebd3d (patch)
tree8201c267db8c00381bf1804d9bd1c5d2c086d808 /include/linux
parent484a143002681370f7ff6c8c9c07a22cdca9360a (diff)
mmc: core: SDXC speed class support
Unlike SDSC and SDHC, for SDXC cards CMD20 needs to be issued to meet the class performance for speed class recording. Adding mmc_speed_class_control() which should be used by an AV recording app/utility before starting recording on an SDXC card. Bug 969360 Reviewed-on: http://git-master/r/39394 Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com> Reviewed-on: http://git-master/r/115685 (cherry picked from commit 04b8d1287a95e1882d956cdf7997015350408a3c) Change-Id: Id567effb476ee580de3d49b70201ebae5a13360a Reviewed-on: http://git-master/r/118038 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Naveen Kumar Arepalli <naveenk@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/host.h3
-rw-r--r--include/linux/mmc/sd.h13
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 8c0bf3f2a36f..0e56f1ae7602 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -401,6 +401,9 @@ int mmc_host_enable(struct mmc_host *host);
int mmc_host_disable(struct mmc_host *host);
int mmc_host_lazy_disable(struct mmc_host *host);
int mmc_pm_notify(struct notifier_block *notify_block, unsigned long, void *);
+int mmc_speed_class_control(struct mmc_host *host,
+ unsigned int speed_class_ctrl_arg);
+
static inline void mmc_set_disable_delay(struct mmc_host *host,
unsigned int disable_delay)
diff --git a/include/linux/mmc/sd.h b/include/linux/mmc/sd.h
index 1ebcf9ba1256..e65bf7c9dab0 100644
--- a/include/linux/mmc/sd.h
+++ b/include/linux/mmc/sd.h
@@ -19,6 +19,10 @@
#define SD_SEND_IF_COND 8 /* bcr [11:0] See below R7 */
#define SD_SWITCH_VOLTAGE 11 /* ac R1 */
+ /* class 2 */
+#define SD_SEND_TUNING_PATTERN 19 /* adtc R1 */
+#define SD_SPEED_CLASS_CONTROL 20 /* ac R1b */
+
/* class 10 */
#define SD_SWITCH 6 /* adtc [31:0] See below R1 */
@@ -91,4 +95,13 @@
#define SD_SWITCH_ACCESS_DEF 0
#define SD_SWITCH_ACCESS_HS 1
+/*
+ * SD_SPEED_CLASS_CONTROL definitions
+ */
+#define SD_SPEED_CLASS_CONTROL_START_REC 0x0
+#define SD_SPEED_CLASS_CONTROL_CREATE_DIR 0x1
+#define SD_SPEED_CLASS_CONTROL_UPDATE_CI 0x4
+
+
#endif /* LINUX_MMC_SD_H */
+