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=-8.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_MUTT autolearn=ham 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 50A33C43218 for ; Fri, 26 Apr 2019 21:10:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 13BE12077B for ; Fri, 26 Apr 2019 21:10:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="5DWQxWJn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726691AbfDZVKg (ORCPT ); Fri, 26 Apr 2019 17:10:36 -0400 Received: from vps0.lunn.ch ([185.16.172.187]:46081 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726314AbfDZVKf (ORCPT ); Fri, 26 Apr 2019 17:10:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=7pj52c2MD8YWn3K6+sRcix3BwofJ/J3f7zU2xRmK8uM=; b=5DWQxWJn40r+XDvdDvwxMqg5rX BwbWio9xlFMnoXaCv+xK7XgCQCWMHEbxP5z/r/gbV7hhoAzybgHmlF+ZHmx2NArPcQTgW6Rmei92M Mdb6pT9yppZifJn1O1E0iTpWSMtcU3Deo5AtcZ1DYIWBj0Ytk5FbLo4itRicDp/FdhV4=; Received: from andrew by vps0.lunn.ch with local (Exim 4.89) (envelope-from ) id 1hK877-0005E3-C8; Fri, 26 Apr 2019 23:10:33 +0200 Date: Fri, 26 Apr 2019 23:10:33 +0200 From: Andrew Lunn To: Igor Russkikh Cc: "David S . Miller" , "netdev@vger.kernel.org" , Nikita Danilov , Dmitry Bogdanov Subject: Re: [PATCH v3 net-next 04/15] net: aquantia: link interrupt handling function Message-ID: <20190426211033.GM4041@lunn.ch> References: <45b9a5e6fb2f486900652a0b1381e6dbe0c8b380.1556270198.git.igor.russkikh@aquantia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45b9a5e6fb2f486900652a0b1381e6dbe0c8b380.1556270198.git.igor.russkikh@aquantia.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Fri, Apr 26, 2019 at 09:47:47AM +0000, Igor Russkikh wrote: > Define link interrupt handler > > Signed-off-by: Nikita Danilov > Signed-off-by: Igor Russkikh > --- > drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > index 059df86e8e37..4851fc0a3ae5 100644 > --- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > +++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c > @@ -161,6 +161,20 @@ static int aq_nic_update_link_status(struct aq_nic_s *self) > return 0; > } > > +static irqreturn_t aq_linkstate_threaded_isr(int irq, void *private) > +{ > + struct aq_nic_s *self = private; > + > + if (!self) > + return IRQ_NONE; > + > + aq_nic_update_link_status(self); > + > + self->aq_hw_ops->hw_irq_enable(self->aq_hw, > + BIT(self->aq_nic_cfg.link_irq_vec)); So does this mean the hardware disables interrupts when they fire? Is this an ack, not an enable? Can you loose interrupts this way? Or are the internally level interrupts, so it could immediately fire again if the source has not been services? Thanks Andrew