{"id":2222234,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2222234/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260411003959.30959-1-emil.s.tantilov@intel.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/1.1/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260411003959.30959-1-emil.s.tantilov@intel.com>","date":"2026-04-11T00:39:57","name":"[iwl-next,0/2] Introduce IDPF PCI callbacks","submitter":{"id":1670,"url":"http://patchwork.ozlabs.org/api/1.1/people/1670/?format=json","name":"Tantilov, Emil S","email":"emil.s.tantilov@intel.com"},"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260411003959.30959-1-emil.s.tantilov@intel.com/mbox/","series":[{"id":499519,"url":"http://patchwork.ozlabs.org/api/1.1/series/499519/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=499519","date":"2026-04-11T00:39:57","name":"Introduce IDPF PCI callbacks","version":1,"mbox":"http://patchwork.ozlabs.org/series/499519/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2222234/comments/","headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=Z/f8xNrt;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsvvh3jfrz1yH2\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 11 Apr 2026 10:39:58 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 9930E401D4;\n\tSat, 11 Apr 2026 00:39:55 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id byc-HdcL2WuN; Sat, 11 Apr 2026 00:39:54 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 4EB9B41A2F;\n\tSat, 11 Apr 2026 00:39:54 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n by lists1.osuosl.org (Postfix) with ESMTP id 0DA71237\n for <intel-wired-lan@lists.osuosl.org>; Sat, 11 Apr 2026 00:39:53 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id F348941A2F\n for <intel-wired-lan@lists.osuosl.org>; Sat, 11 Apr 2026 00:39:52 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id T3GAUlKeRhbb for <intel-wired-lan@lists.osuosl.org>;\n Sat, 11 Apr 2026 00:39:52 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.16])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 40922414BE\n for <intel-wired-lan@lists.osuosl.org>; Sat, 11 Apr 2026 00:39:51 +0000 (UTC)","from orviesa010.jf.intel.com ([10.64.159.150])\n by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 10 Apr 2026 17:39:51 -0700","from estantil-desk.jf.intel.com ([10.166.241.24])\n by orviesa010.jf.intel.com with ESMTP; 10 Apr 2026 17:39:50 -0700"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4EB9B41A2F","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 40922414BE"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1775867994;\n\tbh=tnQSNDWHLKFGXe+4MxHiSd2awBm9FGP+QGj/rS67IME=;\n\th=From:To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=Z/f8xNrtt1CVG8iBzmZKwnRTMogSYC4AbRZzWpkuIA8FYx4QPP5UtzfjRl3MktZwl\n\t nf4T9laiNOLx9NeA/k+6i5froGPUPaHhZgosvj0Ybm3Y6bGLquxDa/NPLHQDHYHJtU\n\t U+a7aHLv9BOWD52IXAGWZGFf/demXAPjlcxWtyfOdWFkNMukcffIHNyRfrksEBjUvq\n\t +Gcdzp0vJixWhp90LlbTGtcPArSNxq+9lL+SNp2gnhRdQyHM/EbzebZPRoUweKkiLL\n\t RWFp7/6fXYC+HV2SfIifqsAvfuYJXLcwJ5eEDasj7JdrreB99gz7X5gylwJYR02lH5\n\t iicD6UpyV1ZZA==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.16;\n helo=mgamail.intel.com; envelope-from=emil.s.tantilov@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 40922414BE","X-CSE-ConnectionGUID":["lR0eOjW3SyypoQ8veejWKg==","x13t4GsSRpywFZyyfr8xKg=="],"X-CSE-MsgGUID":["GM8rakwSQyiSOdF+9Rwgkg==","hbH5JdM/S0qunHamrYpX+g=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11755\"; a=\"64423720\"","E=Sophos;i=\"6.23,172,1770624000\"; d=\"scan'208\";a=\"64423720\"","E=Sophos;i=\"6.23,172,1770624000\"; d=\"scan'208\";a=\"228392487\""],"X-ExtLoop1":"1","From":"Emil Tantilov <emil.s.tantilov@intel.com>","To":"intel-wired-lan@lists.osuosl.org","Cc":"netdev@vger.kernel.org, przemyslaw.kitszel@intel.com, jay.bhat@intel.com,\n ivan.d.barrera@intel.com, aleksandr.loktionov@intel.com,\n larysa.zaremba@intel.com, anthony.l.nguyen@intel.com,\n andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,\n kuba@kernel.org, pabeni@redhat.com, aleksander.lobakin@intel.com,\n linux-pci@vger.kernel.org, madhu.chittim@intel.com, decot@google.com,\n willemb@google.com, sheenamo@google.com","Date":"Fri, 10 Apr 2026 17:39:57 -0700","Message-Id":"<20260411003959.30959-1-emil.s.tantilov@intel.com>","X-Mailer":"git-send-email 2.17.2","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1775867992; x=1807403992;\n h=from:to:cc:subject:date:message-id;\n bh=bf9rDhhDLQYlfFaN1vUUcDJylrZVM5QUZxazTmomJjk=;\n b=mIslDTFZnvHLolgC20nyIV31M0iccNKI+8sIM8lLPbjRHFjf7wq8ywKM\n 8PHFYxvugfvdZm8kFEUFQu6yrdDi3edygDzueIG1FKpt5TMdvf/5/vb8B\n oCWbtGGHCBye2RLOD7tHxbASyauvVxdk5Moj1Qte8MuSxuAzRY+AzqoIF\n ohyMpM+6lTIeaAFJQq4uiEv1Upq17YJ47UMrXtCVAN80aqk4GNKMEGBci\n Cqg/qhFc0BsfMyJZP8298yFM/9h4wIUKXJOecVQAxz+41+MniCt8JLghc\n yXimgMEKEAsSyOWGp4swdrwhOkNMeaGjNVOxNCVgT78nVGLrJ16Lvdaws\n w==;","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=mIslDTFZ"],"Subject":"[Intel-wired-lan] [PATCH iwl-next 0/2] Introduce IDPF PCI callbacks","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"This series implements PCI callbacks for the purpose of handling FLR and\nPCI errors in the IDPF driver.\n\nThe first patch removes the conditional deinitialization of the mailbox in\nthe idpf_vc_core_deinit() function. Aside from being redundant, due to the\nshutdown of the mailbox after a reset is detected, the check was also\npreventing the driver from sending messages to stop and disable the vports\nand queues on FW side, which is needed for the prepare phase of the FLR\nhandling.\n\nThe second patch implements the PCI callbacks. The logic here follows\nthe reset handling done in idpf_init_hard_reset(), but is split in\nprepare and resume phases, where idpf_reset_prepare() stops all driver\noperations and the resume callback attempt to recover following the\nreset or the PCI error event.\n\nTesting hints:\n1. FLR via sysfs:\necho 1 > /sys/class/net/<ifname>/device/reset\n\nPreviously this would have been handled by idpf_init_hard_reset() as the\ndriver detects the reset. Now it will be done by the PCI err callbacks,\nso this is the easiest way to test the reset_prepare/resume path.\n\n2. PCI errors can be tested with aer-inject:\n./aer-inject -s 83:00.0 examples/<error_type>\n\n3. Stress testing can be done by combining various callbacks with the\nreset from step 1:\necho 1 > /sys/class/net/<if>/device/reset& ethtool -L <if> combined 8\nethtool -L <if> combined 16& echo 1 > /sys/class/net/<if>/device/reset\n\nEmil Tantilov (2):\n  idpf: remove conditonal MBX deinit from idpf_vc_core_deinit()\n  idpf: implement pci error handlers\n\n drivers/net/ethernet/intel/idpf/idpf.h        |   3 +\n drivers/net/ethernet/intel/idpf/idpf_lib.c    |  13 +-\n drivers/net/ethernet/intel/idpf/idpf_main.c   | 114 ++++++++++++++++++\n .../net/ethernet/intel/idpf/idpf_virtchnl.c   |  11 +-\n 4 files changed, 129 insertions(+), 12 deletions(-)"}