From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3ED93EC2CD for ; Mon, 6 Jul 2026 21:16:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783372581; cv=none; b=FjvC091xeLRl6hMjY7hVEyYGZc8u+i7y6+On47iWNEKZECMTkrZug682AUYVGYnDm9tYbi7XLSP/FEyBqs02mV/xFfy4uBAyOec7xgVX3lybkY1ED0s0UwYMBL1z3wL/CuAgrC+qzZMHKj74roXHPpXdVmViot6ypFwEsDbMUnA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783372581; c=relaxed/simple; bh=WICdANMRcBggP+LFV7A4kdek+PDiJFQmRUwULQJaBlw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=r0uGwn4mPGLeiFtdYXhWMG+PelNy2ZtPpSgcQo6FCANSIFUmdwPm99KcZp6PpMIJ8uHkKL/TsBlugdILnlmATnp6YGlnhQGDzfcY7/2LlKXc0bNt8uEmxcxD6QmZhKU4sYPnIpUtverXQmTbCMrVZvIyLtYH+CcJEgNUQ7bwfPQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=OiPadX6i; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="OiPadX6i" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-845c92bc464so2483351b3a.2 for ; Mon, 06 Jul 2026 14:16:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1783372579; x=1783977379; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=LUYJXxyTVrF/Xf3zdbSU1O7JfO1KsmE4iaB7Xr6SKQY=; b=OiPadX6icSufkFFppNKQKQpksPUsfoEL2NqGVr1/sGij460r64UQ/tyJNTPktQd166 o/EL2q6JAjEidvwH/FFgjOB/yrIri4mllSBkuSq27tXJjsZ2Z54trcSJvnyNdFjwIhCX rPVhfPQhzR0JHv6Jl8/qoK+mkAyB7VLv+BM/G6LTYumxK3+5PPUXkHsLd1kxFgvK3aub +C8Uh59hAl9owOWdD1KTv6Q8Oh3olLePNssZPsgISe1iDyLKw4afPJ007bjiW7ZMIJxs zaVGBLGiRKUitHVDQS1bIJC4fZD0DB6CPgr/CJ2DxLJwZNchVfTt3PB9u9cnVsMFxS3P eNng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783372579; x=1783977379; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=LUYJXxyTVrF/Xf3zdbSU1O7JfO1KsmE4iaB7Xr6SKQY=; b=Vmy8dBozwX23DZAI3WeEq6FzV2XtwLuulOgA9IjCumQUJB0ReZR3iyzh5PDFcQiCCx GkkAkrMimdnL75wumbWhOIPlFFWz5ZtKSD41nzA6BtKwRFNAaW7KH5WbGt5f8e1l5/up o6ewksJCx+S3KMppJm79wxUACPi9WWgb8grX6RM6s/OvNacqq5Pq/xkyBBbqh6kTDccG D8V/IOlJAk8x9+yW6eTPnildJFh0QGaSsgjh9ksENgqcNCsKapdoswetvJfrz1mpwmJB f3NHbelsHoIXydS/UfaI1EbL4VuetkzLUPDml4Iey2haQ+IetBxrjLNJg4Vu4qJgAFlY RpOg== X-Forwarded-Encrypted: i=1; AHgh+RrhncGcRlrF4PbZH0IYf6y5M1Rhh35lpyN5oSsbCQWazisQgjF7QHPvveexR8unzxO3fLOzWgsPZJnQASg=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/PYNqqN9l7pP+L92tHxK2CQKFhOsPg73NDV56hfqT/HsGhB/6 k1CThyF6hsa7LT2y4U/8nqEazk2EHYUzV1qZiVKMOrJgf4CyAE/B1ZP91tt38tmVqh5FSNp1MwL LTT2WhQ== X-Gm-Gg: AfdE7ckxCXvpOgcln28WnBcKxhPvDIr9vejmezE7vmrvch5EELgqh6xsnIR0H4miwad y/Ao/32a0R25f7T2tB8ypdfKSBqgyBQKtELKBhbMvmKN8zKfhVGVbek4AojNdcr8F0HT278Oy/i 8GU07BBt9zVFSzixyeK7uv1vurl4Vlr8kSJ4lLmzIj9TtFsUf0owZ/G09iY6aFN6/AlW9Dt4KHz WbCFpmNE/6bQgOXgDXLETRXFiGnj9WWNqcIPsNP1HVo9w0zlleJ9vTyXbhvA9SKyyyq+Hqdz0UE bZVR3hjTnlmtAEHB43LuvKmx1m1/ccmvl8sGUWyrBqGfhi1YH6/TDOE72uT0P8R574GiCWFs8lP iu/zX4uwhpqj2xpxOQgT/fFCOTuj1kd4iPzcISf/D8blvuqMGbI+T6pCrrVw/vYa24JpVqorun8 VAfl5SedLLh3lXyJTIBVShXnEWKFZxbkBkZAd956sAjLkahV6WQ/4= X-Received: by 2002:a05:6a00:4514:b0:842:5bf3:c53c with SMTP id d2e1a72fcca58-84826c8fb8fmr2436174b3a.2.1783372578727; Mon, 06 Jul 2026 14:16:18 -0700 (PDT) Received: from google.com (56.149.168.34.bc.googleusercontent.com. [34.168.149.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-847f6d4edb4sm4354758b3a.33.2026.07.06.14.16.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jul 2026 14:16:18 -0700 (PDT) Date: Mon, 6 Jul 2026 21:16:14 +0000 From: David Matlack To: Josh Hilke Cc: Alex Williamson , Vipin Sharma , Shuah Khan , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Alex Williamson Subject: Re: [PATCH v2 08/10] selftests/vfio: igb: Factor hardware programming into igb_hw_init() Message-ID: References: <20260526235417.2058313-1-jrhilke@google.com> <20260526235417.2058313-9-jrhilke@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260526235417.2058313-9-jrhilke@google.com> On 2026-05-26 11:54 PM, Josh Hilke wrote: > From: Alex Williamson > > Split the device register programming out of igb_init() into a new > igb_hw_init() helper so that the same sequence can be re-run after a > VFIO_DEVICE_RESET to restore the registers that CTRL.RST clears. No > functional change for the initial path. > > igb_init() now performs the one-shot setup: region size assertion, BAR > mapping, CTRL.RST + IMC mask-all to put the device into a known state, > and vfio_pci_msix_enable() to set up the kernel-side IRQ trigger. > igb_hw_init() does the rest: ring pointer setup and IOVA calc, > CTRL_EXT, PCI bus master, GCR, PHY loopback, descriptor rings, RCTL, > TCTL, GPIE/EIAC/EIAM/EIMS/IVAR, and driver-state initialization. > > vfio_pci_msix_enable() moves from after RCTL/TCTL to before all > device-side programming. Its only side effects are the VFIO kernel > IRQ trigger setup and the PCI MSI-X capability bits in config space; > neither has any ordering dependency on the 82576 device register > writes performed in igb_hw_init(). Performing it once in igb_init() > keeps igb_hw_init() reusable from the reset recovery path (which uses > vfio_pci_irq_reenable() to re-arm the existing trigger). > > Assisted-by: Claude:claude-opus-4-7 > Signed-off-by: Alex Williamson Reviewed-by: David Matlack