From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0725CC433E6 for ; Tue, 1 Sep 2020 12:07:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D1BE1206EF for ; Tue, 1 Sep 2020 12:07:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="HbIqBI5Q" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728109AbgIAMHY (ORCPT ); Tue, 1 Sep 2020 08:07:24 -0400 Received: from mail29.static.mailgun.info ([104.130.122.29]:35945 "EHLO mail29.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728075AbgIAMGi (ORCPT ); Tue, 1 Sep 2020 08:06:38 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1598961997; h=Date: Message-Id: Cc: To: References: In-Reply-To: From: Subject: Content-Transfer-Encoding: MIME-Version: Content-Type: Sender; bh=ZxeLT4MW4DxY+rjg8qHyVNjzZt9/BxvL8nAh3ydoWAU=; b=HbIqBI5QXxVSSJ5CmT2QlssbGbl1Hkunlc4Pcldo0PzamwpHjrjT1J/Jb9Y3LDupV0nyVyF1 sCSaXR5traw87ZJi8zN5aYz3otxrksNY0TzdqlYMuWXVfbSj76HOq9qblmJhLr0J8kPSMNZs uOERapQmHiytfYXdAKNPfeT486c= X-Mailgun-Sending-Ip: 104.130.122.29 X-Mailgun-Sid: WyJiZjI2MiIsICJuZXRkZXZAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n04.prod.us-west-2.postgun.com with SMTP id 5f4e392dbe06707b34638bba (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Tue, 01 Sep 2020 12:06:05 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id EBCDEC433A1; Tue, 1 Sep 2020 12:06:04 +0000 (UTC) Received: from potku.adurom.net (88-114-240-156.elisa-laajakaista.fi [88.114.240.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: kvalo) by smtp.codeaurora.org (Postfix) with ESMTPSA id 51E7CC433CA; Tue, 1 Sep 2020 12:06:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 51E7CC433CA Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=kvalo@codeaurora.org Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [PATCH v2 1/2] ath10k: Keep track of which interrupts fired, don't poll them From: Kalle Valo In-Reply-To: <20200709082024.v2.1.I4d2f85ffa06f38532631e864a3125691ef5ffe06@changeid> References: <20200709082024.v2.1.I4d2f85ffa06f38532631e864a3125691ef5ffe06@changeid> To: Douglas Anderson Cc: ath10k@lists.infradead.org, linux-arm-msm@vger.kernel.org, briannorris@chromium.org, saiprakash.ranjan@codeaurora.org, linux-wireless@vger.kernel.org, pillair@codeaurora.org, kuabhs@google.com, Douglas Anderson , "David S. Miller" , Jakub Kicinski , linux-kernel@vger.kernel.org, netdev@vger.kernel.org User-Agent: pwcli/0.1.0-git (https://github.com/kvalo/pwcli/) Python/3.5.2 Message-Id: <20200901120604.EBCDEC433A1@smtp.codeaurora.org> Date: Tue, 1 Sep 2020 12:06:04 +0000 (UTC) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Douglas Anderson wrote: > If we have a per CE (Copy Engine) IRQ then we have no summary > register. Right now the code generates a summary register by > iterating over all copy engines and seeing if they have an interrupt > pending. > > This has a problem. Specifically if _none_ if the Copy Engines have > an interrupt pending then they might go into low power mode and > reading from their address space will cause a full system crash. This > was seen to happen when two interrupts went off at nearly the same > time. Both were handled by a single call of ath10k_snoc_napi_poll() > but, because there were two interrupts handled and thus two calls to > napi_schedule() there was still a second call to > ath10k_snoc_napi_poll() which ran with no interrupts pending. > > Instead of iterating over all the copy engines, let's just keep track > of the IRQs that fire. Then we can effectively generate our own > summary without ever needing to read the Copy Engines. > > Tested-on: WCN3990 SNOC WLAN.HL.3.2.2-00490-QCAHLSWMTPL-1 > > Signed-off-by: Douglas Anderson > Reviewed-by: Rakesh Pillai > Reviewed-by: Brian Norris > Signed-off-by: Kalle Valo 2 patches applied to ath-next branch of ath.git, thanks. d66d24ac300c ath10k: Keep track of which interrupts fired, don't poll them 7f8655166512 ath10k: Get rid of "per_ce_irq" hw param -- https://patchwork.kernel.org/patch/11654625/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches