From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F7E5C433F5 for ; Mon, 4 Oct 2021 11:19:14 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id CB51361373 for ; Mon, 4 Oct 2021 11:19:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org CB51361373 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA3A041335; Mon, 4 Oct 2021 13:19:12 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id E1C9041331 for ; Mon, 4 Oct 2021 13:19:10 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10126"; a="311588691" X-IronPort-AV: E=Sophos;i="5.85,345,1624345200"; d="scan'208";a="311588691" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2021 04:18:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,345,1624345200"; d="scan'208";a="544072705" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga004.fm.intel.com with ESMTP; 04 Oct 2021 04:18:51 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 4 Oct 2021 04:18:51 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 4 Oct 2021 04:18:51 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 4 Oct 2021 04:18:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kd+n8T0xOyvmiBGNxBjVd9+RVpEBLBaoF6PpQ4+or2ZUU0NYpSKDDjb72plRu8TGAFYlp14zWrIKGeOAzXRKino3rXIi3vzjIdmccGx/N5u1KtTl/okEtpIwXfbIZfxBa+1qwFv4Ji0EMdw+N0GrFZapSaMWlFdyY9SMniXlJRVLUtCU+wmqSsajJvAky4Zn95QOcmTIg63VyhwXonjZkQD+oA1KW2whX07aJVIjp3QpB4a656wgGW4Nf0dAsMApg9EQH6ydRpD+oYIzayalefr2qI0FUeLhSJCgre750jWIbGRFdoVXwHZwPzLV5E1WApF4s8+bnVw7R8z64kOPdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JgNJhllKRFg1CgsPdB4Wbci2TNDjEWyx9eR6KZP9y00=; b=hW2Cf1gsRjRQqlvcRgE+r9SBVFi0WXbn37SgMm6nDHKI2Perdlv4mZcYBwcnXE03t/8B3DcwJvz2mzPtOUzULJPtBuHThjRqzZ0DsKUiQcFVI0eVejcc/KbDYTaGowZZ1kHiQYqcEDkPVpWyaznqL6ftVhZIK3mLbe6MjAXmEXIf3m90XKTlLZf/Jaxc+ka5QRne23OkjOyAKhiTG/voGVreMqqmbDIuTXTt5TKDebJmk6Mn8gX3HwwVzoEbjGgvVYy4rm4f/ISBVEdmUhbcq5s9SuWhAXNFls9IyUNTx6J5f7TI5ooMt2OSqWPjpUsn66AVU9uek7noP1fdYpqXMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JgNJhllKRFg1CgsPdB4Wbci2TNDjEWyx9eR6KZP9y00=; b=sa6oMdoC5lBovFfk+q7w63ibKwqyi4U/G5+egQZ1jEhaIC75T6lvhKEbOQU2ct3OaENq235H2HFHZtr/Q82352vIeirs/yeLkMkQmz+EJ8i/sK9OoYn+5PODWixbj+ANAHXZg0ciFIz+WV69Twf7EXgUH7koFt6tq7fJFvkxk84= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; Received: from CO1PR11MB4868.namprd11.prod.outlook.com (2603:10b6:303:90::19) by MWHPR11MB1502.namprd11.prod.outlook.com (2603:10b6:301:10::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Mon, 4 Oct 2021 11:18:47 +0000 Received: from CO1PR11MB4868.namprd11.prod.outlook.com ([fe80::7c6e:d458:33ed:e579]) by CO1PR11MB4868.namprd11.prod.outlook.com ([fe80::7c6e:d458:33ed:e579%7]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 11:18:47 +0000 To: "Wu, Jingjing" , "Xing, Beilei" CC: "dev@dpdk.org" , "Doherty, Declan" , "Sinha, Abhijit" , "Zhang, Qi Z" , "Richardson, Bruce" , "Ananyev, Konstantin" References: <20210909142428.750634-1-radu.nicolau@intel.com> <20211001095130.3343083-1-radu.nicolau@intel.com> <20211001095130.3343083-7-radu.nicolau@intel.com> From: "Nicolau, Radu" Message-ID: <78f20f9f-9bc2-a033-7342-9ccf2d43e2aa@intel.com> Date: Mon, 4 Oct 2021 12:18:40 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB X-ClientProxiedBy: DU2PR04CA0056.eurprd04.prod.outlook.com (2603:10a6:10:234::31) To CO1PR11MB4868.namprd11.prod.outlook.com (2603:10b6:303:90::19) MIME-Version: 1.0 Received: from [192.168.1.12] (109.255.186.106) by DU2PR04CA0056.eurprd04.prod.outlook.com (2603:10a6:10:234::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13 via Frontend Transport; Mon, 4 Oct 2021 11:18:45 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 495f2a9d-d1fc-404c-041b-08d98728bbb3 X-MS-TrafficTypeDiagnostic: MWHPR11MB1502: X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2958; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gzvct6yOULtmyAtOoWQhLnfvnXO/CbzyFjBcexHcAZEHGhUDm5zlSYOT+UhSXyxaZxJ0n5DSbw59cJH4tDetebqNsai43Ew+njJNVmEMV+qI3CC0uHDSOa3f7ymvwHt384EjCs6jNgbodmsFomG7rL5HgA/6nUHSUwmhuJ+Oc7pTbcWo6Ssqx6x52cOo4t2/EbGFmW9AL2oEELAUBxchEf2W2whScJQJ8lXrB/9e83gyn1opxLU9ABmKaXzFKCcNf37Eu4gS6VIVXMD9ApjF88X7Iuoq61d+NvTiFis9XaRuIEECWfKcOcOYUbfEJg0FhNLEix7CTyD0Dm9FvL5xyKHKsccib3pb08NLqO9AHKOxEB0vT2GxVYMRdkeT+KK7+NUN3kVxDDucKMFN3aYzIVUZUaqBurEmTgFhG0DH5LdADkLJxbHSyDpMGTQlpQAxmPQYOziNeYP69+V2tDi3+MmQtxAevCJwYzhF2RmrZ5LFj+WhRsirQQbkofutgMgWCUcU9L/ct7zV7Q4PC2SyrKKJRYS148ggPohFuSQcyDUlsSgJ9UyyoPobk6LoQ8UH91t04VOAl8HTcgPZ0ZhXhV5zMwKR0dLYuOnTx8ZcfdCuY7YNAglQ5yKR7rcTCzoYJxepuJgtiqBHdOSb/SPUSJp+n8nAN3ouJWMc3K868yojF1MErNifsS4FUktooUnbQzC4m/VSU8Zv2oVzeCBw/pmPTMy3ECEosTxPl/vjtVk= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR11MB4868.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6486002)(16576012)(316002)(26005)(2906002)(6666004)(31696002)(956004)(66556008)(66476007)(107886003)(8676002)(110136005)(54906003)(66946007)(53546011)(6636002)(186003)(55236004)(38100700002)(2616005)(86362001)(31686004)(4326008)(5660300002)(83380400001)(36756003)(8936002)(508600001)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dFAzeUlqanFhZkRjN254ZndQa001aENhOGVNUVB3VnpuOW9EaWlWRWJkWEVq?= =?utf-8?B?Nlk2cDJLUEpwblc0QWF5a0FGY2Q5REVsWUJjSTZQbE9ZY2hsMXJaR1hLK2s0?= =?utf-8?B?d2JDK0t1Qld3elluYXduK1RsbFdSQUkyZ3ZBNi9NaUdlMHJGV0MrYTVFR3hm?= =?utf-8?B?MUR4ZFovdTBBQkJBbUN5NHZOanMvejZlQWY2Rk5ZTGljNC9QSmRKRmptTWNR?= =?utf-8?B?RmVGMm9GSHlvOElkL3NrNGZyUDZqRjVWMzlEczg5RVN3VElodklJbzdVR3Zp?= =?utf-8?B?Vk1UMXhuMGMyVEVMN3NwUDhHR1lQTlViMllYMng5MkthbjBVTno3Vy9KZE82?= =?utf-8?B?R21RcVdaNHJWZWJiNlFTZHQ2ODZFZzRpbW90MUJkN0lUQU9hZnNuTkM1TEpC?= =?utf-8?B?aDYveXo3ejYzRzlXcUU1MUE1UXZTTjJ5eGE4SkJveDlQVjFwVFN2bEtONWdQ?= =?utf-8?B?K0JVeUpXRi83UHBCdUVnMEJLMndQWXNMTDVmMXdTYXk5dkViT3AybllFNTU4?= =?utf-8?B?c3Q4M01tajZJeTVkVVI0Zy9heUNXbDRzYnpsSzhKdExJa2tJOTFiMXhYUzJY?= =?utf-8?B?Ym95R0xUSW0yaitDaDB6Tkt1ODgycnFrb3VOZUd3NnNhdlU2K2xVU3ZHeW5D?= =?utf-8?B?ODhZSzBOeG9FYjZHcjIxdHFoSFoxWVNVUEN2eHdSR0N6S2ZxRHVDTFBnS1Zn?= =?utf-8?B?WC80MFd4ZGhxVEw1SEMrVTF5bkRJVE0zVnVhRjFrQVJ0U2pEQ1ZzTWxYcmFW?= =?utf-8?B?UHV2RC9mTVo5cW9ZY0Q0WWRHdXpWNG05dWkydUJJSzJuK0lxeDdBZHQrY1k0?= =?utf-8?B?YlFzOFZBbm1qMjlPRDNKVDh1TEFFR3dzMm1XdDgrT1NiM1J6cXdJaStvTGNl?= =?utf-8?B?WE9SZ0hUU3dCYUpEQmhRbjEwNGk3d0x5NnBpcThwUWZJaGMzRTRlMi90TGpv?= =?utf-8?B?Y2gxa1NxaDRPWmNDUHBITThlOVMrT0s5VW5va3JmeVVnNDNHejRJYTAxeE1R?= =?utf-8?B?SWpvV2dqak1QWjdhSEN5L0doY003c0x4MThTTGxQQTd1VWdLR0JFK2llQ242?= =?utf-8?B?L2FqNUF3L0prMFdUN0hSbEltTUsxWDh3ZjR1UkRVWlBoVTQ2ekZOeTFOd2Rk?= =?utf-8?B?Ry9vMVVBSjdwK0pSV2RjR3kvbCtBcXM1bkJLczEwdXdxRGhkVUhvenlnTWFR?= =?utf-8?B?cDhsMTZsam8vdUxpSkRwVmc5ajNwVkRFdHNnbE81VXlUR1pQYis5bnNVU2Qx?= =?utf-8?B?VEJDZXVOSEZSb1pZMHVIaXVyUWl2TElhcFBoZUVtY2xjWFFKU2svREdGeGt2?= =?utf-8?B?VHIzVW1iVzFUYXBYNUttVEdSbjVvWVJTV0Jqd2EvT0taV2RZaHpnM2JjM3pw?= =?utf-8?B?UFBaN1kvN2tNNzBRSURvYWVmWXZnb0lWVEU5K245T1NqcnZNaHZ5cVFCK1dW?= =?utf-8?B?QytVdWdMa0pUakVDYi9NN1dNcVEzMnRzeitoRVBJK2J3VGkxaUdPWTNNZWdF?= =?utf-8?B?MVJhNzFycjlsSS9TaXdpY1R2NGJsalRlOXR6WGZ2VFJLaUVGaUoranZQR2h4?= =?utf-8?B?OGVXNGFRWTA3TWg2eS9ablZkdU8wcE8ybllJQm9wSTFLQWlyVFM0emhWa0N0?= =?utf-8?B?RFR0Z3ZYMEY5Qk9RbXF1OWJ4eEl5SW5pbEpmcW0zNlFwSTM5am9ZU0VpOVpK?= =?utf-8?B?N0M3Q09rTkdjZVcrajhjRGo0Qy9KMk50UitsNWFmQXd2YzRtczR4NEtJaGNX?= =?utf-8?Q?4dE6nA9FMv74brcQMRBDKcYxhbj3Y2mZ8d3nlP3?= X-MS-Exchange-CrossTenant-Network-Message-Id: 495f2a9d-d1fc-404c-041b-08d98728bbb3 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4868.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2021 11:18:46.8990 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dscXCXDkYaMqcpbEap1aZ8gM/TL4imFZJPiz+G8QhB1qR2axJEnPlvTXwFZaQM4Q99wM+yi28gpu/SWQSPj3CQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1502 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 6/6] net/iavf: add watchdog for VFLR X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/4/2021 3:15 AM, Wu, Jingjing wrote: > >> -----Original Message----- >> From: Nicolau, Radu >> Sent: Friday, October 1, 2021 5:52 PM >> To: Wu, Jingjing ; Xing, Beilei >> Cc: dev@dpdk.org; Doherty, Declan ; Sinha, Abhijit >> ; Zhang, Qi Z ; Richardson, Bruce >> ; Ananyev, Konstantin ; >> Nicolau, Radu >> Subject: [PATCH v4 6/6] net/iavf: add watchdog for VFLR >> >> Add watchdog to iAVF PMD which support monitoring the VFLR register. If >> the device is not already in reset then if a VF reset in progress is >> detected then notfiy user through callback and set into reset state. >> If the device is already in reset then poll for completion of reset. >> >> Signed-off-by: Declan Doherty >> Signed-off-by: Radu Nicolau >> --- >> drivers/net/iavf/iavf.h | 6 +++ >> drivers/net/iavf/iavf_ethdev.c | 97 ++++++++++++++++++++++++++++++++++ >> 2 files changed, 103 insertions(+) >> >> diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h >> index d5f574b4b3..4481d2e134 100644 >> --- a/drivers/net/iavf/iavf.h >> +++ b/drivers/net/iavf/iavf.h >> @@ -212,6 +212,12 @@ struct iavf_info { >> int cmd_retval; /* return value of the cmd response from PF */ >> uint8_t *aq_resp; /* buffer to store the adminq response from PF */ >> >> + struct { >> + uint8_t enabled:1; >> + uint64_t period_us; >> + } watchdog; >> + /** iAVF watchdog configuration */ >> + >> /* Event from pf */ >> bool dev_closed; >> bool link_up; >> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c >> index aad6a28585..d02aa9c1c5 100644 >> --- a/drivers/net/iavf/iavf_ethdev.c >> +++ b/drivers/net/iavf/iavf_ethdev.c >> @@ -24,6 +24,7 @@ >> #include >> #include >> #include >> +#include >> >> #include "iavf.h" >> #include "iavf_rxtx.h" >> @@ -239,6 +240,94 @@ iavf_tm_ops_get(struct rte_eth_dev *dev __rte_unused, >> return 0; >> } >> >> + >> +static int >> +iavf_vfr_inprogress(struct iavf_hw *hw) >> +{ >> + int inprogress = 0; >> + >> + if ((IAVF_READ_REG(hw, IAVF_VFGEN_RSTAT) & >> + IAVF_VFGEN_RSTAT_VFR_STATE_MASK) == >> + VIRTCHNL_VFR_INPROGRESS) >> + inprogress = 1; >> + >> + if (inprogress) >> + PMD_DRV_LOG(INFO, "Watchdog detected VFR in progress"); >> + >> + return inprogress; >> +} >> + >> +static void >> +iavf_dev_watchdog(void *cb_arg) >> +{ >> + struct iavf_adapter *adapter = cb_arg; >> + struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter); >> + int vfr_inprogress = 0, rc = 0; >> + >> + /* check if watchdog has been disabled since last call */ >> + if (!adapter->vf.watchdog.enabled) >> + return; >> + >> + /* If in reset then poll vfr_inprogress register for completion */ >> + if (adapter->vf.vf_reset) { >> + vfr_inprogress = iavf_vfr_inprogress(hw); >> + >> + if (!vfr_inprogress) { >> + PMD_DRV_LOG(INFO, "VF \"%s\" reset has completed", >> + adapter->eth_dev->data->name); >> + adapter->vf.vf_reset = false; >> + } >> + /* If not in reset then poll vfr_inprogress register for VFLR event */ >> + } else { >> + vfr_inprogress = iavf_vfr_inprogress(hw); >> + >> + if (vfr_inprogress) { >> + PMD_DRV_LOG(INFO, >> + "VF \"%s\" reset event has been detected by watchdog", >> + adapter->eth_dev->data->name); >> + >> + /* enter reset state with VFLR event */ >> + adapter->vf.vf_reset = true; >> + >> + rte_eth_dev_callback_process(adapter->eth_dev, >> + RTE_ETH_EVENT_INTR_RESET, NULL); >> + } >> + } >> + >> + /* re-alarm watchdog */ >> + rc = rte_eal_alarm_set(adapter->vf.watchdog.period_us, >> + &iavf_dev_watchdog, cb_arg); >> + >> + if (rc) >> + PMD_DRV_LOG(ERR, "Failed \"%s\" to reset device watchdog alarm", >> + adapter->eth_dev->data->name); >> +} >> + >> +static void >> +iavf_dev_watchdog_enable(struct iavf_adapter *adapter, uint64_t period_us) >> +{ >> + int rc; >> + >> + PMD_DRV_LOG(INFO, "Enabling device watchdog"); >> + >> + adapter->vf.watchdog.enabled = 1; >> + adapter->vf.watchdog.period_us = period_us; >> + >> + rc = rte_eal_alarm_set(adapter->vf.watchdog.period_us, >> + &iavf_dev_watchdog, (void *)adapter); >> + if (rc) >> + PMD_DRV_LOG(ERR, "Failed to enabled device watchdog"); >> +} >> + >> +static void >> +iavf_dev_watchdog_disable(struct iavf_adapter *adapter) >> +{ >> + PMD_DRV_LOG(INFO, "Disabling device watchdog"); >> + >> + adapter->vf.watchdog.enabled = 0; >> + adapter->vf.watchdog.period_us = 0; >> +} >> + >> static int >> iavf_set_mc_addr_list(struct rte_eth_dev *dev, >> struct rte_ether_addr *mc_addrs, >> @@ -2448,6 +2537,11 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) >> >> iavf_default_rss_disable(adapter); >> >> + >> + /* Start device watchdog, set polling period to 500us */ >> + iavf_dev_watchdog_enable(adapter, 500); >> + > Besides checking VFGEN_RSTAT, there is a process to handle VIRTCHNL_OP_EVENT from PF. What is the change for? Any scenario which VIRTCHNL_OP_EVENT doesn't cover? > And how is the 500us been determined? Hi Jingjing, thanks for reviewing, I think this can be handled with the VIRTCHNL_OP_EVENTĀ  with no need for a watchdog alarm, I will rework the patch.