Hello community, here is the log from the commit of package odp-thunderx for openSUSE:Factory checked in at 2018-03-19 23:39:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/odp-thunderx (Old) and /work/SRC/openSUSE:Factory/.odp-thunderx.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "odp-thunderx" Mon Mar 19 23:39:01 2018 rev:7 rq:588456 version:1.11.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/odp-thunderx/odp-thunderx.changes 2018-02-23 15:31:21.327146492 +0100 +++ /work/SRC/openSUSE:Factory/.odp-thunderx.new/odp-thunderx.changes 2018-03-19 23:39:45.238375599 +0100 @@ -1,0 +2,5 @@ +Fri Mar 16 13:15:16 UTC 2018 - marco.varl...@suse.de + +- Added sync_mailbox_defs_with_linux_pf_drv.patch to align user-space odp with Linux PF driver + +------------------------------------------------------------------- New: ---- sync_mailbox_defs_with_linux_pf_drv.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ odp-thunderx.spec ++++++ --- /var/tmp/diff_new_pack.gEig9w/_old 2018-03-19 23:39:46.274338228 +0100 +++ /var/tmp/diff_new_pack.gEig9w/_new 2018-03-19 23:39:46.278338084 +0100 @@ -27,6 +27,7 @@ # https://github.com/Linaro/odp-thunderx/archive/master.zip Source0: odp-thunderx-1.11.0.0.tar.gz Patch0: 0002-fix_libopenssl.patch +Patch1: sync_mailbox_defs_with_linux_pf_drv.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: doxygen @@ -76,6 +77,7 @@ %if %{suse_version} >= 1330 %patch0 %endif +%patch1 -p1 %build %if %{suse_version} >= 1330 ++++++ sync_mailbox_defs_with_linux_pf_drv.patch ++++++ diff -Nuar odp-thunderx.old/platform/linux-thunder/include/thunder/nicvf/nic_mbox.h odp-thunderx/platform/linux-thunder/include/thunder/nicvf/nic_mbox.h --- odp-thunderx.old/platform/linux-thunder/include/thunder/nicvf/nic_mbox.h 2018-03-16 13:59:41.700262595 +0100 +++ odp-thunderx/platform/linux-thunder/include/thunder/nicvf/nic_mbox.h 2018-03-16 14:01:45.604837317 +0100 @@ -81,16 +81,10 @@ #define NIC_MBOX_MSG_ALLOC_SQS 0x12 /* Allocate secondary Qset */ #define NIC_MBOX_MSG_LOOPBACK 0x16 /* Set interface in loopback */ #define NIC_MBOX_MSG_RESET_STAT_COUNTER 0x17 /* Reset statistics counters */ -#define NIC_MBOX_MSG_CFG_DONE 0x7E /* VF configuration done */ -#define NIC_MBOX_MSG_SHUTDOWN 0x7F /* VF is being shutdown */ -#define NIC_MBOX_MSG_RES_BIT 0x80 /* Mark for response message */ +#define NIC_MBOX_MSG_CFG_DONE 0xF0 /* VF configuration done */ +#define NIC_MBOX_MSG_SHUTDOWN 0xF1 /* VF is being shutdown */ #define NIC_MBOX_MSG_MAX 0x100 /* Maximum number of messages */ -#define NIC_MBOX_MSG_RSS_SIZE_RES_BIT \ - (NIC_MBOX_MSG_RSS_SIZE | NIC_MBOX_MSG_RES_BIT) -#define NIC_MBOX_MSG_ALLOC_SQS_RES_BIT \ - (NIC_MBOX_MSG_ALLOC_SQS | NIC_MBOX_MSG_RES_BIT) - /* Get vNIC VF configuration */ struct nic_cfg_msg { uint8_t msg; diff -Nuar odp-thunderx.old/platform/linux-thunder/thunder/nicvf/nic_mbox.c odp-thunderx/platform/linux-thunder/thunder/nicvf/nic_mbox.c --- odp-thunderx.old/platform/linux-thunder/thunder/nicvf/nic_mbox.c 2018-03-16 13:59:41.700262595 +0100 +++ odp-thunderx/platform/linux-thunder/thunder/nicvf/nic_mbox.c 2018-03-16 14:03:27.785309994 +0100 @@ -100,13 +100,13 @@ case NIC_MBOX_MSG_READY: case NIC_MBOX_MSG_ACK: case NIC_MBOX_MSG_NACK: - case NIC_MBOX_MSG_RSS_SIZE | NIC_MBOX_MSG_RES_BIT: + case NIC_MBOX_MSG_RSS_SIZE: #ifdef VNIC_MULTI_QSET_SUPPORT - case NIC_MBOX_MSG_ALLOC_SQS | NIC_MBOX_MSG_RES_BIT: + case NIC_MBOX_MSG_ALLOC_SQS: #endif case NIC_MBOX_MSG_BGX_LINK_CHANGE: DBGV3("VF Mbox msg received msg_id=0x%x %s\n", - msg, msg_names[msg & (~NIC_MBOX_MSG_RES_BIT)]); + msg, msg_names[msg]); /* overwrite the message buffer so we won't receive it again */ nicvf_vf_reg_write(qset, NIC_VF_PF_MAILBOX_0_1, NIC_MBOX_MSG_INVALID); @@ -124,8 +124,7 @@ default: /* in other cases it means message was invalid or not received */ - DBG("Unknown Mbox msg received msg_id=0x%x\n", - msg & (~NIC_MBOX_MSG_RES_BIT)); + DBG("Unknown Mbox msg received msg_id=0x%x\n", msg); ret = -1; break; } @@ -173,7 +172,7 @@ int i; DBG("Sending msg to PF msg=0x%02x %s\n", mbx->msg.msg, - msg_names[mbx->msg.msg & (~NIC_MBOX_MSG_RES_BIT)]); + msg_names[mbx->msg.msg]); mbx_addr = NIC_VF_PF_MAILBOX_0_1; mbx_ptr = (uint64_t *)mbx; @@ -201,14 +200,16 @@ /* because of BUG in PF<->VF mbox design, some message transactions from * VF-> PF can be overwrited by asynchronius PF->VF messages. Therefore - * in case of missing response, we need to try again */ + * in case of missing response, we have to try again */ for(try = 0; try < 3 ; try++) { nicvf_mbox_send_msg_to_pf_raw(qset, mbx); ret = nicvf_mbox_recv_response(qset, res); if (!ret) break; /* Success */ - ERR("Missing response! Retrying MBX transaction ... %zu\n", try+1); + DBG("Missing response! Retrying MBX transaction ... %zu\n", try+1); } + if (ret) + ERR("Missing response 3 times in row. PF not responding?\n"); return ret; } @@ -297,7 +298,7 @@ mbx.rss_size.vf_id = qset->vf_id; if (nicvf_mbox_send_msg_to_pf(qset, &mbx, &res) || - res.msg.msg != (NIC_MBOX_MSG_RSS_SIZE | NIC_MBOX_MSG_RES_BIT)) + res.msg.msg != (NIC_MBOX_MSG_RSS_SIZE)) return -1; return res.rss_size.ind_tbl_size; @@ -467,7 +468,7 @@ mbx.msg.msg = NIC_MBOX_MSG_RQ_BP_CFG; mbx.rq.qs_num = qset->vf_id; mbx.rq.rq_num = qset->qset_idx; - mbx.rq.cfg = (1ULL << 63) | (1ULL << 62) | (0xff << 16) | (0xff << 8) | (qset->vf_id << 0); + mbx.rq.cfg = (1ULL << 63) | (1ULL << 62) | (qset->vf_id << 0); if (nicvf_mbox_send_msg_to_pf(qset, &mbx, &res) || res.msg.msg != NIC_MBOX_MSG_ACK) return -1; @@ -495,12 +496,12 @@ } if (nicvf_mbox_send_msg_to_pf(&nic->qset[0], &mbx, &res) || - res.msg.msg != (NIC_MBOX_MSG_ALLOC_SQS | NIC_MBOX_MSG_RES_BIT)) { + res.msg.msg != (NIC_MBOX_MSG_ALLOC_SQS)) { ERR("Invalid or missing response for alloc SQS\n"); return -1; } - ERR("SQS alloc response received qs_count=%"PRIu8"\n", + NFO("SQS alloc response received qs_count=%"PRIu8"\n", res.sqs_alloc.qs_count); if (res.sqs_alloc.qs_count != nic->qset_cnt - 1) { @@ -541,4 +542,3 @@ union nic_mbx mbx = { .msg.msg = NIC_MBOX_MSG_CFG_DONE, }; nicvf_mbox_send_async_msg_to_pf(qset, &mbx); } -