platform: msm_shared: UFS driver changes for rpmb support
Add changes to UFS driver to support rpmb access.
Change-Id: I5ce8a9adea95fdbb5ee7798e1ca1023d9f7ad960
diff --git a/platform/msm_shared/ucs.c b/platform/msm_shared/ucs.c
index 3e7563a..a1ab6f3 100644
--- a/platform/msm_shared/ucs.c
+++ b/platform/msm_shared/ucs.c
@@ -31,8 +31,7 @@
#include <endian.h>
#include <string.h>
#include <utp.h>
-
-static int ucs_do_request_sense(struct ufs_dev *dev);
+#include <rpmb.h>
int ucs_do_scsi_cmd(struct ufs_dev *dev, struct scsi_req_build_type *req)
{
@@ -464,7 +463,7 @@
dprintf(CRITICAL,"----end of buffer---\n");
}
-static int ucs_do_request_sense(struct ufs_dev *dev)
+int ucs_do_request_sense(struct ufs_dev *dev, uint8_t lun)
{
STACKBUF_DMA_ALIGN(cdb, sizeof(struct scsi_sense_cdb));
struct scsi_req_build_type req_upiu;
@@ -488,7 +487,7 @@
req_upiu.data_buffer_addr = (addr_t) buf;
req_upiu.data_len = SCSI_SENSE_BUF_LEN;
req_upiu.flags = UPIU_FLAGS_READ;
- req_upiu.lun = 0;
+ req_upiu.lun = lun;
req_upiu.dd = UTRD_TARGET_TO_SYSTEM;
if (ucs_do_scsi_cmd(dev, &req_upiu))
@@ -500,7 +499,9 @@
/* Flush buffer. */
arch_invalidate_cache_range((addr_t) buf, SCSI_INQUIRY_LEN);
+#if DEBUG_UFS
dump_sense_buffer(buf, SCSI_SENSE_BUF_LEN);
+#endif
return UFS_SUCCESS;
}