Revert "[Encode] MOCS refactor for encode and decode"
Reverts intel-innersource/drivers.gpu.unified#39559
diff --git a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_vdenc_impl.h b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_vdenc_impl.h
index 7cd3e9e..0eb3cb6 100644
--- a/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_vdenc_impl.h
+++ b/media_softlet/agnostic/common/hw/vdbox/mhw_vdbox_vdenc_impl.h
@@ -447,6 +447,8 @@
{
cmd.OriginalUncompressedPicture.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(params.mmcStateRaw);
cmd.OriginalUncompressedPicture.PictureFields.DW0.CompressionType = MmcRcEnabled(params.mmcStateRaw);
+ cmd.OriginalUncompressedPicture.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_ORIGINAL_UNCOMPRESSED_PICTURE_ENCODE].Value;
cmd.OriginalUncompressedPicture.PictureFields.DW0.CompressionFormat = params.compressionFormatRaw;
resourceParams = {};
@@ -457,15 +459,10 @@
resourceParams.bIsWritable = false;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.OriginalUncompressedPicture.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.OriginalUncompressedPicture.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_ORIGINAL_UNCOMPRESSED_PICTURE_ENCODE].Gen12_7.Index;
}
if (this->m_rowStoreCache.vdenc.enabled)
@@ -475,6 +472,9 @@
}
else if (!Mos_ResourceIsNull(params.intraRowStoreScratchBuffer))
{
+ cmd.RowStoreScratchBuffer.BufferPictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_ROW_STORE_BUFFER_CODEC].Value;
+
resourceParams.presResource = params.intraRowStoreScratchBuffer;
resourceParams.dwOffset = 0;
resourceParams.pdwCmd = (uint32_t *)&(cmd.RowStoreScratchBuffer.LowerAddress);
@@ -482,19 +482,17 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.RowStoreScratchBuffer.BufferPictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.RowStoreScratchBuffer.BufferPictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_ROW_STORE_BUFFER_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.streamOutBuffer))
{
+ cmd.VdencStatisticsStreamout.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_STREAMOUT_DATA_CODEC].Value;
+
resourceParams.presResource = params.streamOutBuffer;
resourceParams.dwOffset = params.streamOutOffset;
resourceParams.pdwCmd = (uint32_t *)&(cmd.VdencStatisticsStreamout.LowerAddress);
@@ -502,19 +500,17 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.VdencStatisticsStreamout.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.VdencStatisticsStreamout.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_STREAMOUT_DATA_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.streamInBuffer))
{
+ cmd.StreaminDataPicture.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_STREAMIN_CODEC].Value;
+
resourceParams.presResource = params.streamInBuffer;
resourceParams.dwOffset = 0;
resourceParams.pdwCmd = (uint32_t *)&(cmd.StreaminDataPicture.LowerAddress);
@@ -522,15 +518,10 @@
resourceParams.bIsWritable = false;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.StreaminDataPicture.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.StreaminDataPicture.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_STREAMIN_CODEC].Gen12_7.Index;
}
typename cmd_t::VDENC_Reference_Picture_CMD *fwdRefs[] =
@@ -568,17 +559,14 @@
fwdRefs[refIdx]->PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
fwdRefs[refIdx]->PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
+ fwdRefs[refIdx]->PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
fwdRefs[refIdx]->PictureFields.DW0.CompressionFormat = params.compressionFormatRecon;
- InitMocsParams(resourceParams, &fwdRefs[refIdx]->PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- fwdRefs[refIdx]->PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.refsDsStage1[refIdx]) && refIdx < sizeof(fwdRefsDsStage1) / sizeof(fwdRefsDsStage1[0]))
@@ -598,16 +586,13 @@
fwdRefsDsStage1[refIdx]->PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
fwdRefsDsStage1[refIdx]->PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &fwdRefsDsStage1[refIdx]->PictureFields.DW0.Value, 1, 6);
+ fwdRefsDsStage1[refIdx]->PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- fwdRefsDsStage1[refIdx]->PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.refsDsStage2[refIdx]) && refIdx < sizeof(fwdRefsDsStage2) / sizeof(fwdRefsDsStage2[0]))
@@ -627,17 +612,14 @@
fwdRefsDsStage2[refIdx]->PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
fwdRefsDsStage2[refIdx]->PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &fwdRefsDsStage2[refIdx]->PictureFields.DW0.Value, 1, 6);
+ fwdRefsDsStage2[refIdx]->PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
- fwdRefsDsStage2[refIdx]->PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
-
if (params.numActiveRefL0 == 2 && params.numActiveRefL1 == 1 && refIdx == 1)
{
resourceParams.dwLocationInCmd = fwdRefsDsStage2DwLoaction[refIdx + 1];
@@ -646,16 +628,13 @@
fwdRefsDsStage2[refIdx + 1]->PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
fwdRefsDsStage2[refIdx + 1]->PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &fwdRefsDsStage2[refIdx + 1]->PictureFields.DW0.Value, 1, 6);
+ fwdRefsDsStage2[refIdx + 1]->PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- fwdRefsDsStage2[refIdx + 1]->PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
}
}
@@ -679,17 +658,14 @@
cmd.BwdRef0.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
cmd.BwdRef0.PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
+ cmd.BwdRef0.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
cmd.BwdRef0.PictureFields.DW0.CompressionFormat = params.compressionFormatRecon;
- InitMocsParams(resourceParams, &cmd.BwdRef0.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.BwdRef0.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.refsDsStage1[refIdx]))
@@ -709,16 +685,13 @@
cmd.DsBwdRef0.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
cmd.DsBwdRef0.PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &cmd.DsBwdRef0.PictureFields.DW0.Value, 1, 6);
+ cmd.DsBwdRef0.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.DsBwdRef0.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.refsDsStage2[refIdx]))
@@ -738,16 +711,13 @@
cmd.DsBwdRef04X.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
cmd.DsBwdRef04X.PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &cmd.DsBwdRef04X.PictureFields.DW0.Value, 1, 6);
+ cmd.DsBwdRef04X.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.DsBwdRef04X.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
}
@@ -762,16 +732,13 @@
cmd.ColocatedMv.PictureFields.DW0.MemoryCompressionEnable = 0;
cmd.ColocatedMv.PictureFields.DW0.CompressionType = 0;
-
- InitMocsParams(resourceParams, &cmd.ColocatedMv.PictureFields.DW0.Value, 1, 6);
+ cmd.ColocatedMv.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.ColocatedMv.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.colMvTempBuffer[0]))
@@ -785,16 +752,13 @@
cmd.ColocatedMv.PictureFields.DW0.MemoryCompressionEnable = 0;
cmd.ColocatedMv.PictureFields.DW0.CompressionType = 0;
-
- InitMocsParams(resourceParams, &cmd.ColocatedMv.PictureFields.DW0.Value, 1, 6);
+ cmd.ColocatedMv.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.ColocatedMv.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (params.surfaceDsStage1)
@@ -810,16 +774,13 @@
cmd.ScaledReferenceSurfaceStage1.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
cmd.ScaledReferenceSurfaceStage1.PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &cmd.ScaledReferenceSurfaceStage1.PictureFields.DW0.Value, 1, 6);
+ cmd.ScaledReferenceSurfaceStage1.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.ScaledReferenceSurfaceStage1.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (params.surfaceDsStage2)
@@ -835,16 +796,13 @@
cmd.ScaledReferenceSurfaceStage2.PictureFields.DW0.MemoryCompressionEnable = MmcEnabled(mmcMode);
cmd.ScaledReferenceSurfaceStage2.PictureFields.DW0.CompressionType = MmcRcEnabled(mmcMode);
-
- InitMocsParams(resourceParams, &cmd.ScaledReferenceSurfaceStage2.PictureFields.DW0.Value, 1, 6);
+ cmd.ScaledReferenceSurfaceStage2.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.ScaledReferenceSurfaceStage2.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.pakObjCmdStreamOutBuffer))
@@ -858,16 +816,13 @@
cmd.VdencLcuPakObjCmdBuffer.PictureFields.DW0.MemoryCompressionEnable = 0;
cmd.VdencLcuPakObjCmdBuffer.PictureFields.DW0.CompressionType = 0;
-
- InitMocsParams(resourceParams, &cmd.VdencLcuPakObjCmdBuffer.PictureFields.DW0.Value, 1, 6);
+ cmd.VdencLcuPakObjCmdBuffer.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.VdencLcuPakObjCmdBuffer.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.segmentMapStreamInBuffer))
@@ -879,8 +834,6 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.Vp9SegmentationMapStreaminBuffer.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
@@ -896,8 +849,6 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.Vp9SegmentationMapStreamoutBuffer.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
@@ -915,15 +866,13 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.VdencTileRowStoreBuffer.BufferPictureFields.DW0.Value, 1, 6);
+ cmd.VdencTileRowStoreBuffer.BufferPictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_ROW_STORE_BUFFER_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.VdencTileRowStoreBuffer.BufferPictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_VDENC_ROW_STORE_BUFFER_CODEC].Gen12_7.Index;
}
if (this->m_rowStoreCache.ipdl.enabled)
@@ -940,17 +889,14 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
+ cmd.IntraPredictionRowstoreBaseAddress.BufferPictureFields.DW0.MemoryObjectControlState =
+ m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_INTRA_ROWSTORE_SCRATCH_BUFFER_CODEC].Value;
cmd.IntraPredictionRowstoreBaseAddress.BufferPictureFields.DW0.MemoryCompressionEnable = 0;
- InitMocsParams(resourceParams, &cmd.IntraPredictionRowstoreBaseAddress.BufferPictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.IntraPredictionRowstoreBaseAddress.BufferPictureFields.DW0.MemoryObjectControlState =
- m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_INTRA_ROWSTORE_SCRATCH_BUFFER_CODEC].Gen12_7.Index;
}
if (!Mos_ResourceIsNull(params.cumulativeCuCountStreamOutBuffer))
@@ -962,8 +908,6 @@
resourceParams.bIsWritable = true;
resourceParams.HwCommandType = MOS_VDENC_PIPE_BUF_ADDR;
- InitMocsParams(resourceParams, &cmd.VdencCumulativeCuCountStreamoutSurface.PictureFields.DW0.Value, 1, 6);
-
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
@@ -981,16 +925,13 @@
cmd.ColocatedMvAvcWriteBuffer.PictureFields.DW0.MemoryCompressionEnable = 0;
cmd.ColocatedMvAvcWriteBuffer.PictureFields.DW0.CompressionType = 0;
-
- InitMocsParams(resourceParams, &cmd.ColocatedMvAvcWriteBuffer.PictureFields.DW0.Value, 1, 6);
+ cmd.ColocatedMvAvcWriteBuffer.PictureFields.DW0.MemoryObjectControlState =
+ this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Value;
MHW_CHK_STATUS_RETURN(this->AddResourceToCmd(
this->m_osItf,
this->m_currentCmdBuf,
&resourceParams));
-
- cmd.ColocatedMvAvcWriteBuffer.PictureFields.DW0.MemoryObjectControlState =
- this->m_cacheabilitySettings[MOS_CODEC_RESOURCE_USAGE_REFERENCE_PICTURE_CODEC].Gen12_7.Index;
}
return MOS_STATUS_SUCCESS;