Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4620862pxu; Tue, 13 Oct 2020 03:05:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1saprXh+NvnKx+s1i+uWWKTGZhwrTVneiGfLj/VSHQNp/CY1DH8DaXRE16yx4Qh80wXUH X-Received: by 2002:a17:906:4b18:: with SMTP id y24mr12616234eju.416.1602583503723; Tue, 13 Oct 2020 03:05:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602583503; cv=none; d=google.com; s=arc-20160816; b=xqu4hJqdSiWDRq4KDjExiafiIemPwSMlMqtjVJ6sfAreo8aFkwToQtjcpOkB4BndES uSkSfXsprO+9W2U4EFl9KA6iOxtuvdqCgdQMGIVviU9/LNAgf5Z/MYDJhhXKWp6LgUUb GM/H6Ad8IRkevDa825z1REUpUyU27gXnG2hxldkYLzpEYnwpMImlyube4qQRHc2V2s6H 4JO0t2wgKPaJOVSsbg6hby44C1ytVLjguskZWz7Kjl22zkboyzSmKljr+5Ha/Nz34mDZ EoGCwPFN/2hYvI14Pd0ZIWMewgqcuv2kv1u1+dA+bFrho4slufn0fbalF3oFFVtRUv/r ILTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=NXJbfHOEhUy0RZ8nUY6GyJKUquAjzF6PRA6vPAFfhE8=; b=0Vw9MmCjKfdU/AID1DaQztxWwn7XS8nZP3kdV2r84S2vtxHL5pRsLkxnfCoOtNDu+9 sQLkDKLwNm3ixE9zLa5GP6gxbAzoPlW5mDxqF30VTGH5QM8RKWNDDCi08v62/E8Ii78D OrRcG9eIOhkX/Vx9rvhLTI3JjzZObmJoO6zp8QwIIb9yWb2iAIc4Hj24LZcjskY4k7Jq iIRImk26pfaxiLzeFp4CTWcBImzjV7FjB7Kkei7SbW3jud5p/2xRnXOFP5ONlU4ud9zC rC0sHj/OrbZmO6Q1tCoxY/Dw+WpBMwl+idFcvgkUu0k4sVLm2gaKDegQMTVSnkBGNB7Z a8IQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bh4si5872287ejb.551.2020.10.13.03.04.39; Tue, 13 Oct 2020 03:05:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387830AbgJLUjt (ORCPT + 99 others); Mon, 12 Oct 2020 16:39:49 -0400 Received: from mga09.intel.com ([134.134.136.24]:34024 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387832AbgJLUjs (ORCPT ); Mon, 12 Oct 2020 16:39:48 -0400 IronPort-SDR: ZoNgFawHvz1k5nUXQDj3d7lXTICwG18PUJ0niECKfHZoY5cg5Z5PfeMCDXlH5K5zL8wph9SZgF 3CdIaXwXOpyQ== X-IronPort-AV: E=McAfee;i="6000,8403,9772"; a="165913177" X-IronPort-AV: E=Sophos;i="5.77,367,1596524400"; d="scan'208";a="165913177" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2020 13:39:47 -0700 IronPort-SDR: Gqc2kek6egE+CeJwe2giYf9sWg+J27VKniKjYqjba9lvjQsKMmtBZH4jzpBvA7qW2UKdBkSz8E ul8lyFnK6pJQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,367,1596524400"; d="scan'208";a="299328256" Received: from silpixa00400314.ir.intel.com (HELO silpixa00400314.ger.corp.intel.com) ([10.237.222.51]) by fmsmga007.fm.intel.com with ESMTP; 12 Oct 2020 13:39:45 -0700 From: Giovanni Cabiddu To: herbert@gondor.apana.org.au Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com, Giovanni Cabiddu , Wojciech Ziemba , Maksim Lukoshkov , Fiona Trahe , Andy Shevchenko Subject: [PATCH 24/31] crypto: qat - call functions in adf_sriov if available Date: Mon, 12 Oct 2020 21:38:40 +0100 Message-Id: <20201012203847.340030-25-giovanni.cabiddu@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201012203847.340030-1-giovanni.cabiddu@intel.com> References: <20201012203847.340030-1-giovanni.cabiddu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Call the function configure_iov_threads(), adf_enable_vf2pf_interrupts() and adf_pf2vf_notify_restarting() only if present in the struct adf_hw_device_data of the device. This is to allow for QAT drivers that do not implement those functions. Signed-off-by: Giovanni Cabiddu Reviewed-by: Wojciech Ziemba Reviewed-by: Maksim Lukoshkov Reviewed-by: Fiona Trahe Reviewed-by: Andy Shevchenko --- drivers/crypto/qat/qat_common/adf_sriov.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/crypto/qat/qat_common/adf_sriov.c b/drivers/crypto/qat/qat_common/adf_sriov.c index 9a0f6db83106..d887640355d4 100644 --- a/drivers/crypto/qat/qat_common/adf_sriov.c +++ b/drivers/crypto/qat/qat_common/adf_sriov.c @@ -62,10 +62,12 @@ static int adf_enable_sriov(struct adf_accel_dev *accel_dev) } /* Set Valid bits in AE Thread to PCIe Function Mapping */ - hw_data->configure_iov_threads(accel_dev, true); + if (hw_data->configure_iov_threads) + hw_data->configure_iov_threads(accel_dev, true); /* Enable VF to PF interrupts for all VFs */ - adf_enable_vf2pf_interrupts(accel_dev, BIT_ULL(totalvfs) - 1); + if (hw_data->get_pf2vf_offset) + adf_enable_vf2pf_interrupts(accel_dev, BIT_ULL(totalvfs) - 1); /* * Due to the hardware design, when SR-IOV and the ring arbiter @@ -94,15 +96,18 @@ void adf_disable_sriov(struct adf_accel_dev *accel_dev) if (!accel_dev->pf.vf_info) return; - adf_pf2vf_notify_restarting(accel_dev); + if (hw_data->get_pf2vf_offset) + adf_pf2vf_notify_restarting(accel_dev); pci_disable_sriov(accel_to_pci_dev(accel_dev)); /* Disable VF to PF interrupts */ - adf_disable_vf2pf_interrupts(accel_dev, GENMASK(31, 0)); + if (hw_data->get_pf2vf_offset) + adf_disable_vf2pf_interrupts(accel_dev, GENMASK(31, 0)); /* Clear Valid bits in AE Thread to PCIe Function Mapping */ - hw_data->configure_iov_threads(accel_dev, false); + if (hw_data->configure_iov_threads) + hw_data->configure_iov_threads(accel_dev, false); for (i = 0, vf = accel_dev->pf.vf_info; i < totalvfs; i++, vf++) { tasklet_disable(&vf->vf2pf_bh_tasklet); -- 2.26.2