[ICV][XLink] - Port some changes (#8284)

* [ICV][XLink] - mvnc_data 0xd0

* [ICV][XLink] - fw update

* [ICV][XLink] - Port - XLinkOpenStream now allocates streamId only on the host side

* [ICV][XLink] - Port - enum updated
This commit is contained in:
Daria Mityagina
2021-10-28 22:14:46 +03:00
committed by GitHub
parent ad1efb7f16
commit a3afa57bd9
4 changed files with 29 additions and 6 deletions

View File

@@ -6,14 +6,14 @@ include_guard(GLOBAL)
set(VPU_SUPPORTED_FIRMWARES usb-ma2x8x pcie-ma2x8x)
set(VPU_SUPPORTED_FIRMWARES_HASH
"28ed086ac52b964d9a1f5a54c017237d2d03ea39013e7910df678b176b9ce0c3"
"c2268e700eb597329376cbe830eeb6504203d765a1bde4da917242ca535a7ab3")
"195c3f9960fdb68352850c81344bbd42199ce22c2365162667ddf9aa1580ccb7"
"6fc0d436166fcc72fd1b2f08f836f52b2755ea01c3d10535f01f161ee9a30ed5")
#
# Default packages
#
set(FIRMWARE_PACKAGE_VERSION 1736)
set(FIRMWARE_PACKAGE_VERSION 1849)
set(VPU_CLC_MA2X8X_VERSION "movi-cltools-20.09.2")
#

View File

@@ -75,6 +75,7 @@ typedef enum
XLINK_WRITE_REQ,
XLINK_READ_REQ,
XLINK_READ_REL_REQ,
XLINK_READ_REL_SPEC_REQ,
XLINK_CREATE_STREAM_REQ,
XLINK_CLOSE_STREAM_REQ,
XLINK_PING_REQ,
@@ -84,6 +85,7 @@ typedef enum
XLINK_WRITE_RESP,
XLINK_READ_RESP,
XLINK_READ_REL_RESP,
XLINK_READ_REL_SPEC_RESP,
XLINK_CREATE_STREAM_RESP,
XLINK_CLOSE_STREAM_RESP,
XLINK_PING_RESP,

View File

@@ -177,7 +177,17 @@ int dispatcherLocalEventGetResponse(xLinkEvent_t* event, xLinkEvent_t* response)
case XLINK_CREATE_STREAM_REQ:
{
XLINK_EVENT_ACKNOWLEDGE(event);
mvLog(MVLOG_DEBUG,"XLINK_CREATE_STREAM_REQ - do nothing\n");
#ifdef __PC__
event->header.streamId = XLinkAddOrUpdateStream(event->deviceHandle.xLinkFD,
event->header.streamName,
event->header.size, 0,
INVALID_STREAM_ID);
mvLog(MVLOG_DEBUG, "XLINK_CREATE_STREAM_REQ - stream has been just opened with id %ld\n",
event->header.streamId);
#else
mvLog(MVLOG_DEBUG, "XLINK_CREATE_STREAM_REQ - do nothing. Stream will be "
"opened with forced id accordingly to response from the host\n");
#endif
break;
}
case XLINK_CLOSE_STREAM_REQ:
@@ -294,11 +304,17 @@ int dispatcherRemoteEventGetResponse(xLinkEvent_t* event, xLinkEvent_t* response
XLINK_EVENT_ACKNOWLEDGE(response);
response->header.type = XLINK_CREATE_STREAM_RESP;
//write size from remote means read size for this peer
#ifndef __PC__
response->header.streamId = XLinkAddOrUpdateStream(event->deviceHandle.xLinkFD,
event->header.streamName,
0, event->header.size,
event->header.streamId);
#else
response->header.streamId = XLinkAddOrUpdateStream(event->deviceHandle.xLinkFD,
event->header.streamName,
0, event->header.size,
INVALID_STREAM_ID);
#endif
if (response->header.streamId == INVALID_STREAM_ID) {
response->header.flags.bitField.ack = 0;
response->header.flags.bitField.sizeTooBig = 1;
@@ -377,12 +393,17 @@ int dispatcherRemoteEventGetResponse(xLinkEvent_t* event, xLinkEvent_t* response
case XLINK_CREATE_STREAM_RESP:
{
// write_size from the response the size of the buffer from the remote
#ifndef __PC__
response->header.streamId = XLinkAddOrUpdateStream(event->deviceHandle.xLinkFD,
event->header.streamName,
event->header.size, 0,
event->header.streamId);
XLINK_RET_IF(response->header.streamId
== INVALID_STREAM_ID);
mvLog(MVLOG_DEBUG, "XLINK_CREATE_STREAM_REQ - stream has been just opened "
"with forced id=%ld accordingly to response from the host\n",
response->header.streamId);
#endif
response->deviceHandle = event->deviceHandle;
break;
}

View File

@@ -198,7 +198,7 @@ static ncStatus_t patchSetWdSwitchCommand(char **firmware, size_t *length, const
// 0x98 the write command for 8bit
// {0x00, 0x0c, 0x20, 0x70} == 0x70200c00 the address of memory type for ddrInit application
const char g_setMemTypeCommandMX[] = {0x98, 0x00, 0x0c, 0x20, 0x70};
const char g_callCommand[] = {0xba, 0x78, 0xe9, 0x00, 0x70};
const char g_callCommand[] = {0xba, 0xd0, 0xe9, 0x00, 0x70};
static ncStatus_t patchSetMemTypeCommand(char **firmware, size_t *length, const char memType) {
CHECK_HANDLE_CORRECT(firmware);