platform: msm_shared: Implement the erase feature for UFS
CRs-Fixed: 573103 555512
Change-Id: Id9d7faddfe98a39ac3a2ce268bf9c27a95667c95
diff --git a/platform/msm_shared/dme.c b/platform/msm_shared/dme.c
index bc564f2..ba195d7 100644
--- a/platform/msm_shared/dme.c
+++ b/platform/msm_shared/dme.c
@@ -268,7 +268,7 @@
return UFS_SUCCESS;
}
-int dme_read_unit_desc(struct ufs_dev *dev, uint8_t index, uint64_t *capacity)
+int dme_read_unit_desc(struct ufs_dev *dev, uint8_t index)
{
STACKBUF_DMA_ALIGN(unit_desc, sizeof(struct ufs_unit_desc));
struct ufs_unit_desc *desc = unit_desc;
@@ -285,7 +285,9 @@
/* Flush buffer. */
arch_invalidate_cache_range((addr_t) desc, sizeof(struct ufs_unit_desc));
- *capacity = BE64(desc->logical_blk_cnt) * dev->block_size;
+ dev->capacity = BE64(desc->logical_blk_cnt) * dev->block_size;
+
+ dev->erase_blk_size = BE32(desc->erase_blk_size) * dev->block_size;
return UFS_SUCCESS;
}