Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp221631pxb; Mon, 13 Sep 2021 17:32:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmBInqtNb1Ej/fWb8VaVxgkcYjuDmH9ASwbhJ0xHaUWz33MCljwX97YWxc6vqdOsi+XXzS X-Received: by 2002:a17:906:6009:: with SMTP id o9mr16221493ejj.266.1631579555258; Mon, 13 Sep 2021 17:32:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631579555; cv=none; d=google.com; s=arc-20160816; b=xpyOQHE0ismHkP7mwOPPKz/4ymF09LX2ii3Cwuvulg42t96u2c9aGObIXCD7nByTe1 kN/B7pNawWLDgX+PolcUMMokAWdKpgF+BjJ9AMK0waB21IThchyBDJfHqiODt6cxSvzV a1NAJxCapkSV5oklzoQF9PZw372xQYIwt8uDhh6hTg9AefuS6BpYzxKUrI7C7XccMd9z 99HCBFit25Wv6GTXtAU/yBQ+HfjEa3v6n0TxUZ9hm+7SqbhCQ9QlZLVIvO34H00tCJxu NSxY9w2rMt4g8AEtomieofOwVj+4LqHxXaLSxjahfK7NNrpEdVdGIKrh6e5a6k1u4h8H 3xRw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=t4ZrqazyfKzScFJ57aX9wjiKndxrVxz3wthzej21N/c=; b=taKkCWPGmpLRG9/8P3KshX38yeWUGLGsA5tAjcAV3rpsTgOosZflkbtjYAixlxsyvA CWrZ0k2W1czAhbCFYRd20bxfVdMCXTesS5uP0D9T/hYKGjWqTOuc2wJ2LgEVnabHjlWf IyyVQdp7/gW0CNv/mL85IHVULXPkdt/IZn6ScAbUCubyHCfLzaO5BZgdFA0j+GtS9iLV gMG+gSIG2AjDj6hrxzM6DwW4bQj+eRchFa8y+FvuESzC9EmdikWXmy6Z0EeUJM2cGqPz j6463hieLIiS0kgojwNTobXasroDCppZVcqfUNRr/X1A1+2VCFUxexiXu1iNQNqLp+1t PKKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pb4y7qs3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s21si9435068edd.522.2021.09.13.17.32.11; Mon, 13 Sep 2021 17:32:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pb4y7qs3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244830AbhIMO1y (ORCPT + 99 others); Mon, 13 Sep 2021 10:27:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:45372 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345327AbhIMOWr (ORCPT ); Mon, 13 Sep 2021 10:22:47 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3AAFE61130; Mon, 13 Sep 2021 13:47:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631540857; bh=QGnjh3XPIh8bYFm4lHeIH8Vrts5kHz0cIN/fyO2v4Zk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pb4y7qs3eJlUnomy3jAvwMYbuoXpT9gSxspjLtFnyRmO4pVKPA0W00CWwdhN+6DnE JD+AeUwvRgVIH5bIkXU8K0CZq69aFz0dxEy5b0kK1td4O83ZNmaX6jFd9FBrlA7tF7 9vkY3Z93PYN1xktFDpi3kan1fTURIk3Q9jqnBm7c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Giovanni Cabiddu , Marco Chiappero , Fiona Trahe , Herbert Xu , Sasha Levin Subject: [PATCH 5.14 031/334] crypto: qat - handle both source of interrupt in VF ISR Date: Mon, 13 Sep 2021 15:11:25 +0200 Message-Id: <20210913131114.471950810@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913131113.390368911@linuxfoundation.org> References: <20210913131113.390368911@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Giovanni Cabiddu [ Upstream commit 0a73c762e1eee33a5e5dc0e3488f1b7cd17249b3 ] The top half of the VF drivers handled only a source at the time. If an interrupt for PF2VF and bundle occurred at the same time, the ISR scheduled only the bottom half for PF2VF. This patch fixes the VF top half so that if both sources of interrupt trigger at the same time, both bottom halves are scheduled. This patch is based on earlier work done by Conor McLoughlin. Signed-off-by: Giovanni Cabiddu Reviewed-by: Marco Chiappero Reviewed-by: Fiona Trahe Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/qat/qat_common/adf_vf_isr.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/qat/qat_common/adf_vf_isr.c b/drivers/crypto/qat/qat_common/adf_vf_isr.c index 888388acb6bd..3e4f64d248f9 100644 --- a/drivers/crypto/qat/qat_common/adf_vf_isr.c +++ b/drivers/crypto/qat/qat_common/adf_vf_isr.c @@ -160,6 +160,7 @@ static irqreturn_t adf_isr(int irq, void *privdata) struct adf_bar *pmisc = &GET_BARS(accel_dev)[hw_data->get_misc_bar_id(hw_data)]; void __iomem *pmisc_bar_addr = pmisc->virt_addr; + bool handled = false; u32 v_int; /* Read VF INT source CSR to determine the source of VF interrupt */ @@ -172,7 +173,7 @@ static irqreturn_t adf_isr(int irq, void *privdata) /* Schedule tasklet to handle interrupt BH */ tasklet_hi_schedule(&accel_dev->vf.pf2vf_bh_tasklet); - return IRQ_HANDLED; + handled = true; } /* Check bundle interrupt */ @@ -184,10 +185,10 @@ static irqreturn_t adf_isr(int irq, void *privdata) csr_ops->write_csr_int_flag_and_col(bank->csr_addr, bank->bank_number, 0); tasklet_hi_schedule(&bank->resp_handler); - return IRQ_HANDLED; + handled = true; } - return IRQ_NONE; + return handled ? IRQ_HANDLED : IRQ_NONE; } static int adf_request_msi_irq(struct adf_accel_dev *accel_dev) -- 2.30.2