From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 911C6337B81; Thu, 20 Nov 2025 12:37:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.14 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642262; cv=fail; b=XJpsGjKwWMu9hZvIJd17NfzZxjLSiLoA/PGPNGRtrrP1dDkXhlXfwykv+mfltZ08bFiwZEkmISNwT1RRMXJVrNUvV12Pdz2shkzub2POrYQbsx8yM7r/h31mA/tKKay+pwJRlV6WfPArExG9GWjg7+jnJDubXFpG1fn/zHK8Apc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642262; c=relaxed/simple; bh=21Ju+TexsfQrxsrlM0wLtrmPYfbgGpC5pYIz8RM4SGo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GHbI7oItMBR9yj6qflGdca7g5rA1xUVZHsGShMDl+GbR/sCpML9Tc5qxLEb4TZ97Y7B4tvquGSsGAKZ/xGYNhOAbHCGUDeTcI0ckuELWBil0k+0C05i7MZyeM6+7fWJpwe+w63X0OyKxdJVTdk04nKq69os3sKxIKbZUODzkr2U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Opv0DTia; arc=fail smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Opv0DTia" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642259; x=1795178259; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=21Ju+TexsfQrxsrlM0wLtrmPYfbgGpC5pYIz8RM4SGo=; b=Opv0DTialo5d2cKrtYIULBOgaubEFKXx+0I3I736dC8o6sqBfCQ4NjEI aesywV8g1EjuJ797sXb8qt3qiDslZ3hqfn+FxXZrStUug1wTggG+yJwby RTu+S5/nFnEq5qjTJJ0XHHxaoY3wTnY8F7gZ3lRZkqLo7/76RJiwPE4LD c4BX7GYdJUNxUBRal2vYGrZUwWkgSvQI+h9L5WHNmmoR3D0CiFBasy0gx 4TvK5E4kz9Z/o1gvQY3j1/bQ/mQNoq+06TVcmqiEhYvUy4auuejjJL0On Hkla+38DfjC3VCtl1j6n8lFilRherlwMogP4unh9HK/PeaipOvOsPaynX w==; X-CSE-ConnectionGUID: 0hs5/r9VSjyE2/G7G/4fDA== X-CSE-MsgGUID: XgC1F9XNSSKOGKjYJvmdUQ== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="69565084" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="69565084" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:14 -0800 X-CSE-ConnectionGUID: 4bBmformQ6CaB4HIErZ1Tg== X-CSE-MsgGUID: 66U0RZRyTt6X3cJPiSWPCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="196324976" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:13 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:12 -0800 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:12 -0800 Received: from BN1PR04CU002.outbound.protection.outlook.com (52.101.56.36) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E8mQ4d2f4VE0lBpIek03N7oMkDLUiLn6xVLPTY4uaIAMXgqlqhtke6hOAy6l19o1XpecUTI2e54q4TMOVVr+3SGXNYvLWIseC8URwThPNRKNzmWWf7ooBwjm+pp0dObCdKaG3WBK7004EIXtZSzq9gs0jFN+QhkYkg+uBubrbsSUByRXEpI7PedSKAO/dciaLcNIV2cDwwj44YMLsW1MjeLYxQqQC7R4dP5TiXu+ufUWBwJyHD7W3uqeree0KbP+gpGyDF2XZaleDVsxHCv3QAv+kYUVlhJlqjCaoBUn177+tvE3PiW7rG9o+kguG0c0oWq8LFAC8MqhRb4idx1tHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1kPmxeChkpGEMRNBkPCHYFx4TArChILyvcG1VU0j3Js=; b=OWjuwR+Pg1rME1xQrLjfbp3iEjyrKtBidy4UUsrOdcw2qZD2CZEuH7r/RXZ/EHETBM+DtMDo13v3UfW/TyVeeZmgdhMtMy/NWyJI02xf0pN6dUqYXoKiZ3OBbwKAjUkVjNAgNlx9K6AZSpADTVeJfi1GDqVrjHg4tdgFBhrz45eoZbdOk3i1hIOTamxRaKGFJvYjpnCgRCA6x45Udg0BXwIMLMbpIkfMs22Rc6SSde8GOghbSCTP3N4HoBuQmKC/VtcCdKV777+5LB+NGYUL65QTClqkDz11K/VWcQ5pV3knhbuE5/k0XGDcH5CHtP+pQOrMvDOTuFPms+pU/ApOPA== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by DM3PPFC3B7BD011.namprd11.prod.outlook.com (2603:10b6:f:fc00::f49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:09 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:09 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 1/6] vfio: Introduce .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:42 +0100 Message-ID: <20251120123647.3522082-2-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: VI1PR04CA0104.eurprd04.prod.outlook.com (2603:10a6:803:64::39) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|DM3PPFC3B7BD011:EE_ X-MS-Office365-Filtering-Correlation-Id: 94d74692-ae19-44a8-0333-08de2831859c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NFFNc2w3ZEZLaHhFN2wxaUdGQU5xOHZoKzFlMnpBeHZBbkpQZlBqeWVXSnBy?= =?utf-8?B?QlVSWnhqRFNMa3dZQTVobnN6MkZOLytNSjNueXJvZG9ER2RtUG9adU9Wd0Js?= =?utf-8?B?WTF1MmhYbTN5RzlzTXZYQlN5VWgxU1RrTytHYm9nbVd0QWtXSEdaejdhVjdr?= =?utf-8?B?MkhWTmhOOUF5YXFNNzFsYXJVUkZqUldYcmtpWlZXQ1dndXM2VHp0NWhWeEZY?= =?utf-8?B?aklNZDM2SnlXT28rWUJkTGNhd0ROb1NvZ00vL3VLanlWb2pVenJLcXpGM1ov?= =?utf-8?B?WEx0czlranEzSHBkMHBHaHdYbEVTQVNEWWVpc3hvcncvMVpMeStHV3FRUWxJ?= =?utf-8?B?d2ZlQjBrWWdOOUhGdnBPdGpGWmZpenZKMjg0RlFZRG45T2lzT0l5K0pJSDFj?= =?utf-8?B?OXA5NmNseVZqcHMvZUJkbzYzbkdkNUJlS3VYb2UxQzRHczNCancySk95NHRN?= =?utf-8?B?eVZoeE5rN1NnMTczdUI0b01ZUnFkT3djbE5hcHdPRXcwV0k0SGZHRjNMVmpB?= =?utf-8?B?MzZYTHhOZENPRXBoMWsvOWhISXExL0RvSnlEV2VDZjMrU0FlbWgxMU5Sb0h4?= =?utf-8?B?Smt3MEQxYnd6UmJkbGU0N3NtK2o3dG5Nays4U0tiRFEvUFdkQ3NIYlBRbFF4?= =?utf-8?B?dy9jSlFhOXY5aU1ZakdYdVZuS2w3OVYxRk1EZDRLdE9yK1RpS0E0QkQ5STdj?= =?utf-8?B?OWI4VjNYdEdKSFAyZWptc1hNZVcxZXVkMkh5Y2NlNnNrSFZGZFFjb3dlaGx6?= =?utf-8?B?STVBYTJEWUkrZHBrcjBvWXBoL1FRSk9qd2c1bUpINnl6S3VGSnF4U0NsblF0?= =?utf-8?B?VmczT1oyeVNsUGlaODByN2NEMjgxZnd3VjliZ3VYdHVKcHJGVUxzV29jZWpG?= =?utf-8?B?Z2lUeGdRUzZjdEVKa2N4QnlySDVBdnFYT0N6aW9oelNUSU1uNlZFeVJMVjlZ?= =?utf-8?B?am5nN2NLUjZTQ2lGNGFhSlRZWHJhUmFLSVROU3g4eFQ0ek5lWDl6aVgyb0pm?= =?utf-8?B?WXlJY0VTOG53MjhiL0lML3RuY28zUGVvbGFFV3NQRXFWUk5EcDJnQU0xVXp5?= =?utf-8?B?VTZnU3dVZFkrTEZqZjFaWlJHdTFTdko4ZFpPOEhackNSbmFVYXpzemJBU2Fk?= =?utf-8?B?ekszRXdXZm4yZW5kWWIvMlNxZDNhbWF5R3BJZmZOMVBPOGJCMFcrN1Uza0hi?= =?utf-8?B?WTg2UW1FMzROL1dYOFUvNU5mWFF0TkJjS2JlSlp6VE9jTTFBTUJzMzh6VVFy?= =?utf-8?B?UGJ6dytWUkJVWkRIQXZzNlJTdDJJRFRDM09UVUlCNFoyNFAvdFBHWm4yZXJQ?= =?utf-8?B?V2JwK0xobVpDUDFMYkkyazM5aWg3akFEZkdqK09ldlpYSVhXQ1BzRTdZRS9k?= =?utf-8?B?eDhYbXJaNzdjVnFkQ2tjNnRDSEhlNllDWldVd0VwOUxhMlFFcDlDdDV2aGxz?= =?utf-8?B?cE1iQjdJbVN4TU54OVZTcmxXUHhjbG5NT3lZRVZXRmUrVU5MQzBCajU1VU15?= =?utf-8?B?TFJJYlFtSEFXV0tWdE1OWDdUcnhlRUZsQVBsUmc0cVF1cnRhQkp4RWl2RW9K?= =?utf-8?B?aHRDWk1KS1lCKy9iczBNdUxjSWY4RXBMQkZTYlZTbUg4ZTBoVnYxVG82MTZJ?= =?utf-8?B?aG1ib0NOUWRzZ2lTWGE1UzZPdXVuRllkR0hvVnZVTVdraVpOWUxKenNYRjZk?= =?utf-8?B?RW14OERsdWhYZmhDSm1HMVM1QnpBNkZwbWlEdUFjenJyY0FRK29zbWNPd2hO?= =?utf-8?B?WE9LY3krbXcyclRjQkRHR0tqY1hQWnZ0dUwrV2wzYUVWcndVWjlIblNvZHMz?= =?utf-8?B?cWx0Y01maDJ2WmRCSjd4cHM5ZUZxajBobzJ6dTYrQlp0NS9FSitSaDNycG5x?= =?utf-8?B?N3JqY0pDRExXR1JEU0hFc3Jkb2daTVN5b1FSVW4zdFc3eW4rK1FVQXhIWGVl?= =?utf-8?B?ckR1anFOcnR6dFVBVlZ0WnRnL2V3VVlremRaT2RCdnUxNDVtNldZRFF6czlj?= =?utf-8?B?UEYza1pHVC9jTU9jYlJ5S0F3SDc0b3BqLzRSNC9QZkhYUHRmTlhmbVdvZThp?= =?utf-8?Q?t++k3L?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TlE0dk1vbXZveE5SUVlpY3owWEJONGNYUGkrd3hOMEFQcVQxRHlLWEtiRXlY?= =?utf-8?B?QTVXZXByT0p2c2FFRStpMWNnVm50cC83N2dUZjQ5R29hdElFL09qYWVWUHlY?= =?utf-8?B?NnVIUndjODlyZ2wzSmpJc3ZHYk9VSWNZeWJoT2QzMWZxajd1VHF3WWk2VU5s?= =?utf-8?B?S1FUSG1YYkgrWGdkVWZybVBjMFA3VDdTeHE1bVBKUkhlRFpiVU9BMitNQ0gx?= =?utf-8?B?R1B1MUJkejE0ZURhYTVTakVWMFUydjZwOHY4RkczdSs4VnlPbVNhUXcya216?= =?utf-8?B?RFd5MTFieGF1OFJSa21tRDRGa2s2R3M5OFFTOXFBSU5xZ0RTUW1xNjd5aWpz?= =?utf-8?B?ZXQ4R1ozZUZ4c3JxcnU3bnJSd2ltM0s4WkowcnEyeEZUc2xDcWpmYzRRMFJH?= =?utf-8?B?MlRndDcrdEcvNVpqdGpPd2Q4STZUZHBhNnpVajFJTUZmTFV6cS9EaGtLV0xa?= =?utf-8?B?SG1JZnlYN25ZUDROQTBoaEZDdkJ2QmtwNCsyeDUwZ2pPN1N1MS9zeTdYMWVM?= =?utf-8?B?dE04TFJTeGhNNGR2RzFNb3k5dU1lVGIvS0N1bHl6RkcrSXllbkpYbVpYbjVj?= =?utf-8?B?Q3R0bEFyT1BMMUdpMTMxY3pVMzJiemMvK1RPZTdkT1FqVm1uK1N4NFYzT0hk?= =?utf-8?B?aVM2bFJIdUVKYmphWnhRdUpUdnNIZmdLb0diQ09zN2F3RERPSDZvRUdVWXla?= =?utf-8?B?NEovU2t6WUhjNlN5RzQ4RTI5QWVCUGxkY2JJTHE0QjJvVDFCMEJEOGk2ek1t?= =?utf-8?B?S2VmbHlPMFFkMTNabFZTMmhIUlNsTU1yUC80dU9iT3Q0ZURwMjZGSjd2Z09i?= =?utf-8?B?K250WGdTQTYvekxhZmRsdTBBTjVUclRJMHQwK3JsTGpubFBXcXZYM1dIU1ZU?= =?utf-8?B?U0hnTktsdmZjQmFmZndSQTBmOG9uZzJYakNFTk0xeVlPQnFnU0ZueXBaeGM5?= =?utf-8?B?L2VRakFwRjJGVkdjQWJ3Z2cvb0w0dy9oaWIzZDJ3NGR2b3NaRk9INlhBNStz?= =?utf-8?B?SGowSEN3c3pJc01kWmRNK1FOS3BjbVFETmpPQU5jaEtsdVladGp2K1RCS2k0?= =?utf-8?B?K2NwRStpTHVLMGw1bHQyYW5ObXpra0syQyswT2s2cHJWSFdoMkhPZ0VubmNj?= =?utf-8?B?VE1RN2VDbkZLbVkxaXBkTHVCcWxqZ3BHTDdtK1lpS1VudWRnNnhmSEtiQ0FW?= =?utf-8?B?MFJ3Rjc1Umw0Z2ZYaTlnU0ZjZWphVEdoSzV4UktrdStDaVp5MmtGdXM3SU94?= =?utf-8?B?dFFRRU9LSllCL3NIYzBVUk1QWUpFeUlIRkFHYUE4NGdHSS8zUVkxVVBRWEpk?= =?utf-8?B?blc1S2NLTUgwd0I1T0g5d2NtODN1M081QzJoV1V0bWJ4QzJydklOUXJ1cHVG?= =?utf-8?B?b0lkdWVzY0JPSndsbXVzcllxK2NTZ2FBM1RHRzg1d2crb2tqZmVrZlRqZkdl?= =?utf-8?B?UXRaOU9zUWsrQUVwenF2c1ZMZEVFcTJIMXUzY3laVVYrQnZWM0hiZXpNUXQ3?= =?utf-8?B?MjFlMXRNYTllNVVHOVlJalh5ODRWVXZma0Zoa2NueHRsaGwwUDJzNncxWWJv?= =?utf-8?B?M3NjNHgrdzlMSW1mQTc4czRrMUtPWVBNNEp2d2Y3OVlwQ0ZoYlBnYUtHWmh4?= =?utf-8?B?amFVa09XTVl4dFlxd1hBazMwaDBISlF1dERidWtNM0VRVVhTby80N3VRaHB2?= =?utf-8?B?WGMrcmJUbWdWUEIzdVFManViSE84eVVBUXVQZnRzL2x1S09QRjRvTmlmZ3hC?= =?utf-8?B?NkhNM1JIM09ISDJMblZRTllRTEpFaGNoOUZpbFRQcmVNYzBWdU1DbjFtRlY1?= =?utf-8?B?MllYUDZGRDJ4U3RRMHZNd3phaWtodmFrcDF3Q2pTV0YxNEJlcXA1RFo5U1Rw?= =?utf-8?B?UTdlVUhKbGUwa1UxYUhNbTNmdFlYVkJ6aTJEY3l1N3ZqU1AvTktwZW9McDBM?= =?utf-8?B?VHpuc1hSeUJrSDNwMWdlR3h5WkdWTkV5S1dYSXViWTNPQTVzdDZCaE9wMVl0?= =?utf-8?B?c1AxKzZmVFFJWUV4UHM1T1lGaGNqWGN1bXJMdGVOenJpVEFzUUNpdi9WbUFo?= =?utf-8?B?amZKNG00SlRDbnZ2NzNWTWtJdFlNUmRFQjZtNzJYdy9WQlA0RkF2NE5sQUdl?= =?utf-8?B?cXJNR1ZrL01lZGlrUmxSRDVyY2N4TmxJUjEyWnBVeFZUQzZnVkdubm4wb09u?= =?utf-8?B?clE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 94d74692-ae19-44a8-0333-08de2831859c X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:09.6005 (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: sSdTgKt7wX2qKUubCSesnE/xmkt7ThzG7dPqVRG+uvOuQEAk4syC/i7UHnWCXdYCE9sTzwoCybL25p75fT0jssW/qMk7LsVOHUomfHkM3zA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3B7BD011 X-OriginatorOrg: intel.com Resetting the migration device state is typically delegated to PCI .reset_done() callback. With VFIO, reset is usually called under vdev->memory_lock, which causes lockdep to report a following circular locking dependency scenario: 0: set_device_state driver->state_mutex -> migf->lock 1: data_read migf->lock -> mm->mmap_lock 2: vfio_pin_dma mm->mmap_lock -> vdev->memory_lock 3: vfio_pci_ioctl_reset vdev->memory_lock -> driver->state_mutex Introduce a .migration_reset_state() callback called outside of vdev->memory_lock to break the dependency chain. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/vfio_pci_core.c | 25 ++++++++++++++++++++++--- include/linux/vfio.h | 4 ++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_c= ore.c index 7dcf5439dedc9..d919636558ec8 100644 --- a/drivers/vfio/pci/vfio_pci_core.c +++ b/drivers/vfio/pci/vfio_pci_core.c @@ -553,6 +553,16 @@ int vfio_pci_core_enable(struct vfio_pci_core_device *= vdev) } EXPORT_SYMBOL_GPL(vfio_pci_core_enable); =20 +static void vfio_pci_dev_migration_reset_state(struct vfio_pci_core_device= *vdev) +{ + lockdep_assert_not_held(&vdev->memory_lock); + + if (!vdev->vdev.mig_ops->migration_reset_state) + return; + + vdev->vdev.mig_ops->migration_reset_state(&vdev->vdev); +} + void vfio_pci_core_disable(struct vfio_pci_core_device *vdev) { struct pci_dev *pdev =3D vdev->pdev; @@ -662,8 +672,10 @@ void vfio_pci_core_disable(struct vfio_pci_core_device= *vdev) * overwrite the previously restored configuration information. */ if (vdev->reset_works && pci_dev_trylock(pdev)) { - if (!__pci_reset_function_locked(pdev)) + if (!__pci_reset_function_locked(pdev)) { vdev->needs_reset =3D false; + vfio_pci_dev_migration_reset_state(vdev); + } pci_dev_unlock(pdev); } =20 @@ -1230,6 +1242,8 @@ static int vfio_pci_ioctl_reset(struct vfio_pci_core_= device *vdev, ret =3D pci_try_reset_function(vdev->pdev); up_write(&vdev->memory_lock); =20 + vfio_pci_dev_migration_reset_state(vdev); + return ret; } =20 @@ -2129,6 +2143,7 @@ int vfio_pci_core_register_device(struct vfio_pci_cor= e_device *vdev) if (vdev->vdev.mig_ops) { if (!(vdev->vdev.mig_ops->migration_get_state && vdev->vdev.mig_ops->migration_set_state && + vdev->vdev.mig_ops->migration_reset_state && vdev->vdev.mig_ops->migration_get_data_size) || !(vdev->vdev.migration_flags & VFIO_MIGRATION_STOP_COPY)) return -EINVAL; @@ -2486,8 +2501,10 @@ static int vfio_pci_dev_set_hot_reset(struct vfio_de= vice_set *dev_set, =20 err_undo: list_for_each_entry_from_reverse(vdev, &dev_set->device_list, - vdev.dev_set_list) + vdev.dev_set_list) { up_write(&vdev->memory_lock); + vfio_pci_dev_migration_reset_state(vdev); + } =20 list_for_each_entry(vdev, &dev_set->device_list, vdev.dev_set_list) pm_runtime_put(&vdev->pdev->dev); @@ -2543,8 +2560,10 @@ static void vfio_pci_dev_set_try_reset(struct vfio_d= evice_set *dev_set) reset_done =3D true; =20 list_for_each_entry(cur, &dev_set->device_list, vdev.dev_set_list) { - if (reset_done) + if (reset_done) { cur->needs_reset =3D false; + vfio_pci_dev_migration_reset_state(cur); + } =20 if (!disable_idle_d3) pm_runtime_put(&cur->pdev->dev); diff --git a/include/linux/vfio.h b/include/linux/vfio.h index eb563f538dee5..36aab2df40700 100644 --- a/include/linux/vfio.h +++ b/include/linux/vfio.h @@ -213,6 +213,9 @@ static inline bool vfio_device_cdev_opened(struct vfio_= device *device) * @migration_get_state: Optional callback to get the migration state for * devices that support migration. It's mandatory for * VFIO_DEVICE_FEATURE_MIGRATION migration support. + * @migration_reset_state: Optional callback to reset the migration state = for + * devices that support migration. It's mandatory for + * VFIO_DEVICE_FEATURE_MIGRATION migration support. * @migration_get_data_size: Optional callback to get the estimated data * length that will be required to complete stop copy. It's manda= tory for * VFIO_DEVICE_FEATURE_MIGRATION migration support. @@ -223,6 +226,7 @@ struct vfio_migration_ops { enum vfio_device_mig_state new_state); int (*migration_get_state)(struct vfio_device *device, enum vfio_device_mig_state *curr_state); + void (*migration_reset_state)(struct vfio_device *device); int (*migration_get_data_size)(struct vfio_device *device, unsigned long *stop_copy_length); }; --=20 2.51.2 From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B23973128DA; Thu, 20 Nov 2025 12:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642240; cv=fail; b=m3wL/DSXOrhMBd+otAuiVvckelsBHTxtgmqk3N1Hf9NOIeMSPj1QbHVJV0fEyx0m6yXU8NOitVIC5bknGGIZsPCvU4JCHxDQCsbWcG1vkyaYLzzMA8LbZcd6F06N1xWKdCvn6gGlOMWzNM6YLBL2DthWPpQlO4IUHhqX/XikHyY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642240; c=relaxed/simple; bh=kADOPs+MBM3vAkaNpdCqGEj7oHDxYO41uTEHNE6Jumc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=sQzwjjZei+OzhmBaPDhcbNRFKGdy10chwNJx38fTeyM9jVxT9smGa95mHtFc3AMHk7yAv3Pi72P7t6p7Fvf6jN4U7PoFqcocVb2FSJNnHOYI8BlkNJ7lykwolQc2+hRZAHnPj52Xup5YbOiWRqIpzJVH5IfH7bV2loL09IB/Aic= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MjfNMc4v; arc=fail smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MjfNMc4v" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642239; x=1795178239; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=kADOPs+MBM3vAkaNpdCqGEj7oHDxYO41uTEHNE6Jumc=; b=MjfNMc4v87ivF1M+MocbxqlRMcu7rBnJzKu60U1mVyqCHEQs/3a8qzm+ sMppD+C/hjepQV+DSs3Zr+C3LSb21eHXjYn99JQZLvuN9w7m99NI987Hj Pl+WSKUCd6wsfZpOgSPTRbv83Ccz/7c49Yve1r9EbpyXqHBPD2YC+/amB AgXXbPx2vSrcymUcR0cWK9jVn4ARZ5bB26Sij7kjrGTB/u20QVlnJoDkq JjBHBRqU4lLcuSYjTMqRciLTaG5rqvq5f7Im5LvWkBuZNrj99kUpq+OW8 RxZNR8C6LNpVWG2z6ve5nxNXSmPjtnWYYdSwGmIi4gehH0OiGbsc0vNQK w==; X-CSE-ConnectionGUID: ZJ8uzKLcRJqZ0Erg1j1Ygw== X-CSE-MsgGUID: wXelI+QZTtSvEyuQJ6/IsQ== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="76037833" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="76037833" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:17 -0800 X-CSE-ConnectionGUID: h77xGmGURzu48kBNJmv8PQ== X-CSE-MsgGUID: Ed43JiNvQK+aCBngFHVe1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="190633867" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:17 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:16 -0800 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:16 -0800 Received: from BN1PR04CU002.outbound.protection.outlook.com (52.101.56.55) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YXCV2XiSo+lU+OMsI8y5IAiWsaU/IYhc+UE3VWEyfsz25pmFS2JOBItqRPkMiSk4UT7+7rG0GYCWEkyKRV7MkEvDDjT/NXxN9Zw3Eedm7cqnXiQR0iM78fGV9q1YiRngRdAZC9UTVMMqcL3lo1MGcwVeSNabTNBhznYhP2kZMJUoC41kWOKEM2WzCtUMKvlsxGTdyrG0L8lxk7/OCc9/4AFFXcsJG3odxx3+5KV1Q0VJVUpubR+LCC+jiHUr4uVxl7ldMEZyDASXrqG75ES2qi3mBQczIOzqNYLqW3NhloVgmDis6Aynl38WyIbpc2kl5Gu+4++Xlf1y/lq/gDx5pA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=PmAqitC5/HnaDc3C75JS9DjJkk5I65ywWV3oCGsImu4=; b=hgd3vgr2V2A55PiwFvp/WsYI8VocKEfpKsCN8ApkekXYxGn6olyPrSkYB/6mMsilBBYmOqZmA8cO241nOyAgCOgg1FeytFu53G2rTlDr80bfW6izOV7Ao1uu9zNE+ZTjPbLbVsNLP+SqJSgDluGe1fahgmw1H9i/rzjsg4JjO1eqO51gEsegwoWcFsWykqVWAA86CFBS6LJ/z/rngEODGQkTXhHvZXLW6bqkujjpRkwnvqFJlEt2MrIvQd0rVQeycU8gxUxdY+9c5hGWMua1/dRhv9jzN1SsV8Hnv0jq5bUdf/8TlL/oUA7susVW4jl+vP8aPSHXtoX5CoN3+OWsGw== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by DM3PPFC3B7BD011.namprd11.prod.outlook.com (2603:10b6:f:fc00::f49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:13 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:13 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 2/6] hisi_acc_vfio_pci: Use .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:43 +0100 Message-ID: <20251120123647.3522082-3-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BE1P281CA0112.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:7b::19) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|DM3PPFC3B7BD011:EE_ X-MS-Office365-Filtering-Correlation-Id: f33637b5-5602-4b2c-f0e0-08de28318808 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dGh5d1pTa0tlMVQ1bHN6QnFsUVlYRmFHMlNDQ3JDa0lGa29SQUwvOXZUdDc5?= =?utf-8?B?UUk5RHN4NDlGVHA0RTQ4a1lURDdCNVJZQmZHZlFhQmlNZkUyay94RHAvRlla?= =?utf-8?B?UWxWUFVENmF1VW5tck5DemtqS0tCRmNuZ2p4UmxjTUE2UEhQc2ZwY1NXMUNE?= =?utf-8?B?Z1RJN1FMUHJJMll5cTYxUlQ3cTNlUGZPQW10a0RKMjZuYmwveGRMNEZGU0pX?= =?utf-8?B?b3pXVUE5UFhvK2IrRlhrcTZvVXlMMUl5VWZlU1ovRDhlTGFQMTA1SjZ5Q1N5?= =?utf-8?B?K2hWdTBjQUlPejRPblZFNnh3a25vYWNQN0R6OUs3ZEVaaEVLclNRMnNjaXRz?= =?utf-8?B?TkhsMzZkQ3lKRFdiRnRZeUcrdUt6eEpzOFNrMGtXdjVxZ1E5Z3R6cVpZRUdN?= =?utf-8?B?TitaUm1jdUVvNG9qb1BxN1lYTjhYSjhUb1hHSzBJNDFQbFJPNnd6bzRqYjdR?= =?utf-8?B?K2x4c0RWbWJIcTZUZ3V0V0ljb0VETmxVSXl2KzVuVEdvekFvZXFFT2FIemFG?= =?utf-8?B?aitCMWRzYkZHN21kKzhncml2T2tMem1OcjByeVVyR1Z6eEZsbDUxVzlLWWNU?= =?utf-8?B?d1JSd2lHUzFDQVdEN2M5QjVpb1hUeXhKVTJTRnk2a1NNUVJ4b3AvYUJKRG4r?= =?utf-8?B?djFoMjlaMlRtckFLSE13S3V0SFdVQ3dhWlBwcjF3SDVYV0g3S0JrQTcxTnpY?= =?utf-8?B?MkFXK3dCUFJSS0xsZ3U2LzBDL25CSUlzK3MyMkhCV1p0U3NVdDNlUDlQNkZu?= =?utf-8?B?ZGtOZzBkdUlZa3JUMy9hZGZ5cHI3U2k5MUEzWVd0dzlKUy9CNTdVRUlJQmtO?= =?utf-8?B?aWlacDlmWkRDanljUlNLUTUzSExUTmljZWFFem1lN0JPdFEvS1ZuRlVYWjYx?= =?utf-8?B?ZXFka2pJd2pVNEYwZkpldEQ5MHpEZEZRbCtkaTZlSnZXdExHUHcra2g0OVR6?= =?utf-8?B?Y3dsUXg5d1A3NXdtaWxMamFKSjRXWUJIOUZSR0RMV1d1MVlzaXU4N0JJQXdB?= =?utf-8?B?NE8xanBkekdNSUo1MWV2SFlXaWsvSU9lY1A4UElTVzJxWEZVRUhsV054eG5W?= =?utf-8?B?dnZWbUNEUDM0YUVIOElNUEc3UjBUeEVNZWlZQjRxcUdESnlJSFROZDMxRTJZ?= =?utf-8?B?S25QRUFaUzlva2hQb0FsUjdRZ2N0N0JMQzMwUlJTdDlLSnJKcFhjR2JGZDl4?= =?utf-8?B?OUhCZmRWL2pVeDllMUFDVWp6dUdNVVlyOWtiMENFLzRKWDkxYVZXaDJ2RGN1?= =?utf-8?B?bi84UEtZR21ycDlBbWE2SEN0cDZpSHNtQXdBRzBTaXdGb2pZVHNQM0p1REpE?= =?utf-8?B?TUt2bTRNVnNKQ1dMc2hibFgyUDJLMXZYOU5HRk5ienNFai9SQlBaSGtHRjdS?= =?utf-8?B?bjdWSDI5SjlvMnVPaDNSbkJ3QXpwbk1QcjYveDVhWEtFUm9nNU9pdzN0S0xz?= =?utf-8?B?ejFZMCt2QktpbEdVSE5uS09KTWY2eEpkQmRvYTJuY004M1FYL2x4OVZrUXJ1?= =?utf-8?B?Um1zaEswZSsxdy9ONzlmdURoV1RNbUUxNGQrUjBkN0NmcWRieXBDNTZvNmc5?= =?utf-8?B?eWR0TEcwb0hxREJWTGh5dEZINkY0ZklkRHRESlhDU2x2Q3lZYTZTQktLQ0dl?= =?utf-8?B?MlU0TmIrczdrTFJ6RERuY2ZrWUJRWG91c3NhRFkzZWZRSzluNXArTzc3Y2dj?= =?utf-8?B?VXRTYmFHbDFYZml1OWlvY20vUTc4UjQyWEVqLzhUUVF6MmxJV1U2L29SeEY5?= =?utf-8?B?SjRqYWhvMmtRc3hQZjFYMVd6WVhxV05jUnM1N1FFbVlHSlNKYmRFMVhWNlU0?= =?utf-8?B?V3N4RGFZOFJjdW1hQ2NqSkwxS3RRQ1VFblVySGxlUEhWMFhSSnpVckxiSVg0?= =?utf-8?B?bzNZdGRkV1dRc2VNb3Fyd1ZIRHJnZndmYzBmNXBWYWJDdXhrMCs4TldiZkh0?= =?utf-8?B?RDlEakpmakxGNkR6RTZvNm1ENHFMME9LdUFLR3BOeDdSTTB1aWt4ZGpvdXdP?= =?utf-8?B?QlQrUUVhTFVaK21QTjY1djZnVEdsbGVISG82NC9BTEJheEptbDV4dW5MbDNP?= =?utf-8?Q?d7J2je?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVAyNFBsZkJyeEgycUdWRGMvak0rUWhQNmxUNTFocjdZekpqd1VMaGxzMW5z?= =?utf-8?B?SG9HcWxvOWlQazNEZHU2ajlXNFpwTVlPaDE3UzVHM2RYOWUrWnlndEpUcDdX?= =?utf-8?B?SWJ1RFNGb1BhZFJvcGIxbWpOYnRoQ1A0cy9Pdi9XSGlCNlo5eUMveVdJdUhQ?= =?utf-8?B?bGZRNmJQbGppTmdUR1NRbG94Q0hVcTBaWWZtNDVCdUNiYW5KYnkrUXd0L25J?= =?utf-8?B?UlpnN24xNUQyNUVhZFkwV1pOZk5sZ1ZiMHZYQXI5SndHRkxYcTIrR2dYdjRn?= =?utf-8?B?a01EOTBkQ3VBYXE1TUl5WXFEMXRkVTl4T1RyTFVVaUhGUXNPakFCZ2o2VEJr?= =?utf-8?B?UFRYendnR0RmaHluR3d0RzZWcW1qeDg4Mk0wRkQxTWpGUDdLRllNdFpKcThm?= =?utf-8?B?VkhsSmdWMklsaTU5K2cyM3FhYUtHV1hOMFpEdXZ6UmRHSkNCdkoyNW93ZDd0?= =?utf-8?B?R2lCNG5vYloxRDJ6cEpHd3NrZGJRY0RmbkdyTVlHdXVKVHp5aE43NGlpSGYv?= =?utf-8?B?TU81Q3ZsS01pZmJXUFZPTkZzTkErSi9oQUJNbmZGdGZEeDhqR2QwUTVYaGtp?= =?utf-8?B?ZEE1WVJmdUk0R3Q1SVExNGtONjJmdFFITWt1cUdTdVFTSXMrNmFUaWo3bG9p?= =?utf-8?B?Mm0xNk55UFNwUFJrOEVFZDU1aTBWNDRrQitzWkdpSVhxcXpKTCt2SCtFRXYx?= =?utf-8?B?cmZpQXZld0ROVmw5OXNxaFdxQmhhSFNZTU5OcFdQanFwMlZOVllIZTY4UE5x?= =?utf-8?B?OTFhbUpXdGlTcXFQSmtiMG9oVTZ1Z2FXeC90cGo0L3p1K0VZSWp3Y2QrQUN1?= =?utf-8?B?ZGNLYTZHWWJaRW5kVWxvRWMxcUxSMEVoMklnYzNFTHgvd1VZcTJYaEU2a01o?= =?utf-8?B?TFduZWkzRHcwNENxdG96RXNpZ2Z3VjliTTBxdGY1d2hyd1R0ZklxR1BhSmwx?= =?utf-8?B?M3Zvb2h6a1NaemR6U1ZYUU9PZW1BNjFveWdxckE3NndaTlAvRmNES2diMVVv?= =?utf-8?B?Sm5vTmFUdWk5WUVXazNCZWVWMzZDYTN6TlJDeld4cXBYVCtPTTNWbnljUjBX?= =?utf-8?B?ZGhyM2lqWkxDN0Yvd3lRdDA0R3dpRXllTUNRMlJRMDZRT1BDWnlRY1IwT0dy?= =?utf-8?B?YmRvQStJZ1JLUWRFNlVqbU1lbi9xY05JUG9WYlJKYWZxZGhwdE8yOG8rdXVP?= =?utf-8?B?cUlsSjF0OEt1dmZ4QjUxTWlXN2t1ZVpwVlB3T0FOai95bkZQSFA3OWhjYjRY?= =?utf-8?B?c29MaGFLNm9XRnNtbUR4Y1BDdi9LeUxwVytjV2ZucHl0WmRRU1Y1cUFRV25R?= =?utf-8?B?VG1Uc0pNN0N5MW11QndVQ2VnYXNBNnRxTDAxazVrdEFDT0cyUlpTZ2lEWkV2?= =?utf-8?B?WWtMNnRIeUVQeW1uMWhWbDNWUEtlbHlxVldlTzVwUE41SGk3blJDMnNmUk4r?= =?utf-8?B?WXJ3andQdGNSRjc4cWVWVGdWejZUcE4rKzVrcUZJS0ZXMTdPLzA3aCtrMmZt?= =?utf-8?B?all1YnQvUUN6WHAyQjRtQnphUXF5T1N3NFhCWW80WTJGTGhJTy84RkZDc3Z4?= =?utf-8?B?ejA4ZHlRMzFwWG5NdnBoSVl3b0N3elJoZmJITlJ6YWhVam4vM1U1TnkxUUh0?= =?utf-8?B?YUtoc1FRRkdmbDR4Z1djUFBLRTJGZkF3c25LcThScy9RNHFnY244OFJMS0J1?= =?utf-8?B?Z1c4V09nSTlWY1dwS1hiZ0RqOWlpdmpzY1hndHlLejNjWUNBSjZselJzQjZj?= =?utf-8?B?dEVhL1JSbjFiOHYvQm1uczJFL0xleUl1K1NZc3UvekVvUTl0VXdnamlpaEpZ?= =?utf-8?B?QmdrY3hpZzlzYnE1Sy8vOGk3UUYzdnB1VVM1VGNDSklha2YyNEhqcWZ3ZWF3?= =?utf-8?B?NUpjUEVOd1RWUERwenNVcDNyWHhhRTN3WmNGRkF2RE15azB4MlhCc0xZTFY1?= =?utf-8?B?c1JZcTNKN3RHYkdsQzhCYlFUVDRrVFZ4UE9HQTJVV3dFNXdFUUZ5dGVaOERj?= =?utf-8?B?TnRpNE5nV2w2NEswMDlOMGZrOEYyUExXUlFPTERUMEpKZFVRTUdBSnVaa0N2?= =?utf-8?B?R29mZ1lvYlJyeFBFUVQ0MjJFR3lxSnBTK1VCNUlVYXV3THlOdU9FRHRWbUVF?= =?utf-8?B?WEhJL05XN2tMSkpweUZEZHVQM0JEbEgxeG1vMUhKcmU1MW9OZEdYQ3pPekpP?= =?utf-8?B?Vnc9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: f33637b5-5602-4b2c-f0e0-08de28318808 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:13.5911 (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: dFz+byiIjjO4aHmu9/Jdo7EKNV06sMSu5pGFdWvtb72NM+yrgJq+B4nd5/0ppUxggO/G6MC5oomW8Zh+uBOZOMSsNGAnhsNEfRoTDAfUVXY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3B7BD011 X-OriginatorOrg: intel.com Move the migration device state reset code from .reset_done() to dedicated callback. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c b/drivers/vfio/= pci/hisilicon/hisi_acc_vfio_pci.c index fde33f54e99ec..eafdf62ee29ef 100644 --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c @@ -1169,9 +1169,10 @@ hisi_acc_vfio_pci_get_device_state(struct vfio_devic= e *vdev, return 0; } =20 -static void hisi_acc_vf_pci_aer_reset_done(struct pci_dev *pdev) +static void +hisi_acc_vfio_pci_reset_device_state(struct vfio_device *vdev) { - struct hisi_acc_vf_core_device *hisi_acc_vdev =3D hisi_acc_drvdata(pdev); + struct hisi_acc_vf_core_device *hisi_acc_vdev =3D hisi_acc_get_vf_dev(vde= v); =20 if (hisi_acc_vdev->core_device.vdev.migration_flags !=3D VFIO_MIGRATION_STOP_COPY) @@ -1529,6 +1530,7 @@ static void hisi_acc_vfio_pci_close_device(struct vfi= o_device *core_vdev) static const struct vfio_migration_ops hisi_acc_vfio_pci_migrn_state_ops = =3D { .migration_set_state =3D hisi_acc_vfio_pci_set_device_state, .migration_get_state =3D hisi_acc_vfio_pci_get_device_state, + .migration_reset_state =3D hisi_acc_vfio_pci_reset_device_state, .migration_get_data_size =3D hisi_acc_vfio_pci_get_data_size, }; =20 @@ -1689,7 +1691,6 @@ static const struct pci_device_id hisi_acc_vfio_pci_t= able[] =3D { MODULE_DEVICE_TABLE(pci, hisi_acc_vfio_pci_table); =20 static const struct pci_error_handlers hisi_acc_vf_err_handlers =3D { - .reset_done =3D hisi_acc_vf_pci_aer_reset_done, .error_detected =3D vfio_pci_core_aer_err_detected, }; =20 --=20 2.51.2 From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B2A1337BA7; Thu, 20 Nov 2025 12:37:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642244; cv=fail; b=ji9eOLAFLwC7N3SYWz2j2HmYp6jo/gr5GtoYDciR8OoD4vDlUQXdSAMMt5fzUEqKLG6C74bLT9ySa/1g40q0PJFOQ0q5/glsU+z9D7CkANqzVZK+cvHLW2HSi5Aj0uAkDp2NGNOj+697Qaq4uJV2pb+smhnxnHZeDWG8MmQFEZQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642244; c=relaxed/simple; bh=t4Gx8n26CZ7tGqi+szkZ7Uca47wlQs3Za+MO8JxfDYo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=cnOe5pzVoe8gbHahJz1uPf2kO8E75rhgB3pmOPRjGa7dw01qTXtWfGtzxKlN2/KufhAGf3Dh/PWcVfz5MLg35NfRnDXJMi8pQu2aZlr+xEuyX3ZxF54lrk0c2wmATj7PuV4XxLGqCx9Q55wtG6WlJkdZQ1jQvD8LjhFd9OMlJcE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=lxctiXan; arc=fail smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="lxctiXan" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642243; x=1795178243; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=t4Gx8n26CZ7tGqi+szkZ7Uca47wlQs3Za+MO8JxfDYo=; b=lxctiXandrWh+TGZU5aPH6NYvBIP9RjmQChKq4P5clFaph6uYOFjp5xa ZPJk4VBLrvah6WcdjErTVos3JZgemfwiMolOm/k70Lq/132V+JT7ENbgz uGZXChLwHokFOgLnJsfqGfiSxZvBrwmhsp7S8iq/Il+AI9rKEnvkgjEAd Ah4ToAdHPtVFKvTaNFFnFqRsKi3r6tBECmeiaNXpQn0AhnNEXqMbZdfX8 BicWd6o8URDTNuOURtQlCKH7MPgtfSkWMggGUMDqDalfoowAgt4YhYD2H bEohrSbBPzS3GsippnxCRHrLCgcCMY0ZLdYv32UiFAdjtb9+pT6slvRJr A==; X-CSE-ConnectionGUID: 55Zi1P0qTBy+5OV2srDXrw== X-CSE-MsgGUID: 36qp4uGtTs6Onmdhj0l+jg== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="76037878" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="76037878" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:21 -0800 X-CSE-ConnectionGUID: 4KXtJG/XRPyC0Mna1/zkXA== X-CSE-MsgGUID: 4N9ATYHNSrSU0d3msZBbuw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="190633904" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:21 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:19 -0800 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:19 -0800 Received: from CY3PR05CU001.outbound.protection.outlook.com (40.93.201.20) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:19 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=c4ZgkZD3dZfdfmbwy91wJBoNzxtMtOFkqsC00LaGvT0tNuZlNhmRZ5o9QnqCOGzcuQTIC7QL9F1lm1DDmSHBK8TlKJaMxj4xAxH+u5GJR/kJZ7GxmcyNjB5v1FOiCXD0Gsg3fHjWcKsoCw0IPIkxJBT6JyVQ3Frd56s2T8yE5mZpCUkALYnGyuV1jPDi56+KljEq/+mXnnpC0+KSIlxNDkrS6f5cMnycsW3ZZwnmmjLQ8/NmOes8oMy99sAPMWHYXphFUqZrtKKIWnwQLLtQoWCNiNTm/A28rcM0vV5bAPe5lailM3eJvh3fceEDx+prnZ3WXMQBRrpvgLjIuWv7CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=xVslwVotWzt33S7oO0khZ7LB+QcP8eU1Dp3oGdoAAAQ=; b=SVOkIBpzP5HpxZQOx0sGNhgKk/voMJqXHNGa7MIFPyFpnUDfl3+pDV+f0W7uKn8CngfYGAyMBKrmm/GhUO0DrmDRmpoAEnWYsxawtjQwhIQGQjm408d+UvczlapZVdU6eEsKthV0pYbiu/1E6xHyrziNo8Wb9hLmFjJtUstft1JugHsDacmNC3DSoF3M/hIXPfJZ83uGW4T5yRbLhhbCzgHUOQuyAibQhQf5uUMmmeeXVotMgKEA0YpuCaB11gswygv7hx/DMx5v9Qq0WTfXSyaoebsGa9R5zig7dRqmttt36Tw7VoPLxWs2dM/x2xJIj44yGozFoqYBbYaAnm4e4w== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by DM3PPFC3B7BD011.namprd11.prod.outlook.com (2603:10b6:f:fc00::f49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:18 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:18 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 3/6] vfio/pds: Use .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:44 +0100 Message-ID: <20251120123647.3522082-4-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BE1P281CA0279.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:84::7) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|DM3PPFC3B7BD011:EE_ X-MS-Office365-Filtering-Correlation-Id: 60668499-c5a5-4244-98ea-08de28318ac6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QTVhcXNrOGhTdmlwazdwYk9majdFTnQ0cGlhd1M0WUJkN2p0R2VWYjBUZDBV?= =?utf-8?B?Nm1YZ1djekthNWJiMGlrRGEzRGl3RDJRclpkdmNBeUhXYm9lQXhvRThMRHYr?= =?utf-8?B?cGhIVy9BenV2a29Ba2R0MmRMZkpwTkYvSTJHYU9TaXVjMnBseWJ5UXAzYWNq?= =?utf-8?B?aU81WXYwVUc5Y0VScW0vZk9vMWxaTWlIK1Z3Tm9oQTJSSXZ2dHRLVitBa0Zu?= =?utf-8?B?SWFDeVo1Z0U5NG14UFVnempwTE5rTUNXSzRvWXZGYk5NU1N2Y0svOU1WSHN4?= =?utf-8?B?UFgybDk3bzhwVjhuYzgxclR4b1RmZEVBV2J5enRrcUw4L09ST3dMMVYrWVdP?= =?utf-8?B?aVhPYXViWWJkSWVCVTVLVXFuZ1dGK2dMbEN1dk1kWGdOZGhHSEU1SDJYdGl2?= =?utf-8?B?RW94aFVPeVN6cFdWM1kranR0bmFONG5FbTMyVk5DSktYRzNSbVlqbkRkQU56?= =?utf-8?B?WGRXQktVeXZISWFyVENJczg5V1ZxUXQzZ01EMzJWU096eWZDeHpIaUxWa3dl?= =?utf-8?B?WnVOdk1CdXpoUkhrTkY0dnlyVDMyVEZySFM0LzF5TlNPUXRQeEk0eUN5MUlC?= =?utf-8?B?N0tTQjBRRG5kb1A3VVVHcC83MmtOa1VGQTBMRmxTVVpzUFRZNDN6VWhlU0hD?= =?utf-8?B?RWRqdTUwN1VVYm9vSzBZZy9pNDBTcHBHWDl3bWI0TmNabjllMnZnMzFTWU5O?= =?utf-8?B?cVUxNWFncjZNRWdWd1llV3dzaWFBSkJYQlRxcVpVMHBRMFNTemcrQU9PV2kx?= =?utf-8?B?L0djS293bDJPcFRJTDNDb0pjN1dRYlg0U1J0allwT3JVYVdpdk04Um8xdXh4?= =?utf-8?B?WW9HVjU5ZnZnNlorNHo0SCtqYmtyWTNIbTFDNWJVM1hzOHhrTXB0UFAxaUtr?= =?utf-8?B?Y3BTWDNYRHFQbSttK3ppY1RCN2pPMTNsNEUzb1JhMXJDUnpWL1JxaXVveUJN?= =?utf-8?B?bzNpMStuM0dLYzFyaHRoZlp6aDZaU2NyUEE1aHBUQ1Ezc0dIQWs0ZFFZSTAr?= =?utf-8?B?ZGJjWjlFdmhVY1NZb2UrYmFlV1hxb1ptb3AxRzBxemUzOEp6a0NZWDc3OVVJ?= =?utf-8?B?WDN0M0NycjM4SDkxWHhTUHd1WE1DL2pjNE1hdWJnQlh4TGtxc1liNFV2WVJW?= =?utf-8?B?NDB1Z1puZ1RISHY3ektxTGM1Uk1VSnBJOXVMd2h6TmtWMWxaSWJLbHArTlhn?= =?utf-8?B?Nng4QndTc1NpMGtROTFKclJ4SVVjNGRuUktZdHBjeWdJcUNBUFFDbTNIN2t2?= =?utf-8?B?YTJkR2Npd1I1TncvTGtMOUp0RlNKV3hScXFYQ1QwQjQ1R2dUS3E0VHcrcTBU?= =?utf-8?B?OUQ2b2RWRk5mZ3FSRU56cVFvVDduM2RqaGhNdWdOUlRCRVYwMGZhek14OUFv?= =?utf-8?B?VFBoRkRySkM3ZWp6Z1MwakF3NHVJRGdvbyt4RmZIUU9EbDlWcHdWdnFBR1hE?= =?utf-8?B?eWNyMzJCM2Z3UUNXc3V3aWZ1WTV1akxPL2tORDFwTEFYOXlWVDk2SWEzRnlV?= =?utf-8?B?Q1lPRFFVU3NtbVlZRGYwWWttbFRUSmx5WFoxWmxHWlJWT3V5MUpOOWMxOGpx?= =?utf-8?B?ZHFISHBhaUZONERCNHVpckNQM3FocFhyWlpTQ29DR2hiUzV0cEY1YmhpcWI0?= =?utf-8?B?Wk5YNmpGM1hnNW40dWFYWGwwdDB6UlE2OWdZbXVwQjZxdEs2RDRodnkxMmFm?= =?utf-8?B?bS90dVM3OHdSUUlzZWFjdFBDZ043MHpKdnZ6bWtsdVRBYklzZDB4MEJoZUhW?= =?utf-8?B?MlRNTlo3MDY4ZURXeUV5dE1uQWhldGpCNll3QldiZGQ5VFJYRHh3NkF3U20w?= =?utf-8?B?NmJpZUxwVnU3K05hdHVNMWFJbWxldXNkNXhRWlIyMS9mT0JIMW5yWThpcklk?= =?utf-8?B?M3Y5SytyU2NRajdwZU5rSCtCelZMQWZFL082b05uQ2ltVzBnemRTZ0dFNzgw?= =?utf-8?B?K3UwVktJaWJ1Rlh5WVJGYTJtNlp2UnhsTVloeVNJNzBnNmVFRmR3MlFsME50?= =?utf-8?B?MEJPbUtITFg3dkQ1RDdudnBvWUhoYUNnQ1Z5cnhzMmxEdldhdnhONm1JR0Rn?= =?utf-8?Q?b3UYtf?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NW53Z0Vlb2Z0bmE3Y29KM2ZTcUxlUTlOeDhuMFVRbW5tejBUWEozZ3R0dnA1?= =?utf-8?B?QklQRi9pSC9obE5ySG5qWXVTZnhkN0YxdDI3eVkxZzhEZ3hwTUhsT2VIOEI0?= =?utf-8?B?akROTXJhZGQ2aFhSdnhVbmdMNDRZVEtCbzJ6eEdiMVBFeXRSS0lEc1dPa3Z3?= =?utf-8?B?RW1zenptMGN6Z2tZNlkydE1oMmJmeVNRVnZZRTZnTGF1WkVhSGFGdDlmcVJq?= =?utf-8?B?bzdjd2VwKzJ2VFRvMFZncHRsMmlCcUE2R0RtWlJsY1RYcURacUFKMVVDanV4?= =?utf-8?B?NlJsRlMvTGV4Q3VCVnJielZGN0p4SkVMQWtUSTJNRnVOZzc0UE5URS85TXNw?= =?utf-8?B?elBTNm55cE4xbC85TG41eFN6QmdYU0ZyYklSY2gwbTB5K09JYnZIUXB6VjVv?= =?utf-8?B?VXBycThlVk93cjFkRUs4ek5TRStXRUpqYWV3cWpENFRpV054S29DY1p1Z1cr?= =?utf-8?B?VVhSV2YxY1ZUYld3cjEweTZxdDArNUZLTUkwVitVbyttWnNrR2FsZ0hyRnFY?= =?utf-8?B?QzNPN0hvOWp1dXJFZTJaQWowNlNzYzBGZ1NSbjNZWVlmQjNwdGZlM0sxVUN6?= =?utf-8?B?WjRYWFNoSUE5NU9Uc2QyQjJPSmdwR1ZrUm9OOHRSTStYQnRncXdYWG82NTFV?= =?utf-8?B?V3Y3Q0ViTzAzMFdXZHQwZnhucFFySG9vclBCaS9HYzhCNWZZY3MvTmtBUEpw?= =?utf-8?B?ZVQyc2lPM1lSSGtiMG9nd0k2RHVCQkdUeDhGS2lQR3Q1RElTNmg4NFY5cUsx?= =?utf-8?B?aVduU3BLcXNZMWE5UVBkbzZPTGxaN2o3dk9TYXlxY21QZDZWb0VVaEI3MmRo?= =?utf-8?B?Yk0zZVJLck1xczNqOEZFM3lDdUw0R0Ewc2dyazQrRWY0Q1RUV2h0bmJHem55?= =?utf-8?B?QjM3cEh5cGNNOUpzdEpOQW5xK0hYUDhxaGk1TzZaTDFUS2VTMUwxVjJFaHcx?= =?utf-8?B?ZVYrYnM2SDRyZ0hOa3ZnODhDV3JLS0lYWSt1Z2pBTUpKdkdkTU9XM293Y09C?= =?utf-8?B?OVRVR28vK25TNzFuMlEzaGhwbTYrRnZ5N2dYMGVoR2VCeWp6YXJYc04vdmlr?= =?utf-8?B?OHlJNGptaW93SDdYN3d0b0Jyc253S1MwYTR5OSt0bzE5UFZJclZMR3NGem9J?= =?utf-8?B?VFZmL25QUGFlZENyMFAzZjNQS3M3ejAvRE16Z0RRcjk3UFIySGpwUi9yOWlX?= =?utf-8?B?VkRHRFlHQWpiWCtIbjROMUs0R2V2ZnhpZlRuTnBPVTl5clZDcE9WRklXRUVR?= =?utf-8?B?a2dJUkFveDNKYmxuR2hDc2tjYnlVbnB6UnArcUt2N0grS1dRTDZRUUNvVTNV?= =?utf-8?B?dnVDZlhyczBnTUs1VmpJSmozcUxLcGdHdVVXTXhZaHRpK2FZSldSYUU2MFJw?= =?utf-8?B?enhzZGdRTFVMREs1Z3FKSlJneTNtK24rVHZiOUVLeW4xcUlERzhYTzZNK2Y5?= =?utf-8?B?WmoveEdzVTFYaW56cjhrenVYMDhHcnRDalNlSVJscjFERzB2czRYWnRPUlpP?= =?utf-8?B?OEs0dmZ6WVlUU2lUVExuZXR6end4QXRUcTROZDVYU0pVTlNEbHhOeVBCNmYw?= =?utf-8?B?OGxkZ1hTMmJSWjVVdVZTRVgwRWs5UU02ajhGdElUWVg1b0lId3ZGRzR4UHlM?= =?utf-8?B?OG1zK2tBSkkwcWlnV0x5VWpxM3hwNWIyZFY4VW05L0l5MkgrNG5CcmkySko2?= =?utf-8?B?bWFneXcvMUdKbk5PVjF2RG5kRlRrRkhPdkkwa3hVRGVTZ2N4VlQ1OStjbFV4?= =?utf-8?B?T3ZXS1R2disxbDVqSEg5RHVzbWJRdlBvSUh3Um9BNHRWSTk3NHlvOUlBd0xK?= =?utf-8?B?SFp3QnNhZ1lwQ2Y4cEZFMEtGSGRCSWo0V1Z5azFFWEdYQSs4cUZCWC9UN2c4?= =?utf-8?B?dGZPTGc1dWNPVVh4WHlMbjF4cnBGOFFsYWVnK3ZTQ2JiUXRTZ25pS1g0NjZR?= =?utf-8?B?QW5JTWV6MldZdHd6VTAxd2tUeVNRN01YTHk1SzI1aUlEclo2VFgvRnF2WVVS?= =?utf-8?B?QUI4M2JqU3Y1Z083NzNDVTlNVzhzbERSaWE0dzdZckloOVNlMkxtS3R1RG01?= =?utf-8?B?WXZWTTgzeDdYMFNnOC9lc2FqUWJvMkNybEgrUWdtL3JKTDlSSGlyMUVOZEhv?= =?utf-8?B?dnZNRUVlRW5tZG80RVMwWnplZktxZTJ4S21ZMWVxa2FyQnlVb1l2WmVtVHBy?= =?utf-8?B?T1E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 60668499-c5a5-4244-98ea-08de28318ac6 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:18.1237 (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: QWg6KIoRf2f3EkxOXH8MNia2Fv0E6RNWgkWqHAz9MO30pwb27zCFjw3aeOOaEOmHcro1mnK3KIhT1CV+s20R+ryjGIla1kvZxBrtuV/TXis= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3B7BD011 X-OriginatorOrg: intel.com Move the migration device state reset code from .reset_done() to dedicated callback. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/pds/pci_drv.c | 10 ---------- drivers/vfio/pci/pds/vfio_dev.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c index 4923f18231263..4cf3d2e3767a6 100644 --- a/drivers/vfio/pci/pds/pci_drv.c +++ b/drivers/vfio/pci/pds/pci_drv.c @@ -162,17 +162,7 @@ static const struct pci_device_id pds_vfio_pci_table[]= =3D { }; MODULE_DEVICE_TABLE(pci, pds_vfio_pci_table); =20 -static void pds_vfio_pci_aer_reset_done(struct pci_dev *pdev) -{ - struct pds_vfio_pci_device *pds_vfio =3D pds_vfio_pci_drvdata(pdev); - - mutex_lock(&pds_vfio->state_mutex); - pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING); - mutex_unlock(&pds_vfio->state_mutex); -} - static const struct pci_error_handlers pds_vfio_pci_err_handlers =3D { - .reset_done =3D pds_vfio_pci_aer_reset_done, .error_detected =3D vfio_pci_core_aer_err_detected, }; =20 diff --git a/drivers/vfio/pci/pds/vfio_dev.c b/drivers/vfio/pci/pds/vfio_de= v.c index f3ccb0008f675..6b29641b5819b 100644 --- a/drivers/vfio/pci/pds/vfio_dev.c +++ b/drivers/vfio/pci/pds/vfio_dev.c @@ -101,9 +101,21 @@ static int pds_vfio_get_device_state_size(struct vfio_= device *vdev, return 0; } =20 +static void pds_vfio_reset_device_state(struct vfio_device *vdev) +{ + struct pds_vfio_pci_device *pds_vfio =3D + container_of(vdev, struct pds_vfio_pci_device, + vfio_coredev.vdev); + + mutex_lock(&pds_vfio->state_mutex); + pds_vfio_reset(pds_vfio, VFIO_DEVICE_STATE_RUNNING); + mutex_unlock(&pds_vfio->state_mutex); +} + static const struct vfio_migration_ops pds_vfio_lm_ops =3D { .migration_set_state =3D pds_vfio_set_device_state, .migration_get_state =3D pds_vfio_get_device_state, + .migration_reset_state =3D pds_vfio_reset_device_state, .migration_get_data_size =3D pds_vfio_get_device_state_size }; =20 --=20 2.51.2 From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D62943128DA; Thu, 20 Nov 2025 12:37:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642247; cv=fail; b=DXEsA23v9fTQlV+EOxV3lthyc3kbSZQiL8yd9PCcywxxP66+ORq2NPP1nfETe0oA5rCUKqtMf9P90NoKiJFY44zY11SD9UzlIf2w4uLnp9bbY6DTJ4xZeReUrPrG8fnDhJnU3lt3w+fGnvS5vHnbHtxe16vhwkWFNhcpWoq3ofY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642247; c=relaxed/simple; bh=2SkxTVulthy6uWaGOxmbDZOWxLN2exasqLVURNtHRGw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=V6E1M+mB7flef0F3gA1A2jUeQpTp9l7hGaOyvF72xf5pPtyjHh716NXHgDUmB7T21+eWGdxtNUu7Z/4XNKzLTMFX5gGJ02BfWjMU5AyQLdBad+Vnk9/yRU3V32NaUJYGS1GZ0LbEkzKmkRhDX4BaGJNQ+qsh/u0QfvYM3iBjITc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=csNiPcto; arc=fail smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="csNiPcto" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642246; x=1795178246; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=2SkxTVulthy6uWaGOxmbDZOWxLN2exasqLVURNtHRGw=; b=csNiPctoKD28PfX5E8Gqn8jGauoDJWhRwinEmIsdLBNkpj44fMyoVkSa xWknLJ/JlJGf6HL7PGVNIDsup170J5UVz5xOgUh/IwfOVsdrEACYamuVW Oqr/WcgwLXy86DtboxNte4fhHsgV33xtMpGTq7fDNsetYKhfyZm0TOvBH lc1oUPuyyn35rr9avBbQm0iAoNTWNxwGHlfvLQPOBrwajgNOtJBNyTXyX sWEPLcGLygvOJbWDVBu1wkaqAyDkIvHR6eigSpAMGJADJaGsBOYXhiqdE LV4d/ZUcNoBb+E5G6DE0VMEIeZTp2SjIom+mpzN1hv8CFP1qOcJuO/9cd g==; X-CSE-ConnectionGUID: +5IupLvTQyWysEU49l1A3g== X-CSE-MsgGUID: GdmFSbUgR6eflxh+i7gwnA== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="76037897" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="76037897" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:24 -0800 X-CSE-ConnectionGUID: Ww4qjgjPTT6CK5ZCQonOOA== X-CSE-MsgGUID: pz8g7VgJQ6ukIwv+HVHxbw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="190633944" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:24 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:23 -0800 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:23 -0800 Received: from CY3PR05CU001.outbound.protection.outlook.com (40.93.201.67) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:23 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PCThl/jkMjdcdnr3dx2LvNy9l3XDpq7FeUt7d+h7WBTwp+Xdf4UyPxRbDu/1qyA+7R2NBJU7lATNzzuheF4K4nKzffXcdoJaW51XDacqbWgrF902NOmvM4w1pDvsHGvC0gZagQYGi20EV52nMRfSLJdXJuIlX4wa6wDNlRo9b1bIl6bAbHx7ehYZkl+/r10srKfav+UfNlM8Zzd2wrSCRpcRlYtr58mstrKmkEPj1IgCaY3K9O0IW2cL+KImZhRupN3/++f6DitZVXWKdme40sMPNhqU76idRGG9QqxekGMp/IJiNYehgExE9rdnCqondX2bp5KTbDTZiN+bL4SsGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=aLQKvTxlOtTGiNv4W5sigwR8ALsh5u1shNnPVpQKzAk=; b=JiKa6BZo/XMYgyB01d0ms9pAngCTuhZI2uT0QCnazg7xU19xU5+x0dtven2RBlmQVWALj0zuH+4H/qGNyyHOLnT4JsF5Kv5W92CdKTJXXl3nYE3UkU6ohRINYnGcdyQJGaO276FHEo3f63RyApdXpVpRMcxUk7PW/mUa8jKO0EdrBV2nI1Dk6zBWQ5XCD0oKTTPGiCDfhdNWB7a7n13DerqXBQnbpmVivS/aHk1lxVAi0UzJliMN+Kig9te6dZuLUqOBYFKhR66zpxbZI93jEZD+X6lJShcuyOqzT4IM5LQ1Y9Im2mS2noyZuWWLrujP/+lhB0vxOZZLkOhcldWjew== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by DM3PPFC3B7BD011.namprd11.prod.outlook.com (2603:10b6:f:fc00::f49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:22 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:22 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 4/6] vfio/qat: Use .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:45 +0100 Message-ID: <20251120123647.3522082-5-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BE0P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::13) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|DM3PPFC3B7BD011:EE_ X-MS-Office365-Filtering-Correlation-Id: ebcaaa7d-2871-4f10-5a7d-08de28318d3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ek5hbE41WktpV0FCTUYxdFhQR0NUem4xYi9GZWFPUkVpaks3anR1eVBMeUpq?= =?utf-8?B?dDhSNEdMZnJEUDJQakJ1cTA3UzIzbmxiNlQyUnlIRHUvV3FNeDJZOG1mcjk2?= =?utf-8?B?K3Ezak9JQSsyc1hsa201N0d4OWVUcEk5RkJDY0krditia3hUTlBaN1RoQ2VM?= =?utf-8?B?LzQzYk91MFk2YTRrcGhpemkzN3krZ3ZqWEl1MUxjSmY3K3d5ZjFUR1UrMXNy?= =?utf-8?B?a1ZielYxVlhoTnk5K2wwbFBlNWtIN0hvWW95QTR2MHJSUWU3ZCs3ZjJULzl0?= =?utf-8?B?VjcyWHN6cEtSNkgvcXpIL1JlVUtvemFWMW8rTlNXR2FTTnpNWHZpcjgwK3JP?= =?utf-8?B?NDVGZ1pJS25KR1RHek9LaHE2dHBaNG5FLzdUN2EvbDJ0TFUrSkpkakVqMWN0?= =?utf-8?B?OGcxcWtNU3V6NkZEeUpqaGZ0MGNsQy9JQkhjRlB4TGVRUU9CbHpEcmZJSkUv?= =?utf-8?B?RDF5Q3JNZmpSVG9yOUFVOEpXUUJyQWVNdmV2R0h1OExQcUJGYmNpTzFEMlJW?= =?utf-8?B?TlVqNURrYTlNR2Zlcm1vL3hSRDByc1M4ZUlKbHM3OGRtcVFlcVNoUlZRVEc2?= =?utf-8?B?RVQzOEFDbTJPem9uMlM4R09WZklxa0lCTWY1UCtwejdldlAxSVNlZXJLMjc0?= =?utf-8?B?SllXM29wbTU4aTNsRlphaVRQb0NHVkVmeENLbzM1MDc5S2xQY1BuOW9RcGZ5?= =?utf-8?B?cnJBbWtNRzJ5RFRMMTZubHZlbGNnRkVOcEhwVElibXhTZDRVS1JUWEJXaGFn?= =?utf-8?B?bjZhbHZCQkh0Wms0SFVNdGpFSTJWRTkzcU5KNHN5d052WHBzUldKeFQvUXo4?= =?utf-8?B?RC9tZmpNRVFHVzc5OTNFMExWd3ZqZjJMTDNHNEdSQngvQmpxR21FN0ZadFB6?= =?utf-8?B?NEFjMEhVU0dLbVc0aUdmNDZ6M3F4b1YrTTAvZUtwNXFPNmF5L2J4Q2Nmcmlu?= =?utf-8?B?NlpScy8xNzErbjdpNkYva2FFakoxYkF2RzBXc3hxRWcvUHNyUUEzQ0w2S1BQ?= =?utf-8?B?RDUveTcxNW9kTUpRQ3FTb0ZXQldJRUY3bXMvbzZMWUloVnVROW1qOG4xdWVu?= =?utf-8?B?dzROZDR2SlhkTzNhaFRUMVhsczZid3U3a1hsbE1ra2lyZGFMOVhMZXcyNkpo?= =?utf-8?B?b2VOeVRHclRIcDdtYVAwdUFHc3JyMkszZnNLWHhKU3Z6RTZyYnpnSUZMOHR5?= =?utf-8?B?VUJja3kwZGNoYmRqdDlJNWhLNWt0clFLdWc3Yk8rbjcxeFZRbXYydXFGQ0s0?= =?utf-8?B?b0VQVXhkTVp6YkwxYVFkaC9kVjlNZmZkUUVXUVRkS0dTUnVGeEpjdFBuSDda?= =?utf-8?B?VTJaSXhFUWM5bVN6VzNqaDFLem1MVm9EVktUMWR3M2xhQ2w2UG9ORkE1U3Yy?= =?utf-8?B?V1Z4UEp2OUJiL3V2SjhZdGNSdUV3eXNvYVg5dHFncWxVNlZqZTA2d2k0WlZv?= =?utf-8?B?UkEvUWJCT2ZQcjhkUDdkbW9wTTVuNlBLWUhiV1QzMjJrSDJzNW9uODJTcWJD?= =?utf-8?B?eGNkakl6ZUZOSmVpbWkrVitKMnowM1FaOGR4RzNRZUtETHZpWmd0eW5vZVdy?= =?utf-8?B?RnBIYTdkUmQ2eUdoSTNKeXp3OHBBSU1lRFQ2WVdTVjBERVFsK3diUFJPR2FD?= =?utf-8?B?dTg1Z0NBOTZhRFZ5a1JHRWZ4N1N5OTNJdWl3WEJpQ3ZrVzZ5aGhTbzhrQzRn?= =?utf-8?B?ckNvVW9GRXQxS1VCQ0dudEl5OHc4REZuWStCOWF1d2J2aHJDMi8zM3VjWWpv?= =?utf-8?B?UjY1YXpvMWtnNWdwOWNwWUZ5M2E4SnJmWjhNZlJXSm9JRUh1ajE0aEJRR041?= =?utf-8?B?VDdibHRZUExyaFNueDBBOTM5K2MyRUZkazVERkpOMDNtOUd2QmxBSS9UanQv?= =?utf-8?B?T08zM2JoVzF4bFVxZjZDTE9NQ2MxMkVaVmRzRlF6TStoK0xwVWZMVHZUVlF2?= =?utf-8?B?YitUeVhFUU4wYU9WR3RxcStIK1hvSUdUSVpQOVdyZlFZUUdUQ3hYMXdhdWND?= =?utf-8?B?VitEZnBKRk5pMWtiY2MybU8yZnB1RHFYK2VFNHM1eUQzSENPb1ZUT0FxaEY5?= =?utf-8?Q?2HRe/Q?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K25pV2YvaFRkMkowV0FxQzh6Qys0YVc4T1FNeTBxU1pRbDJDdUJaY2pxSGVz?= =?utf-8?B?RGxpbzhoTURsajh0S0ZuUUQ2bzJ6cXBLeVlTeEJ6UDMwTWdLVFB1K3FHWEJS?= =?utf-8?B?VHI0UDN5VU4rT1NCTDRDWGJLMGgza3FiaUFVV2pnTTBkSTB2RmNjajdtbDR1?= =?utf-8?B?VmtPWVRTTkt0M1NjWk9DdTgrbWpmamFScTZPUlczZURXVTY5UkVzWUsyV3FL?= =?utf-8?B?UWdjUHowWnd4MTg5SGFXWEFGK2ptNFRSbSs2THhYbzBmTURWYzRnczU2c1dr?= =?utf-8?B?VldQeEhaazdTbG12WkVtc3pLMVNvRUZ5c3YxdWRCTy9UaXE5bTBHcFNWK0Nm?= =?utf-8?B?RjdjQlQ2Yk00ZEhlbUtjbFljbE1jdGlyMENGK0FiVE55eTdRWU1aZTFLWGZ6?= =?utf-8?B?RitlOFRqaXN0Wk9kSUE1MFU4RDBZZTJ3SEFkRENOR0E4enBIRDk2REJBMXhN?= =?utf-8?B?cDFvR3FSSzJyc2ZSR01BeEw5eitPenhrWGZQbXZiTFltYWlUckhSUldQRjJv?= =?utf-8?B?eHhvQTQ5VkFxMjFQS0lkZ1Jna25FM2tkQjhWcmR0bHpsTmU2cU1QSWZrdmdJ?= =?utf-8?B?OFJFblhRVzdhL3F2VFJ6Q3RUcmRSUk1sWUhqVUdTOEtxVno1MmZ2OUV0U2tT?= =?utf-8?B?ck1FdUJxT0pIcEw0WnRTMlJWd1pBd1REZlZ4b2NuSytLeW9Wc3hJMktzK0o3?= =?utf-8?B?a3B5Nms5VzYzMXE1TU5GTkxlZzlnVkFMSFM3TW4ycDNWN2RmWEpEalFCeFZ3?= =?utf-8?B?K1BkRnhqS283a1VTeVE3WG1CVDJoaUp6VGZhVUNGUlcyQWQ1SVhQRDFXT21I?= =?utf-8?B?a202S29aRERXUko3MWVBWWVxMHkyZEJHK1ErZjFQUTczVnhwcXMvVGEwSlUx?= =?utf-8?B?elNWQ2oyWTdrZDUzVkwyODlKd0xBNzc2aXJCWXVoakg5RUhTOXdlYUhQRmdv?= =?utf-8?B?MEJWbkdOMjN1MG05T0h6a0xtMWMxVUEwVnlIVm8ra3VGZThuR2FSQ041N21K?= =?utf-8?B?Y1dGSmhjN0w3NDlUU3RVbmFJS3JNdjNITnQ5cTRnb0pjdnpxanJjaDJjVXdK?= =?utf-8?B?SnNqVmMyU3dyd0lOcjVvazlEWWlBcUQwVWVOS3V5OGFUMzlhNk9kQit6MDli?= =?utf-8?B?V0JRSklBTTZQdFZ2OFlkcTA4UnJqTVQ5L2xuWGFpZWErV21mbzdkL1JYOGll?= =?utf-8?B?ZEFZQ0Rrb2owekFxdXowbnE2cWJpdzFvRENwa3Z4Y1FPSFBrUG1FOS83N3px?= =?utf-8?B?Q3QvT2pkTFFRMlVnN09iV2wwUnNDNDAyNWNQZ3FTMG0xYWlkM2ZwcjgzZG9I?= =?utf-8?B?ZmR0QmJ6aGZSWjJrUnNJdkw3QW9RL2VrSkJqNTZ4cFExZFpuT2gwWFFEcFg5?= =?utf-8?B?WDk5SGMwL25DWDRrVnFvcUc2NDhmVkN0SWxTdW1WM3FIWVAwVnNhWGpjMjBK?= =?utf-8?B?cnZXS1JtamdhUSt2QXkyOEtWT2xGR1dhWjFiVW14cVIxMkxBWXpaTyt4b1Nu?= =?utf-8?B?MmpVS0Y4ek94V2Z6YTVGVmNFcFVsbU5vOHlrYWxyb2ltazc1LzhmK1hmUkFW?= =?utf-8?B?Sm4yMERIQW1iakFpNmNQeEF0QWx6ZE5YVUd5UFJLYnZaYmRLWDgwa29mYW1L?= =?utf-8?B?M09vTVlNQ1B0NmRGU0RRNGRrQmUzLzUzRlVuUzRlZXpWYXlObTRsV2Z0dzgx?= =?utf-8?B?SlJPWnllQmFUd2taRm5OMlZnR2VramhYVmFoRWFNN01pQTQwdi9CRXkwN1Ex?= =?utf-8?B?aUR1bkdnYU5jQ2RxVVBiTURqMVRtMGVNbFQ3YUVpVGxUMkdreWdIR1Uydjg5?= =?utf-8?B?Uzk4WDNVU2ZKZXo1NGEzQ3dxN1B5Snh0TUw5N0tOUlpHVCt3RkcrSXJUSWhB?= =?utf-8?B?bXNrYzVEZHF6enduNXp4RVhxeU1HUGg1RWZFSVo3dlZYWXVWTHc4SlYvVTI1?= =?utf-8?B?ZERUMDlSdlZ2c1ZHR1BhVzdMWFhkczBZYUJpc21QclN4QmdtWmpnSnZxYlRH?= =?utf-8?B?cHU0ZE4weEJ6N2Fxa2lyT3VjZGhEWXZRclEwWTVpdWJGL29vcmNoVFREUlo1?= =?utf-8?B?bnMya2t5YkJGaWJpMEJYUjEzZUlYa0QydkJKbGZuMi9TTlRCSGhNVGFjdklC?= =?utf-8?B?SGd5dkxPUXVhN0pZM2s5SWhlOWFJQWd3Zk1aWnlXdGNlMGoyOHZsTy85SEVB?= =?utf-8?B?YUE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: ebcaaa7d-2871-4f10-5a7d-08de28318d3e X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:22.3577 (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: CqwWwRQWdtoU8Q9dV62I7v0OC0l6gTQJnZ9OAWg1BEmoqYCZM77SugqNOVVjw5bGJIP5TurkPr7I6z6T/3/4/9Tf/sLOj+79WzycwHJdmXo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3B7BD011 X-OriginatorOrg: intel.com Move the migration device state reset code from .reset_done() to dedicated callback. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/qat/main.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/drivers/vfio/pci/qat/main.c b/drivers/vfio/pci/qat/main.c index a19b68043eb2e..fe65301a4cdc8 100644 --- a/drivers/vfio/pci/qat/main.c +++ b/drivers/vfio/pci/qat/main.c @@ -474,13 +474,6 @@ static struct file *qat_vf_pci_step_device_state(struc= t qat_vf_core_device *qat_ return ERR_PTR(-EINVAL); } =20 -static void qat_vf_reset_done(struct qat_vf_core_device *qat_vdev) -{ - qat_vdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; - qat_vfmig_reset(qat_vdev->mdev); - qat_vf_disable_fds(qat_vdev); -} - static struct file *qat_vf_pci_set_device_state(struct vfio_device *vdev, enum vfio_device_mig_state new_state) { @@ -526,6 +519,21 @@ static int qat_vf_pci_get_device_state(struct vfio_dev= ice *vdev, return 0; } =20 +static void qat_vf_pci_reset_device_state(struct vfio_device *vdev) +{ + struct qat_vf_core_device *qat_vdev =3D container_of(vdev, + struct qat_vf_core_device, core_device.vdev); + + if (!qat_vdev->mdev) + return; + + mutex_lock(&qat_vdev->state_mutex); + qat_vdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; + qat_vfmig_reset(qat_vdev->mdev); + qat_vf_disable_fds(qat_vdev); + mutex_unlock(&qat_vdev->state_mutex); +} + static int qat_vf_pci_get_data_size(struct vfio_device *vdev, unsigned long *stop_copy_length) { @@ -542,6 +550,7 @@ static int qat_vf_pci_get_data_size(struct vfio_device = *vdev, static const struct vfio_migration_ops qat_vf_pci_mig_ops =3D { .migration_set_state =3D qat_vf_pci_set_device_state, .migration_get_state =3D qat_vf_pci_get_device_state, + .migration_reset_state =3D qat_vf_pci_reset_device_state, .migration_get_data_size =3D qat_vf_pci_get_data_size, }; =20 @@ -628,18 +637,6 @@ static struct qat_vf_core_device *qat_vf_drvdata(struc= t pci_dev *pdev) return container_of(core_device, struct qat_vf_core_device, core_device); } =20 -static void qat_vf_pci_aer_reset_done(struct pci_dev *pdev) -{ - struct qat_vf_core_device *qat_vdev =3D qat_vf_drvdata(pdev); - - if (!qat_vdev->mdev) - return; - - mutex_lock(&qat_vdev->state_mutex); - qat_vf_reset_done(qat_vdev); - mutex_unlock(&qat_vdev->state_mutex); -} - static int qat_vf_vfio_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -683,7 +680,6 @@ static const struct pci_device_id qat_vf_vfio_pci_table= [] =3D { MODULE_DEVICE_TABLE(pci, qat_vf_vfio_pci_table); =20 static const struct pci_error_handlers qat_vf_err_handlers =3D { - .reset_done =3D qat_vf_pci_aer_reset_done, .error_detected =3D vfio_pci_core_aer_err_detected, }; =20 --=20 2.51.2 From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 700A8339704; Thu, 20 Nov 2025 12:37:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642251; cv=fail; b=jOFT802Ksb7W9PZfFfd8mA3emBeAT2N/OxO55o8RdgNlpOobc2Xlr00LvqGpD9s6QqpROPyZDHYVP6PpNwMyAnJWPMlqpld3coYiTeDqruO7IW4SBsDMmJReV+ztTIYRFubqX/vMZzHI5THnrmMrmZg1wEQaqhw0TjHvQwWHtCQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642251; c=relaxed/simple; bh=K/EkXuscocY0qgPuuCGp142l8bLU3QQHdE9PaBYRDJI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=E8vdS6VctZQqeexbOtvfAnNnLTvjIHdTxFMsOyBsuVBPqQA+KQROQViIaOcdnNAiV9BDpOh7N4F3uwr4nclfNvIUvi6gevVb2x9Sm25Ma4VyiAAYgQRccQt4bJBefc82pqzYNRE1SpugVlwXNZUFcjWoW91vrb/vbd6W7GZcQeY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=iR7rKf5V; arc=fail smtp.client-ip=198.175.65.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="iR7rKf5V" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642250; x=1795178250; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=K/EkXuscocY0qgPuuCGp142l8bLU3QQHdE9PaBYRDJI=; b=iR7rKf5VIsyB/dXDhJhpGkUDVf35x2LCDXa+WE+2Vwu2Xb2IHRvb8v7X VQHkC7+0WktfJCQelotBgCVMQy/JubrpLZlcDxJnIkSbRzJcFEfpWbp8F Z+Mxynj6xLdkzKKMMDL2613YE4Tjnx+IblhN3p/h794cpP53TubB/x1m3 4NDi9fguj+7p/I6Tcn1E4CyJClk1JFYmDbaXHDG4Vu41SzSEey/RbG5F/ 8jkFuXIlQpsffMUprvWBXCQltmx7wo4+Msq5Bow9TCZFwd6L4VUkSzcyT sxalveF2FC2HZaVY7yLt4Jp2objL1M32oU+cGwn9SMY1zO6p/WvwiCvC6 w==; X-CSE-ConnectionGUID: Kn0i/9EmQQ2UBohUfmz27Q== X-CSE-MsgGUID: wYGYws63Rce+8lA7tNDLGA== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="76037914" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="76037914" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:29 -0800 X-CSE-ConnectionGUID: acRXMfIPRJ6h0v+nE9o6pQ== X-CSE-MsgGUID: TrmbzVilS0K1Zo4HOtaoaw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="190633977" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:29 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:28 -0800 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:28 -0800 Received: from CY3PR05CU001.outbound.protection.outlook.com (40.93.201.23) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:28 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g+0lrLP7bVlNfPMYJQh/GT58hEEgZwjbTJ+aZnm7UZcm+fapy26S8Vj9AjrqMNP+Ycbg4Pk5qE6RLSmBOCG2R8qQnFaX0fi5AVV3Jt2In0ckaiMYMCcy8d6EC94ZPEnx+edpXB/uoVaE5EEvNwruQk64yImCB3e4PAYm5Ft4jHXAQIwip1IlJ+IHVm9JW8wIppnQVJPjpzn2lFLcKG0EfDECaTgY9hQYws71pYAZ2yegvl2JkiyvmK5IN5wI5fw+xr/hMx7+eNHU8TWx0oabvsTXphoS43vFcy+IY7QrEmurcX5C6wW5MaO14YvWkyJjeRjT+Zax+AGvUzqSCBn3RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=HVWrO7eAv8uA8ZmIB3RTXasCD9+WcBvhwiRp9i7B6w0=; b=RBQFUH/bwQOFZxFCvJjfqI2QzqS9UcyloLLm8euScMz71V9c0aOvejL7F/7oJ2R4zQbsqPxMb/bxI9bmkhZsBwo9jhIprJYARH5WxcbayH/XaCu+WMeNDW/yd5mVmDwX1lEuk59oZ3k1qyg1KntJN4K6qqcYK4bWGh/RFAc9ie5+0itgxxOf3+zb0X/xP9kYdo3pt+XMg0s4xOqZiNOndXEDz9KP5x5Dk52dAY1FFz5sXLadnHooi3cJleGPr/jE2SfsogXGPoaFdndCXA7VHrAk3CoJKz4IrKLbBBbgh0zpMxZBYcSS7k/cVaFHkFnf+dDv6NhkjOkAW+FrktveBA== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by DM3PPFC3B7BD011.namprd11.prod.outlook.com (2603:10b6:f:fc00::f49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:26 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:26 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 5/6] vfio/mlx5: Use .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:46 +0100 Message-ID: <20251120123647.3522082-6-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BE1P281CA0283.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:84::9) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|DM3PPFC3B7BD011:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e2cb308-f2e9-4022-05d5-08de28318fe4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YUkwZWM2NUJQY2IrdkJGLzA5TkNzeHlIeVp6c2hobTBMTmwwcHUwWTRkbkhi?= =?utf-8?B?QXM4L2Y3dGFySlJwK3pMNGJIaFNvdlR3dkpZSGZEYWRtbzhDMjZyRVlFVmpC?= =?utf-8?B?NDh3dmZaajZwTE1tSlJNZVpaTmdKbS9tTUhyOGRNOEk5QXJGT3k1dFVuMXlj?= =?utf-8?B?dVZ5YWpZeVRvRkpWT2J2M0dZY2ZXZkIxMGl6UXpHQnV4VTNxODRhNkRITFNt?= =?utf-8?B?TGcwWEU2NDhPYW12UTRyLzFOcDl2NXJvb3N2VGdoemNGaktoNTUvZUhFNnF4?= =?utf-8?B?N0Ztc2xBRnJ6bUFkWStlWjNWUjNUSWR4TkRSaC9ZRTNXNmJ0aDdZZHpEcGJD?= =?utf-8?B?RnBpWStqQnhxSW5QbTBmWDg4Q2dUNkd1Wko1VmFLUDRpUmpWQllRU3g2dG5u?= =?utf-8?B?Tkdsc3VzQ3RUcmgyaG0vMU00TVZrRitVMjhqdUFkc3B1Vkg3QkFwOUlpc0Fl?= =?utf-8?B?K2pyRWdLbGpaNXRHbmsrVmlnVzRjZFFrcnRMZDhzV2xaUmcvZ1VzKzVlWW1W?= =?utf-8?B?YXZjbFI2ZUw1VWYvVGJXK21rSWNoQzhzSTEwcjhDemNyMDZxa1JVZEdsQTFu?= =?utf-8?B?Wk1DR1RIdGpFTDZ6SzVHd0JEaFhmM0JGOUpaOW9GRFNDSkI2aGdPZmZHVDBY?= =?utf-8?B?bFZlVUk3Ynd4anFrUmMreDViL0tHcmdvTGhOY2w0RGlEd2N5K3lpVEE2Snlp?= =?utf-8?B?MWpLYWt2b25iMUxZYm4xMXdydC9sUjZvdHY1Z0srWDQyYjZJL0RoRld3eTk3?= =?utf-8?B?T21WNHhyclJ5WGhQTWplalIwczdMdTlLSWg2UFhKVlhDMHR0OUtuUEF3UTdK?= =?utf-8?B?a21ZWjZCNS9qb1ZnbWFnR29UN1FkZWdPc2FiWVdWQmFWckRNWDh0S0ZuM3hK?= =?utf-8?B?N1BmUUZNVmNBdml1Tjhvb09FUUhYV0I2K2pHQ2FnK1o1eU5hem1XYXE2WjAr?= =?utf-8?B?TGk3VmNHY2MrczJacW9mTjVhcWNoOWtBYW1wbG0yMGVNS2JmZUpvRHlFZG5l?= =?utf-8?B?akwxY2Z0bTFqSEV5bVF1RG83d2NQRHJ3U2hmYzVabDZEcG1CdlhBMEhuaGdS?= =?utf-8?B?YmJLNjkydHgzZVB2UzQ0SExqc2h0SVgrTWdrUUhicXlkNVAxeUNmL3gvbTNF?= =?utf-8?B?NlRYNi9ISkZONGJhOHVicnh2ZzBzNXA5Z3N5UGV6ZVdXaXZhN1lQb2pxaVdw?= =?utf-8?B?S3BIbC9VSlZhMDFKZ2s3dUhTc09aQTZ3SDdsbkp5aW5aVitEQjBtdlV0N1lV?= =?utf-8?B?S0FWSGQ0UVRGdWptY0NCVk9iRUY0eWNyc05Qcm5TLzFFem5mU21pa0U2VTlC?= =?utf-8?B?K3ppRmtoNUd0Y2xWMWJhc1RIdVJ6YnJnb00vOGJFcWlzSnpCUk1pMzNwRXg3?= =?utf-8?B?UU5ES0tmR2tuTEh0ekdPS1ZOWDNVTkVVUW40WWFqaHVRQ05zS1IxM21sdzdQ?= =?utf-8?B?T1FmckJJWktZYXR1NnVCdlk5dHVPRSswbmVPSWxnd2tIV1o4eXBCNUZJNDhm?= =?utf-8?B?eWFhRk1FbUgyZ096LzMrakNNblk5RVRqUEVrdFdmc3BQNmJRQXhhTEFtbnIy?= =?utf-8?B?Y1MxYU1YMmpOY0NUTnNva1dWTlNMQk12TVpFUzRycVVWZ0plYlBQYnJNdkNr?= =?utf-8?B?OTJDSU4vcHE2NDFqVGZWN05hb3pwSGJYaGVwMjJpTmtnUDh0amhhRVRHNlpr?= =?utf-8?B?T3I0SXZ2ODk3VnRQcWU0RWxGQmJBZ2IydlN6bWNGZkJNQWpQaEdGc1hsNi9y?= =?utf-8?B?aVBKRVNicVhyOEgzOWEwOTNJSGNTdEV4cnUvbUdRREVtcE1LM3p4Z0xXZmp5?= =?utf-8?B?eFpOcE9kVWt1YnYyYzlhTVlKbDhyVTl4V2xabEdhblR3ek1sUkkrWWV3KzFR?= =?utf-8?B?enZtd0Z4b2JqMStGT0xSYTk4YzBOdVl0L2NocDdmajJoU3UxRThzc29VcWt4?= =?utf-8?B?SDNZQzBGVUpKRGlpb1hGTmdHL09vMGJkUEdGTjFGNXZ1a3pncnVQU2ZkSFBN?= =?utf-8?B?VHZ3WnIwQlBzMmhRZGo2KzBJa3J2cWFyZzNxK0h5NWRGTUR0Qll0U29FWU1C?= =?utf-8?Q?Yhr0nf?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y1F2VERTNm9jbnczY2M1enh6N0tUekNxdGllR3lLZGtnTXg0T1pneVNBSkp4?= =?utf-8?B?aVUrLzJuR21PWEVTQnFBRXlLemdJcllmb2Q1U29TMk02TW9jTVJ6K2o4TVg4?= =?utf-8?B?YWxtNWtRelBWY25YYWVGUzVRVHJlNVlSaitrbVZMKzBsUzFZSjM0RHZ2S1BM?= =?utf-8?B?YVo0UFBKcE5LbFE4anAyYWZlMmJWb2lXMXN2aUVUY3lmQ1ZBd2FHYk9kZWRw?= =?utf-8?B?V3A1Q3NNMEhuUGxaU2x1alVCcXFPYVpjeWpya01CREJ5Z2VsZTRmWmI2TXVp?= =?utf-8?B?OGMyaVR5MTBLMU1zQ0VvMGNwVXFTY2hpY2FMcmNLNUFxbUNxOWZnL3l6bVYx?= =?utf-8?B?OThNZ1BLTzJxOFp0MDdWRmxvR3J3MWRxNnpBSWlOU055ZlFwaC9PZjhnMHpH?= =?utf-8?B?R2J5RExBQ3V6ZXhFUVlqUmtlMlZwR1Nrc2FHR2czUnZHMGt0ek5nVXNORGZ4?= =?utf-8?B?TEc3VDg5a2RyQnFvVWZVbUZqdGl5L0djYzJUVjRXbXIvK0dnUlp1VjR0TDI0?= =?utf-8?B?T0c2c04vTUEvTUlHYkNHUHhFUGl0QmNmdFRHUERFNUVFWWZua0JRQ0lZSldG?= =?utf-8?B?WFZBOGNveThNWnNqZ1JDbmFGbFMybExkZm1tWGtGZCtXNnlYMDh1MTk2WFZx?= =?utf-8?B?clVPOFZxOGdaaTMzQzRqbDJ6SHZXZUtKaldQL00rRmxaWmd0UWQzZnVHTG5T?= =?utf-8?B?UjlUdzRoOE0rSnZud0RQK3JlZWt6SFdxQitKWUtUWUFZMVVNcERVOWFjZjNw?= =?utf-8?B?Z0lrYm01OGZyMWpGNW5HaFg5VDkzdW9Ham5xQklVZk4wVTlLZkFPWENKQm9i?= =?utf-8?B?ZFdIbFhtSkRFVXppSG4weW01Y3o5QXlWcGgrREtKQXBQTnU3SUxVUlpmUmFu?= =?utf-8?B?SlBUSVNNSisrY21vc05lUUFNaXRCTERJVGs2UjllaVlqeWJrSVEwQUtvbC9X?= =?utf-8?B?MUhpZHVNTnhoSm0wMm9LVXRPUFdoSXMzSWNEQWR4U1YyK0tveTRRMTJYZUpK?= =?utf-8?B?SldjWU1iSUVzckxkNWhreWZYdHJMZ3N3QmVTcFJOV0UvbmwranphVmU4Qmhk?= =?utf-8?B?OWpLYi9JTFNSNHhpY0s1RnBKdHdYOUNPUHJrTE5mRnI3RUVNL1FTRlVYakhS?= =?utf-8?B?emd5b0ZtRFltdlNtOThwUnd6RnkxaFArVmlHMzJsSXdqQ0lGMlF1b250ZzN2?= =?utf-8?B?VmgwVGxyZW5mRVhLQTM1Q2M1QTdHR3dNd0V4Q1JpQjlTK1Q5NzBZbXphM1hN?= =?utf-8?B?b1o4NHZhODA3bDZibTZCZ29DNGRaU1c5NVkzWEpTNkhlNEgyZTladEpFOVpH?= =?utf-8?B?OTEreUZyVGdnK0lsNTlmRTBiNVBQTUs4ZzI1ckdIR0NsMHJOakRZYVJ3MjAv?= =?utf-8?B?UnMvWUdTSDZJc3JrZ2ZHd2RydnhNa2xhQ2syUEgrazI2czhlWVlyRXVQWkZH?= =?utf-8?B?N0hrNGNtN3Qwb09DQzhGaGdoek9RaUFUM2dSa3IxaUVDVy8zKy9mZjRnNUpv?= =?utf-8?B?bVFZOTNrUXY2V0Y4MG5WQ3lvUENsVndGOUN4M0ZlMUtOMEZyYldhUVpDd09j?= =?utf-8?B?MUlBcTAyMTE5VGJjS1drckVqYUM1cmkxYkhMZmdqZ0g4RE9TNFpvTCtiMmVI?= =?utf-8?B?NU4yTWw3NHVaek9aM3VxZmVOTFR2dGtxQlJ1TUxGUWRVS1JqRjkySHEzTlJI?= =?utf-8?B?dlNUVXRvNHpZQ21MNkR5WFdBNTBIUnZMcjdsWUk4YkNyVWdEcnppTGhubXNs?= =?utf-8?B?MmRtakp3aGpVSkZPeStoMldBeThVRWRZN2ZFWTRGNEwyNFFEQzEwNytNdEpM?= =?utf-8?B?RStXN25pc29iaUxxbmd2RnJHNU9QeHVicVdXU3NxZUV2Z01TUU0wR1JNQVBV?= =?utf-8?B?dktpVmZ0RHpqSGdRYmRRV01JcC9sV0hvODVWSEVQUmdyUlA4NWpjRXB2dVZ1?= =?utf-8?B?MzZMWkNrTHBOdVFNRk9HdXVYT2phOWVMZFgzVmUzaG5QR05XcUw0U2p6VlB3?= =?utf-8?B?MHpGYzVmUkRFY1UwaGNLT0VROUg2c09neGhVTlUyN1EzRDZlNWZqNUR4L2R1?= =?utf-8?B?dkd0Y3N0a1kxY2taa25hcDVGTytPWmJtVTFvbTlPbUVGc0FEQzQ0SWV5MmEy?= =?utf-8?B?UjhkditMeGtTNlBnRmJzSlNodlBzWmJYdUxBdmhYL1RkdDNycEpEdnZrSjNJ?= =?utf-8?B?b2c9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 1e2cb308-f2e9-4022-05d5-08de28318fe4 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:26.7354 (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: Xy/cGXs/Tpi3g0l8tBX203q+1hr4xGcG4qBrMSi948dLU0pL2N6V+OgihcgkBpYPP2NaF5eXPnt3XuL50ebKSJsFTHcQZKoCe5TIaQTR7PA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPFC3B7BD011 X-OriginatorOrg: intel.com Move the migration device state reset code from .reset_done() to dedicated callback. Remove the deferred reset mechanism, as it's no longer needed. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/mlx5/cmd.c | 15 +++++---- drivers/vfio/pci/mlx5/cmd.h | 3 -- drivers/vfio/pci/mlx5/main.c | 59 +++++++++--------------------------- 3 files changed, 22 insertions(+), 55 deletions(-) diff --git a/drivers/vfio/pci/mlx5/cmd.c b/drivers/vfio/pci/mlx5/cmd.c index a92b095b90f6a..de6d786ce7ed1 100644 --- a/drivers/vfio/pci/mlx5/cmd.c +++ b/drivers/vfio/pci/mlx5/cmd.c @@ -178,13 +178,13 @@ static int mlx5fv_vf_event(struct notifier_block *nb, case MLX5_PF_NOTIFY_ENABLE_VF: mutex_lock(&mvdev->state_mutex); mvdev->mdev_detach =3D false; - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); break; case MLX5_PF_NOTIFY_DISABLE_VF: mlx5vf_cmd_close_migratable(mvdev); mutex_lock(&mvdev->state_mutex); mvdev->mdev_detach =3D true; - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); break; default: break; @@ -203,7 +203,7 @@ void mlx5vf_cmd_close_migratable(struct mlx5vf_pci_core= _device *mvdev) mutex_lock(&mvdev->state_mutex); mlx5vf_disable_fds(mvdev, NULL); _mlx5vf_free_page_tracker_resources(mvdev); - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); } =20 void mlx5vf_cmd_remove_migratable(struct mlx5vf_pci_core_device *mvdev) @@ -254,7 +254,6 @@ void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_d= evice *mvdev, goto end; =20 mutex_init(&mvdev->state_mutex); - spin_lock_init(&mvdev->reset_lock); mvdev->nb.notifier_call =3D mlx5fv_vf_event; ret =3D mlx5_sriov_blocking_notifier_register(mvdev->mdev, mvdev->vf_id, &mvdev->nb); @@ -1487,7 +1486,7 @@ int mlx5vf_stop_page_tracker(struct vfio_device *vdev) _mlx5vf_free_page_tracker_resources(mvdev); mvdev->log_active =3D false; end: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return 0; } =20 @@ -1589,7 +1588,7 @@ int mlx5vf_start_page_tracker(struct vfio_device *vde= v, mlx5_eq_notifier_register(mdev, &tracker->nb); *page_size =3D host_qp->tracked_page_size; mvdev->log_active =3D true; - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return 0; =20 err_activate: @@ -1605,7 +1604,7 @@ int mlx5vf_start_page_tracker(struct vfio_device *vde= v, err_uar: mlx5_put_uars_page(mdev, tracker->uar); end: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return err; } =20 @@ -1787,6 +1786,6 @@ int mlx5vf_tracker_read_and_clear(struct vfio_device = *vdev, unsigned long iova, if (tracker->is_err) err =3D -EIO; end: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return err; } diff --git a/drivers/vfio/pci/mlx5/cmd.h b/drivers/vfio/pci/mlx5/cmd.h index d7821b5ca7729..e36df1052cf5e 100644 --- a/drivers/vfio/pci/mlx5/cmd.h +++ b/drivers/vfio/pci/mlx5/cmd.h @@ -170,7 +170,6 @@ struct mlx5vf_pci_core_device { int vf_id; u16 vhca_id; u8 migrate_cap:1; - u8 deferred_reset:1; u8 mdev_detach:1; u8 log_active:1; u8 chunk_mode:1; @@ -178,8 +177,6 @@ struct mlx5vf_pci_core_device { /* protect migration state */ struct mutex state_mutex; enum vfio_device_mig_state mig_state; - /* protect the reset_done flow */ - spinlock_t reset_lock; struct mlx5_vf_migration_file *resuming_migf; struct mlx5_vf_migration_file *saving_migf; struct mlx5_vhca_page_tracker tracker; diff --git a/drivers/vfio/pci/mlx5/main.c b/drivers/vfio/pci/mlx5/main.c index 7ec47e736a8e5..ddc6fa346f37c 100644 --- a/drivers/vfio/pci/mlx5/main.c +++ b/drivers/vfio/pci/mlx5/main.c @@ -325,7 +325,7 @@ static void mlx5vf_mig_file_save_work(struct work_struc= t *_work) err: mlx5vf_mark_err(migf); end: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); fput(migf->filp); } =20 @@ -544,7 +544,7 @@ static long mlx5vf_precopy_ioctl(struct file *filp, uns= igned int cmd, } =20 done: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); if (copy_to_user((void __user *)arg, &info, minsz)) return -EFAULT; return 0; @@ -552,7 +552,7 @@ static long mlx5vf_precopy_ioctl(struct file *filp, uns= igned int cmd, err_migf_unlock: mutex_unlock(&migf->lock); err_state_unlock: - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return ret; } =20 @@ -972,7 +972,7 @@ static ssize_t mlx5vf_resume_write(struct file *filp, c= onst char __user *buf, if (ret) migf->state =3D MLX5_MIGF_STATE_ERROR; mutex_unlock(&migf->lock); - mlx5vf_state_mutex_unlock(migf->mvdev); + mutex_unlock(&migf->mvdev->state_mutex); return ret ? ret : done; } =20 @@ -1191,25 +1191,6 @@ mlx5vf_pci_step_device_state_locked(struct mlx5vf_pc= i_core_device *mvdev, return ERR_PTR(-EINVAL); } =20 -/* - * This function is called in all state_mutex unlock cases to - * handle a 'deferred_reset' if exists. - */ -void mlx5vf_state_mutex_unlock(struct mlx5vf_pci_core_device *mvdev) -{ -again: - spin_lock(&mvdev->reset_lock); - if (mvdev->deferred_reset) { - mvdev->deferred_reset =3D false; - spin_unlock(&mvdev->reset_lock); - mvdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; - mlx5vf_disable_fds(mvdev, NULL); - goto again; - } - mutex_unlock(&mvdev->state_mutex); - spin_unlock(&mvdev->reset_lock); -} - static struct file * mlx5vf_pci_set_device_state(struct vfio_device *vdev, enum vfio_device_mig_state new_state) @@ -1238,7 +1219,7 @@ mlx5vf_pci_set_device_state(struct vfio_device *vdev, break; } } - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return res; } =20 @@ -1256,7 +1237,7 @@ static int mlx5vf_pci_get_data_size(struct vfio_devic= e *vdev, &total_size, 0); if (!ret) *stop_copy_length =3D total_size; - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return ret; } =20 @@ -1268,32 +1249,22 @@ static int mlx5vf_pci_get_device_state(struct vfio_= device *vdev, =20 mutex_lock(&mvdev->state_mutex); *curr_state =3D mvdev->mig_state; - mlx5vf_state_mutex_unlock(mvdev); + mutex_unlock(&mvdev->state_mutex); return 0; } =20 -static void mlx5vf_pci_aer_reset_done(struct pci_dev *pdev) +static void mlx5vf_pci_reset_device_state(struct vfio_device *vdev) { - struct mlx5vf_pci_core_device *mvdev =3D mlx5vf_drvdata(pdev); + struct mlx5vf_pci_core_device *mvdev =3D container_of( + vdev, struct mlx5vf_pci_core_device, core_device.vdev); =20 if (!mvdev->migrate_cap) return; =20 - /* - * As the higher VFIO layers are holding locks across reset and using - * those same locks with the mm_lock we need to prevent ABBA deadlock - * with the state_mutex and mm_lock. - * In case the state_mutex was taken already we defer the cleanup work - * to the unlock flow of the other running context. - */ - spin_lock(&mvdev->reset_lock); - mvdev->deferred_reset =3D true; - if (!mutex_trylock(&mvdev->state_mutex)) { - spin_unlock(&mvdev->reset_lock); - return; - } - spin_unlock(&mvdev->reset_lock); - mlx5vf_state_mutex_unlock(mvdev); + mutex_lock(&mvdev->state_mutex); + mvdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; + mlx5vf_disable_fds(mvdev, NULL); + mutex_unlock(&mvdev->state_mutex); } =20 static int mlx5vf_pci_open_device(struct vfio_device *core_vdev) @@ -1325,6 +1296,7 @@ static void mlx5vf_pci_close_device(struct vfio_devic= e *core_vdev) static const struct vfio_migration_ops mlx5vf_pci_mig_ops =3D { .migration_set_state =3D mlx5vf_pci_set_device_state, .migration_get_state =3D mlx5vf_pci_get_device_state, + .migration_reset_state =3D mlx5vf_pci_reset_device_state, .migration_get_data_size =3D mlx5vf_pci_get_data_size, }; =20 @@ -1417,7 +1389,6 @@ static const struct pci_device_id mlx5vf_pci_table[] = =3D { MODULE_DEVICE_TABLE(pci, mlx5vf_pci_table); =20 static const struct pci_error_handlers mlx5vf_err_handlers =3D { - .reset_done =3D mlx5vf_pci_aer_reset_done, .error_detected =3D vfio_pci_core_aer_err_detected, }; =20 --=20 2.51.2 From nobody Tue Dec 2 02:05:18 2025 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D893532F751; Thu, 20 Nov 2025 12:38:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.14 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642286; cv=fail; b=m6c09HgLp/cswvq95MefG9Iph/K/9QIDhALXseUe3DneVMwdVJKYMdelwd+PqFtOLzfJnymk4SpWWm3S7hxFxFzRg5YLbWqO66ltfVbqgX6iI7GsV1Dg25D50rveiQRn7SIT7QZjQrwWfLXaPSzjvr10pEbHvOWktEhaWwMs4tQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763642286; c=relaxed/simple; bh=r7P0rec1NhIh79hdr7JNM3Rdut3BsAgZFydLhrk3E6s=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OhOMiYxgh1Bi9IaYbgaopOyQdpNkfGwg/S5otZ0UiqfmrliUd9aePhv43e1Tb+s3disgH6uB9kbXi8CyI5RQBBd7TTL1EmCWWoU33TefCUaMIVZ2DAx0jXtr0vOgFm5bJN0cbASxp+nMznJRnuOIIZd1xXo+Rq2ZzlGhWUSuLs8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=FFeHbgMe; arc=fail smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="FFeHbgMe" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763642282; x=1795178282; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=r7P0rec1NhIh79hdr7JNM3Rdut3BsAgZFydLhrk3E6s=; b=FFeHbgMeH6AcVoyfRgBBneX+IMq+BN7xdeTUZWpkiBu8Ms8Fp6keOIac qtAwSnxgP85HN4QpHyOPp+1dAfj1BQHu1l2b1kBKR7Cq2wT2SRJtMWfWM Eq9OcMD7GAXdEjxzjsdJfJ3PiV8C5ue/nWbMkdDDtsewBJWi49Et+oOup 7u00EczuUW/aP/2iozN2GN2YyIgIE9WPz3UbhxSsLeOt0bRoq+IsIMyb/ I6KNtQwGwWwjuEI5uo/SL3oW56e+pSHZ/go4+SkCZmVEtPVUW75JqZM0E CvFCy2KR+C+o/xCmmCPJMULsRyiaoXx61G8zKsEbu38lSAyIj5jS7ernU Q==; X-CSE-ConnectionGUID: zXQpKs4rQ3aPS4TZYy4uJQ== X-CSE-MsgGUID: hXkjsa6wS+C85R4LbpYjkA== X-IronPort-AV: E=McAfee;i="6800,10657,11618"; a="69565185" X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="69565185" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:36 -0800 X-CSE-ConnectionGUID: B3xwiEVCSc6QYydEjwQBpg== X-CSE-MsgGUID: qgtMs9FvTmum+4EW9WBWzg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,213,1758610800"; d="scan'208";a="191034278" Received: from fmsmsx903.amr.corp.intel.com ([10.18.126.92]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Nov 2025 04:37:36 -0800 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:35 -0800 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Thu, 20 Nov 2025 04:37:35 -0800 Received: from CO1PR03CU002.outbound.protection.outlook.com (52.101.46.22) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Thu, 20 Nov 2025 04:37:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WnYUaLvQinQ2IvoW3JfShUFe4fofysnzb1z+KFDIoKsghliKtmef7Rv08X84OUxdsRb8xIWSaYSQlf6918k0Q7DGqM0RBiVsKOMHDhBU1+6Pec5TLw6Svjt9OconYMCNqyZr1nq9UUgHPsJ1D8lcTAPOFDALf9TVQTEY1iUWzOHdj6clsLn9+OhrGO/7QdsJMc5op6s3q1+VEKnviMbOgTljyWEDo4KHAkai+iAoKLFAvOWhaLSHuxkS/niVXeW23rhMHrzMPKfo7TMMqgtRYyI6REteefXVmsfnfPxsv+lbVVG+L1S6JxmmcLTySFloxa7lvoVG2YZ5ktOuCeIPbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=GtOhmoDknTlRNKh1Tx2SKpxJ8ZqsiWa50UfUeFRcPmc=; b=QHSlJF+oF4CB4sPoR3H8HY70XRBgEixmMgOK+3WZigkHFQ2wZ9HWaNqIB4EtisyTTQyh4OifGjGZQW6Tp5zvypkOMLMdpM97qHWc7S2hvBcKDEhu/sP0Fl4DjHDYjJg712lQBbJMzLZWSNBZZcxr000GiKmPQBVNsULBmcfOqbj2uMd973SpMqZM5Klp437AP1P0Rm3QscXggja/NPGkq6XXQDbTamoYAPYtuOuLDvqPCUXvgpSQKXoZQT0Kp2+T4I7sHq+x/G6GZFGuJDmrW9w0e2guD7pG/ctxGo/K4aQMIKrapSpD23yE9qTAKVUc+mTWdvTmy9nXEn4xaQMQ/Q== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by PH7PR11MB6031.namprd11.prod.outlook.com (2603:10b6:510:1d2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 12:37:32 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::927a:9c08:26f7:5b39%5]) with mapi id 15.20.9343.011; Thu, 20 Nov 2025 12:37:31 +0000 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= To: Jason Gunthorpe , Alex Williamson , "Kevin Tian" , Yishai Hadas , Longfang Liu , Shameer Kolothum , "Brett Creeley" , Giovanni Cabiddu , , , , CC: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 6/6] vfio/virtio: Use .migration_reset_state() callback Date: Thu, 20 Nov 2025 13:36:47 +0100 Message-ID: <20251120123647.3522082-7-michal.winiarski@intel.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251120123647.3522082-1-michal.winiarski@intel.com> References: <20251120123647.3522082-1-michal.winiarski@intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BE1P281CA0075.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:26::14) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB5373:EE_|PH7PR11MB6031:EE_ X-MS-Office365-Filtering-Correlation-Id: b59cb772-de5b-4b05-57a2-08de28319274 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UlQrQVdOd0tnNXhyMHJEcXdsQXp6WFpLeWtnTmNKUWdNc09aeHptc0p5bEdU?= =?utf-8?B?dlhHQU5rTEd0eFpxdWd6S3p1RVV2REZGZHRENkxYbzhkdlVwZHdIMm03cnFU?= =?utf-8?B?aFdMU3VnTjRrRXdiaEwyOUgybU5lczhvMkZOb1I1d2F4ejNrKzAxRnhPRzB4?= =?utf-8?B?SWJIWEM1eEptaU43ZzFZRHcwMTcrV3VackJnMGZUb0h5ZG5jS1VTYmhKSUdX?= =?utf-8?B?U2ljby9sWDdiT0tFcGI5cFlSQiszUnREcDRib2JFN0gzWUhjSkI3UThVTUdk?= =?utf-8?B?UlJUb05sbUpMc3dvakN0ZDhUd0trSDBEVW5LT2VUSTJ2b3llbkpOTTcveGFK?= =?utf-8?B?TmV0Vm5id01CK21IUFZwZ3pVR0lwZHN2Wndha0hzUnVaL2ZnUWVMR09wY3ll?= =?utf-8?B?REllUjJKai9kc2lHRkVMT1NBZnYydFdpM0E5TitIN3lHbVlaQWdycjhJTFhE?= =?utf-8?B?ZnJPUFE0T3FnK3pyY2VJNE9KOGlJbGh6bGJ2cjBlTEw2YTM0SUMxVWFVRU9U?= =?utf-8?B?RFFXUGVudGNDOFZRSlNaN2w0a05TcG1sV25PY3lXUCtzMHk3QjQ1RmsrVkMx?= =?utf-8?B?cXRsT0dzSzVqck54RWJZaXMrbGY5SVdsa2ZMOUF0cnlkb1NCdEZtRlVvaXhK?= =?utf-8?B?YWE5Njg2dTVCQjRSSUY3UzJoQkE1MENjZXk3M1VHc1RHRHAyeWFYSFlsUzdz?= =?utf-8?B?dEpaU2l3K3J6Q1hCZDVjRDFaWG51V1prM0hqYTN5TVFZS0FTbXNjZTRwdEFo?= =?utf-8?B?YXhTRm02NnFxcEgwOEpMOENST0NKT0VOQ1hHc3RtYXdrbVBMSkNQMXdxb2N0?= =?utf-8?B?QllrYjZnRnV1amlpa1pxdnl2RUdVZnhONERNK08wV0lMZ0RHRUs5QkJmVGpR?= =?utf-8?B?YUpuNTc2Mmc4S1pXUGdPZ1FydEdJWmxsZkg1T3BPdFdvTGROcVkwaG9nUEtp?= =?utf-8?B?a09tWTZFQTVITEswdHBBb2Z2enFaTFFKcjlNOVlZcGNhcEgrdnZBdTZFVE5K?= =?utf-8?B?ODM0dCs5azNzcE5NTXhtbEJWOXJrdGhGZnIwU3crUmpaZ2dreW5lZ0toeTNH?= =?utf-8?B?NGc5Z1Z4SUlralBFU0hKSVZ6SGhicmpncnVoQU5pUERieTk4Z2krYjJKai85?= =?utf-8?B?VWJEdGp1djMvQlBGNUIySkRrb1ExK1lESG40a3FPTmRBSSs2cEd6bVBQRFFo?= =?utf-8?B?elRkcWdCSDRHSDRNdnlwZEthblpOUll4WkJDSjV4T1dUdld4S0pCTm9iRFVL?= =?utf-8?B?QXFRUDQ0QUY3ajRhbGJRa3FaUVVyNWZjdFdxTUZFOFVOd201M0RjeUVTaUxh?= =?utf-8?B?VXpsZy9UQktDdnZUR0Qxd0pLakg2aW1mUkU1a1FFOEdKVmFsbnJhazYxaXpi?= =?utf-8?B?ODFuamdkWFhRUWg1WTU2MWl3QzNYYW9JK0c0aVBXQ3U2OXBRNCtEeXJadkRt?= =?utf-8?B?MngxWHp0bmRYd1Q4S0xWWldSekNTTHh0Z0pkTTFtT2tTbkZOOHF2dkt1ekdH?= =?utf-8?B?SG5HZmZpRDNrbks4cFB6eHJ4MEg2d0M0ZXJkQ0xYa1BxUWhJeTVQUCtTUm9k?= =?utf-8?B?OS9VeUFIaTk3OWhLYjdPQlhPU21GMlhUTFd2QS81NWhDSUl5alBYaVc1QnBj?= =?utf-8?B?K0VrVXVxY1pMN3ArRkZES25ySURCbkF4L0VSR3oxcHhWd0xNWVRWNDlSZDdh?= =?utf-8?B?dkRBNktQSHVPZHJ4bFJ2MGNIeDJEbDBEQm5qdHpkek1DeEpveGdnQ3pjWGwx?= =?utf-8?B?eWtraTQ3ZFkzSG1CdGljUlIvMUpPUGp2TCtSaGdFeGpLSU5zUy9jcjNTRkVQ?= =?utf-8?B?UnlyaWhaM2h5S0MwVW5GV0RKcGtMeU10Y25SMW5WUWZsdWhtQmVmeTBibFBV?= =?utf-8?B?ckxGVTRnUS9RaGQrWkJKNTYrOFVsa1RBbEJxNzV5anV4RVZxL040RThwNDkv?= =?utf-8?B?bDNkLzY5MHJ4MVZsN1FkZU9NZTJoUWxwWWJIWEF6T3ViTWNJNktBaTdpQjJ5?= =?utf-8?B?bC9kQmFzejVuZ2xQZ2JUREJoM2p3aks4WDVLc3FvNHNTSFdySUVIV2FCclgv?= =?utf-8?Q?o5A46K?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5373.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZW1aOVlTRFl2cFdDRG1qdnNwOUFTQVRBTmVMZTVQaTZsZ0l1a01JMmZlT1VH?= =?utf-8?B?cmtpM3FBd3pyVlNvQ1dXM3JaWXZjWTlUMVI4NzNwalRtK2w5WlJSVS9jZ2Zs?= =?utf-8?B?dVZUZVZoUmNHOGUrYldBWjVSV3NMU2p5UzBJcXUyTXVscnFtRXNXeHovS0d3?= =?utf-8?B?NTlJRUV6dmNFZXRTdWE5Sm51cHFqZUpUQ0d3QkxhUk80UUFTd2U2enpIaFdz?= =?utf-8?B?NUQzSXgrUmpjbmNINHJ1NHNSMWhxd1hMRE41Y1VyUENiWXdDakdwM2Q2VWgx?= =?utf-8?B?TTM1VmRCRzIwY0NuakdwMjh6U2dOZXZIZFRjaDUyME42QWlQRGJsK1hlZWEr?= =?utf-8?B?dTh3QlBpT2kyT3JHc3VFWmlRQ0tMNThKMncySE1yYlRzZnhNTmllWHV4MEJr?= =?utf-8?B?ZmdXTFlNQ1g5aDA5U01ZNDhCdmJZK1NTVGRZQUQ5dnRvaE0xc1FXVTk0UUVj?= =?utf-8?B?Z1NiYnRFbmNQL2hHUWc2QVFPWUpSbEJGeDJoNWpOK3RCT2xBR3FCRGJPV1dN?= =?utf-8?B?K3ZsTXFEMGFWOXMzckluOEMrV3V0WFEvUVNDNktOK09CSnhPMjlFZmhFWG95?= =?utf-8?B?Q2l6cXo0UGFqdFpqOFB4MDgzZzlna1FheDVJb2ZMR1RyQXAwRVZqYmRma2J6?= =?utf-8?B?WG51L1BIMXByakJZZDJvd3lMQVgvVGRhTXN4UGpXd25PTEpEaUlHUUZWTEI1?= =?utf-8?B?dWM4Wm5EZ3ZBdE45ekZPbXVBWmgyKzkwRGpIcGRqNFVEbjVPTS90djVIQ3ZO?= =?utf-8?B?V0pFc2xvSWxsaFJyMWdBdHl6QlR4TzBqN2dGSE85cVZZb1lPUmswa2lUWjl5?= =?utf-8?B?aWFIdjRVbVI4c200Mmp1cE9iNys1ZDRLL01iQjc1WlMrUWZwR1ZOcGRjczhi?= =?utf-8?B?cjdXK1NhUzhLN3JtV1hVaUVVU3NrSE1qd1JSampVdFVCMWVnenh4ZVRxZERG?= =?utf-8?B?dm8vbmdZOCtMUldtS21EbzZKM3R3ZTJnTUtSZ2RtNkw4TEtscWVJNEZxK2J0?= =?utf-8?B?aHNMVzh0a1h2R0hOR2F6TkxuRWFkZW44U2p0NFVjMlgxdlUrbzl3UHNtQjlO?= =?utf-8?B?TkdaeUhXQjgzNnFwS0Q2Mkg2VDc3ZXhSQ09HdXJUbzNOZ1MzUGxRNC82ZGFa?= =?utf-8?B?YTU0V2N2S2xHcktKdkhGYk9OUkpLMm94dTh0a05yZDNCNXNWbHZwdkxEOVhy?= =?utf-8?B?T0Q2a1Q1ZEd3MTdlSkd5cWZjZVBDcVJNQXlobGZ0UnRST055dEM0RytWaWJE?= =?utf-8?B?LzV3VmlJUlhLZGtlSGNrNDljekYxNGlkRDdQUzFDUnVwNkdJaVZiejNLSkJJ?= =?utf-8?B?YjRBMmlFYTNaNnFvL1pwWUR3dEtuUk9kT01oRURTRFFUckp0ckZmcXgxVVBF?= =?utf-8?B?Qjk2OWp3TUd0SUV6NzVSVVVVODl6N0ZqZ2t3UUdUOGk4QVhZa3FoMjNjTnkx?= =?utf-8?B?THN5YmRFUlJ6SXFvRFhqUUpiRDlieGpuSlRMSXYxVXV1SjBBWlU4bnk1ZDVw?= =?utf-8?B?eWQzN2FOTnNLTWNnNzVlSkpQeVR6MjRtUWs4ODdtTitKOVgva0tva1FXcUxG?= =?utf-8?B?TG5paTNFcjNMY2ZDNW9JR3hmaHNITnNodkRBbnczc0dNYThJUlZZaFlSeGNr?= =?utf-8?B?b0RSam9YdzNQZjc4ZVVYR3RVbHpFZnNLMG54aTdMaXJwSXI5cXBJcTFwdTJO?= =?utf-8?B?SUdBMTQ4dHlZcllwODIyMGZiaHNqOWpqOEwyblVXS3JFejBDL05sZlcyam5o?= =?utf-8?B?UGpjcGlFNktUQlp3cmI0eEVLVkpBT3hRZitFZFhRVngxK3VmYzZrZW9rRStY?= =?utf-8?B?NFNiU1NpL2lXRWdPbzFUbXVKZ1JuaWp1TkpNRzNobzhvSWJHYStSSUNSM0xR?= =?utf-8?B?ZmRJRU5wUnpMeHhNVFcvR0JqMGpxL1JYckk2NkNqY2wwcUFUOHI5OHd2U3I2?= =?utf-8?B?WUtmcjRLclNRVGFsVG5tKzNUeGhoTStzcWlzdVRQZkFQczkzaHVhRGxrcU9E?= =?utf-8?B?TFNWdUpzcGtQc05BNDY3MEZGWnExcnNvVEk4dWovYjNVVG5CbzlPbjNMYXE1?= =?utf-8?B?Wm1BQ0hqVXBzNk1lWlcvY1JUbDYvWFZpNFFsbmNxVzJJOTluRDhiZGNEbUhC?= =?utf-8?B?UlVvNEtibkRuS0hTc0RyUFhMZWFCenBZQ0FxN05maEZweEJUS2xOd2N5L0d1?= =?utf-8?B?NFE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: b59cb772-de5b-4b05-57a2-08de28319274 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 12:37:31.0075 (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: xTc2wzHZYvPsOVujQTbQFX0BzgBrCE/mEStKHCqAV9EOv2Di3KW+bBf/toO11JYYVbDNMuKayFEB1a6dJ0lvatbwEHr9RynLWOSUjs8d2E4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6031 X-OriginatorOrg: intel.com Move the migration device state reset code from .reset_done() to dedicated callback. Remove the deferred reset mechanism, as it's no longer needed. Signed-off-by: Micha=C5=82 Winiarski --- drivers/vfio/pci/virtio/common.h | 3 -- drivers/vfio/pci/virtio/main.c | 1 - drivers/vfio/pci/virtio/migrate.c | 71 +++++++++---------------------- 3 files changed, 21 insertions(+), 54 deletions(-) diff --git a/drivers/vfio/pci/virtio/common.h b/drivers/vfio/pci/virtio/com= mon.h index c7d7e27af386e..cb27d3d2d3bb9 100644 --- a/drivers/vfio/pci/virtio/common.h +++ b/drivers/vfio/pci/virtio/common.h @@ -92,12 +92,9 @@ struct virtiovf_pci_core_device { =20 /* LM related */ u8 migrate_cap:1; - u8 deferred_reset:1; /* protect migration state */ struct mutex state_mutex; enum vfio_device_mig_state mig_state; - /* protect the reset_done flow */ - spinlock_t reset_lock; struct virtiovf_migration_file *resuming_migf; struct virtiovf_migration_file *saving_migf; }; diff --git a/drivers/vfio/pci/virtio/main.c b/drivers/vfio/pci/virtio/main.c index 8084f3e36a9f7..b80cb740f9a5d 100644 --- a/drivers/vfio/pci/virtio/main.c +++ b/drivers/vfio/pci/virtio/main.c @@ -203,7 +203,6 @@ static void virtiovf_pci_aer_reset_done(struct pci_dev = *pdev) #ifdef CONFIG_VIRTIO_VFIO_PCI_ADMIN_LEGACY virtiovf_legacy_io_reset_done(pdev); #endif - virtiovf_migration_reset_done(pdev); } =20 static const struct pci_error_handlers virtiovf_err_handlers =3D { diff --git a/drivers/vfio/pci/virtio/migrate.c b/drivers/vfio/pci/virtio/mi= grate.c index 7dd0ac866461d..5c7f9091d84e8 100644 --- a/drivers/vfio/pci/virtio/migrate.c +++ b/drivers/vfio/pci/virtio/migrate.c @@ -247,49 +247,6 @@ static void virtiovf_disable_fds(struct virtiovf_pci_c= ore_device *virtvdev) } } =20 -/* - * This function is called in all state_mutex unlock cases to - * handle a 'deferred_reset' if exists. - */ -static void virtiovf_state_mutex_unlock(struct virtiovf_pci_core_device *v= irtvdev) -{ -again: - spin_lock(&virtvdev->reset_lock); - if (virtvdev->deferred_reset) { - virtvdev->deferred_reset =3D false; - spin_unlock(&virtvdev->reset_lock); - virtvdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; - virtiovf_disable_fds(virtvdev); - goto again; - } - mutex_unlock(&virtvdev->state_mutex); - spin_unlock(&virtvdev->reset_lock); -} - -void virtiovf_migration_reset_done(struct pci_dev *pdev) -{ - struct virtiovf_pci_core_device *virtvdev =3D dev_get_drvdata(&pdev->dev); - - if (!virtvdev->migrate_cap) - return; - - /* - * As the higher VFIO layers are holding locks across reset and using - * those same locks with the mm_lock we need to prevent ABBA deadlock - * with the state_mutex and mm_lock. - * In case the state_mutex was taken already we defer the cleanup work - * to the unlock flow of the other running context. - */ - spin_lock(&virtvdev->reset_lock); - virtvdev->deferred_reset =3D true; - if (!mutex_trylock(&virtvdev->state_mutex)) { - spin_unlock(&virtvdev->reset_lock); - return; - } - spin_unlock(&virtvdev->reset_lock); - virtiovf_state_mutex_unlock(virtvdev); -} - static int virtiovf_release_file(struct inode *inode, struct file *filp) { struct virtiovf_migration_file *migf =3D filp->private_data; @@ -513,7 +470,7 @@ static long virtiovf_precopy_ioctl(struct file *filp, u= nsigned int cmd, goto err_state_unlock; =20 done: - virtiovf_state_mutex_unlock(virtvdev); + mutex_unlock(&virtvdev->state_mutex); if (copy_to_user((void __user *)arg, &info, minsz)) return -EFAULT; return 0; @@ -521,7 +478,7 @@ static long virtiovf_precopy_ioctl(struct file *filp, u= nsigned int cmd, err_migf_unlock: mutex_unlock(&migf->lock); err_state_unlock: - virtiovf_state_mutex_unlock(virtvdev); + mutex_unlock(&virtvdev->state_mutex); return ret; } =20 @@ -1048,7 +1005,7 @@ static ssize_t virtiovf_resume_write(struct file *fil= p, const char __user *buf, if (ret) migf->state =3D VIRTIOVF_MIGF_STATE_ERROR; mutex_unlock(&migf->lock); - virtiovf_state_mutex_unlock(migf->virtvdev); + mutex_unlock(&migf->virtvdev->state_mutex); return ret ? ret : done; } =20 @@ -1245,7 +1202,7 @@ virtiovf_pci_set_device_state(struct vfio_device *vde= v, break; } } - virtiovf_state_mutex_unlock(virtvdev); + mutex_unlock(&virtvdev->state_mutex); return res; } =20 @@ -1257,10 +1214,24 @@ static int virtiovf_pci_get_device_state(struct vfi= o_device *vdev, =20 mutex_lock(&virtvdev->state_mutex); *curr_state =3D virtvdev->mig_state; - virtiovf_state_mutex_unlock(virtvdev); + mutex_unlock(&virtvdev->state_mutex); return 0; } =20 +static void virtiovf_pci_reset_device_state(struct vfio_device *vdev) +{ + struct virtiovf_pci_core_device *virtvdev =3D container_of( + vdev, struct virtiovf_pci_core_device, core_device.vdev); + + if (!virtvdev->migrate_cap) + return; + + mutex_lock(&virtvdev->state_mutex); + virtvdev->mig_state =3D VFIO_DEVICE_STATE_RUNNING; + virtiovf_disable_fds(virtvdev); + mutex_unlock(&virtvdev->state_mutex); +} + static int virtiovf_pci_get_data_size(struct vfio_device *vdev, unsigned long *stop_copy_length) { @@ -1297,13 +1268,14 @@ static int virtiovf_pci_get_data_size(struct vfio_d= evice *vdev, if (!obj_id_exists) virtiovf_pci_free_obj_id(virtvdev, obj_id); end: - virtiovf_state_mutex_unlock(virtvdev); + mutex_unlock(&virtvdev->state_mutex); return ret; } =20 static const struct vfio_migration_ops virtvdev_pci_mig_ops =3D { .migration_set_state =3D virtiovf_pci_set_device_state, .migration_get_state =3D virtiovf_pci_get_device_state, + .migration_reset_state =3D virtiovf_pci_reset_device_state, .migration_get_data_size =3D virtiovf_pci_get_data_size, }; =20 @@ -1311,7 +1283,6 @@ void virtiovf_set_migratable(struct virtiovf_pci_core= _device *virtvdev) { virtvdev->migrate_cap =3D 1; mutex_init(&virtvdev->state_mutex); - spin_lock_init(&virtvdev->reset_lock); virtvdev->core_device.vdev.migration_flags =3D VFIO_MIGRATION_STOP_COPY | VFIO_MIGRATION_P2P | --=20 2.51.2