Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3892448pxb; Wed, 13 Oct 2021 15:31:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJysCknk41VT/br+EK59tO/1dXXCLB74I5BXeKNNFG4cLopaUtx3wMSB1KzRiKmIuwAk37Jd X-Received: by 2002:a17:902:8494:b0:13b:9365:6f12 with SMTP id c20-20020a170902849400b0013b93656f12mr1693927plo.19.1634164304572; Wed, 13 Oct 2021 15:31:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634164304; cv=none; d=google.com; s=arc-20160816; b=RLjF7kbB9jGT0UxExOst+oCK6aT6enaOeLxTM6XTsVizh+G6HbNDG6+53NwcIkGKjt gM6i8zXQuCHT8qOEKuu4x8exG6T2RbQoBwMe4oLNbx8oRk5Ct5cs3dK/kQb0ZhcsIyOz VHClZcMYAmuLIMRj4QMeNTmqsTDF9yMCT6g10EbhK2Y9dNHIwztYEOwyR6tARC2D6Aa/ gDNmExsvjMiy7rbMWE8Scajhw7qdWIB+ArtXw0RA1CA8BoOh2Z35xPG7ttot5w2DHJQR kI/tI49+AwsBeRxUKERmqhGKVauIgAXwKGmu2rX+j2H0Ttrv7TFuLg+fb+4L3Fd+kjGc uz3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=9VxMpERwcZ4xYpWC2uQ0LTIQ1eQf4C6GAkgZ6JNwhAU=; b=WQYkWs+PNKEbIUxQXEjMNyNY+hr5RHXpTUEDyB2QR4rjVTb59hPJpDXhoDF5cxcDnT sqtl0i1ps3Uy78WiT3LsnymJM1MVuJNf/XncMxnmOFvyFEbtESy5s4IClDLgCps9U7T3 kQnc6+fvXOyOXa5S3rDhxDp2ARPXqPG5YwROBPPUkylA7UDYkJDHAOXklCKz/bCnmUiz MlWcORt5s1BubqCu8w9qmUzfm/uDnNkVp1c5LdzqTQVQ/SN1GT976B8QfUrSpqPF5qvS fb0lgSCmD/KmJc1I+5p/v/I9h1iHBKj4K3qp0INikS8C6cO4x2SNoA4Fw4dDRoka2r2Z 43/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ieee.org header.s=google header.b=ZUnbkll+; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=ieee.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l4si1022864pgh.628.2021.10.13.15.31.32; Wed, 13 Oct 2021 15:31:44 -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=@ieee.org header.s=google header.b=ZUnbkll+; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=ieee.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231357AbhJMWcP (ORCPT + 99 others); Wed, 13 Oct 2021 18:32:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231515AbhJMWcF (ORCPT ); Wed, 13 Oct 2021 18:32:05 -0400 Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com [IPv6:2607:f8b0:4864:20::d30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36BA7C061749 for ; Wed, 13 Oct 2021 15:30:01 -0700 (PDT) Received: by mail-io1-xd30.google.com with SMTP id 188so1465741iou.12 for ; Wed, 13 Oct 2021 15:30:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=9VxMpERwcZ4xYpWC2uQ0LTIQ1eQf4C6GAkgZ6JNwhAU=; b=ZUnbkll+NeOlj4vECmVUOxQmkzvLTiP9awdIYrvS7dQVXagLA6gjiIx/6sDUo0U55C 586bE5OdV9vW8AdNdy2/I1QPjSjvyVklmxA3GUPLk7KXyJyEkC96S3b8WT4se2uoC3oX 3vtJ5mGzQfyqp+o/A5oL0R4yJEZ8cLpfCYEAU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=9VxMpERwcZ4xYpWC2uQ0LTIQ1eQf4C6GAkgZ6JNwhAU=; b=aG1P9FPtJajgluPSsMYDZmtYxZXG8a01Y8qfj79pHCefGomMhItGIwxQL65Lhp6yVQ Zm+GRn4FJeNzWCaLUKH/BVcuxFHXKJBlIiN/urQ5eS2nLQpF+45WoyEx2r0SWU6rm+vI +I+NNxAn9QBgtb1+ShuBLK46z07lHX2uva5hF3h+vTLwIhj6se3o3NGdq6Edo0GDnTHa lENFqGMDWyTBEfntNw0pyOjJR9h2YEgFaXGgt071eNvTbHHRG6xIvu8ELauj8WZrC/D0 hFpx1R0zAAtasLPMPAdBXQALeXkuofpwP8X1m1PtXDpchyUW5QK31nWW9eHGNTmId+h9 hoEw== X-Gm-Message-State: AOAM532l15ZQKrrb2LT11vebYoDjVE695K4nEROwJPWhBJO7slqyY/jb rzRmVDQnexmjlyHMRlIFWD8zGmBc5vQ= X-Received: by 2002:a05:6638:258e:: with SMTP id s14mr1517643jat.54.1634164200602; Wed, 13 Oct 2021 15:30:00 -0700 (PDT) Received: from [172.22.22.4] (c-73-185-129-58.hsd1.mn.comcast.net. [73.185.129.58]) by smtp.googlemail.com with ESMTPSA id w15sm377481ill.23.2021.10.13.15.29.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 Oct 2021 15:29:59 -0700 (PDT) Subject: Re: [RFC PATCH 08/17] net: ipa: Add support for IPA v2.x interrupts To: Sireesh Kodali , phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, elder@kernel.org Cc: Vladimir Lypak , "David S. Miller" , Jakub Kicinski References: <20210920030811.57273-1-sireeshkodali1@gmail.com> <20210920030811.57273-9-sireeshkodali1@gmail.com> From: Alex Elder Message-ID: <356e77b6-7a90-a75b-7ee8-33d8c92ead33@ieee.org> Date: Wed, 13 Oct 2021 17:29:58 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210920030811.57273-9-sireeshkodali1@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/19/21 10:08 PM, Sireesh Kodali wrote: > From: Vladimir Lypak > > Interrupts on IPA v2.x have different numbers from the v3.x and above > interrupts. IPA v2.x also doesn't support the TX_SUSPEND irq, like v3.0 I'm not sure I like this way of fixing the interrupt ids (by adding an offset), but it's a simple change. (And now I have a better understanding for why the "fixup" function exists). -Alex > > Signed-off-by: Vladimir Lypak > Signed-off-by: Sireesh Kodali > --- > drivers/net/ipa/ipa_interrupt.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c > index 94708a23a597..37b5932253aa 100644 > --- a/drivers/net/ipa/ipa_interrupt.c > +++ b/drivers/net/ipa/ipa_interrupt.c > @@ -63,6 +63,11 @@ static bool ipa_interrupt_check_fixup(enum ipa_irq_id *irq_id, enum ipa_version > > if (*irq_id >= IPA_IRQ_DRBIP_PKT_EXCEED_MAX_SIZE_EN) > return version >= IPA_VERSION_4_9; > + else if (*irq_id > IPA_IRQ_BAM_GSI_IDLE) > + return version >= IPA_VERSION_3_0; > + else if (version <= IPA_VERSION_2_6L && > + *irq_id >= IPA_IRQ_PROC_UC_ACK_Q_NOT_EMPTY) > + *irq_id += 2; > > return true; > } > @@ -152,8 +157,8 @@ static void ipa_interrupt_suspend_control(struct ipa_interrupt *interrupt, > > WARN_ON(!(mask & ipa->available)); > > - /* IPA version 3.0 does not support TX_SUSPEND interrupt control */ > - if (ipa->version == IPA_VERSION_3_0) > + /* IPA version <=3.0 does not support TX_SUSPEND interrupt control */ > + if (ipa->version <= IPA_VERSION_3_0) > return; > > offset = ipa_reg_irq_suspend_en_offset(ipa->version); > @@ -190,7 +195,7 @@ void ipa_interrupt_suspend_clear_all(struct ipa_interrupt *interrupt) > val = ioread32(ipa->reg_virt + offset); > > /* SUSPEND interrupt status isn't cleared on IPA version 3.0 */ > - if (ipa->version == IPA_VERSION_3_0) > + if (ipa->version <= IPA_VERSION_3_0) > return; > > offset = ipa_reg_irq_suspend_clr_offset(ipa->version); >