Received: by 2002:a05:6358:795:b0:dc:4c66:fc3e with SMTP id n21csp1129709rwj; Sat, 29 Oct 2022 17:32:17 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6aAC4NDGvKpitp3pxNw22Bi7edTn87xFNb5Gm03MIcgQiSkt3PIlHPlm+8Sigbbtd5DfJf X-Received: by 2002:aa7:cfda:0:b0:461:9d22:3484 with SMTP id r26-20020aa7cfda000000b004619d223484mr6666296edy.142.1667089937428; Sat, 29 Oct 2022 17:32:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667089937; cv=none; d=google.com; s=arc-20160816; b=z14W9dAHGMjlg271MfB0/I7wFJh3TLE8LLtziYCH6+Oo7rAHt1Z9n9chlySrvjiBwp V8NBUXL8IYc6KDqRzYJficPotJNJgPkK6m/5YD4ABtClqujT0UelPzwnHDTm4sbxiIBT U8EHaQGNmRH1lGY+05R1a/J/oKxlNL+eDj8qIXeicjoTVOgdntuO7iGcFfBOi/tavxJl pe2IYrf/60NUNCZUGa/PYR7GOcqmnYzbyfG7ZUzZwg4KpNPXFBftJ2WYLfLfL5JfL/dl ltnARpKnIB7+pWcMEJ3IpULp0z633sO1a90cjxf10TomjoBQogiydG9Y6WRSsC7pSu0k 0cEA== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=JjHQrp4EVDI8n+t1cgspBMWy1K3NeCgFafwd7Mct33w=; b=jx2hFhm3MQJi1RLMp3OdRhbVEnzE9kLiOhz/AEvDVtEypGhC0BhBmjP9QN6S5PW70k bWxVqlXFpXegWrmcXGkqFEsUygQQ0OVlGN7MUivbA+jyj7fdMc87chXMUNmcihGfvjcN ybRAH/Cjy5YMdYRpkNiWXWjbbW7XUeMJHRO6Ny1qQaSgmr4nV8OAmSYaRZWQmwSekmYY 9Bwn8Of5EUCBLSILYQIky9sH680hoaWQ9UDk410VYrxap3p+mGWjKKaRti5/Rlslci2R 7CG6PkUyMl7wKBjXvqtLhcIEPuMLQI3FrZ5mSHfZ34uqWWSZNEzvQAIXclNERIRLk8zJ uwZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vCQsA14K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gt41-20020a1709072da900b0078d2a84f2f8si3554062ejc.645.2022.10.29.17.31.47; Sat, 29 Oct 2022 17:32:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vCQsA14K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229730AbiJ3ASk (ORCPT + 99 others); Sat, 29 Oct 2022 20:18:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229678AbiJ3ASh (ORCPT ); Sat, 29 Oct 2022 20:18:37 -0400 Received: from mail-io1-xd33.google.com (mail-io1-xd33.google.com [IPv6:2607:f8b0:4864:20::d33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AE8324BE1 for ; Sat, 29 Oct 2022 17:18:35 -0700 (PDT) Received: by mail-io1-xd33.google.com with SMTP id h206so3909411iof.10 for ; Sat, 29 Oct 2022 17:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JjHQrp4EVDI8n+t1cgspBMWy1K3NeCgFafwd7Mct33w=; b=vCQsA14K/mjpp2iHhDOvehLXBhPnOJE5yfjbmYukbJmldzsXZg5Ob+hZpg7w4CNk5h 2SP6Yn6oKCNVMOtvspxTUWH+6Q+MrUDnrYwcOip8qrCyTkVI+30atqUYKO3XQ6pU0m85 il37XGg4p3gGb3YLQ7nq9pi4BaZWZZjEu3aa+8OhiyTWnqF9LbT13Gv3HdVJf8p/jclx +K8EofOj0HrxPmOJNPkFla14pL5l0b2Q2hklgV1TW7lBK2+RJiQEPtVH2BvxlKMeGre4 P3VEwq3Vym7GzQ+XZ7hwuxCBxSKFW/r4dk19E91KCCm4SBdJPu+LelMIc78flMJM+SqT Ur0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JjHQrp4EVDI8n+t1cgspBMWy1K3NeCgFafwd7Mct33w=; b=ahxRZkhCqPIOYU10imKj7jryJj683/SxGQI50nU2reTkdXoOc8HKQ0zf+/nQTPpWK1 OyEw8fSMEoNRnkpVxIaSHOnOdXBARsc4qVYg+dxjjRRypaGHhdjoRJVDkBpfp4BgBtOa 1GKpEhSHSVhalgpKtEey6Oeq/dVynF9FZ3U/D7jTLkZuW6mudnkUFbcma5PVIVTsEbE8 e3PY4AabDOQKyGt201ZMTh/vYQTK5nlF0l+oMoILlgsRU3cDWCiljjo7VKXiIX2//3bU 6gy11/ytLsO+7Z3I55Mc1tYTsNW69fm/pbAcAuTaTKBqJUU2How/FBolqtSWQPvRTIxr 3k/g== X-Gm-Message-State: ACrzQf1uvejJXFqkRdLQNFtGq7Njig9Hu1XlHw/f8l/J7gnAZ5xbDAfE Lm6wLRrJkfhl5QldXGEJClaiRQ== X-Received: by 2002:a05:6638:2646:b0:374:f6f6:2e12 with SMTP id n6-20020a056638264600b00374f6f62e12mr3298217jat.182.1667089114811; Sat, 29 Oct 2022 17:18:34 -0700 (PDT) Received: from presto.localdomain ([98.61.227.136]) by smtp.gmail.com with ESMTPSA id co20-20020a0566383e1400b00375126ae55fsm1087519jab.58.2022.10.29.17.18.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Oct 2022 17:18:33 -0700 (PDT) From: Alex Elder To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: mka@chromium.org, evgreen@chromium.org, andersson@kernel.org, quic_cpratapa@quicinc.com, quic_avuyyuru@quicinc.com, quic_jponduru@quicinc.com, quic_subashab@quicinc.com, elder@kernel.org, netdev@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 0/9] net: ipa: support more endpoints Date: Sat, 29 Oct 2022 19:18:19 -0500 Message-Id: <20221030001828.754010-1-elder@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series adds support for more than 32 IPA endpoints. To do this, five registers whose bits represent endpoint state are replicated as needed to represent endpoints beyond 32. For existing platforms, the number of endpoints is never greater than 32, so there is just one of each register. IPA v5.0+ supports more than that though; these changes prepare the code for that. Beyond that, the IPA fields that represent endpoints in a 32-bit bitmask are updated to support an arbitrary number of these endpoint registers. (There is one exception, explained in patch 7.) The first two patches are some sort of unrelated cleanups, making use of a helper function introduced recently. The third and fourth use parameterized functions to determine the register offset for registers that represent endpoints. The last five convert fields representing endpoints to allow more than 32 endpoints to be represented. Signed-off-by: Alex Elder Alex Elder (9): net: ipa: reduce arguments to ipa_table_init_add() net: ipa: use ipa_table_mem() in ipa_table_reset_add() net: ipa: add a parameter to aggregation registers net: ipa: add a parameter to suspend registers net: ipa: use a bitmap for defined endpoints net: ipa: use a bitmap for available endpoints net: ipa: support more filtering endpoints net: ipa: use a bitmap for set-up endpoints net: ipa: use a bitmap for enabled endpoints drivers/net/ipa/ipa.h | 26 +++-- drivers/net/ipa/ipa_endpoint.c | 167 +++++++++++++++------------ drivers/net/ipa/ipa_endpoint.h | 2 +- drivers/net/ipa/ipa_interrupt.c | 34 ++++-- drivers/net/ipa/ipa_main.c | 7 +- drivers/net/ipa/ipa_table.c | 88 +++++++------- drivers/net/ipa/ipa_table.h | 6 +- drivers/net/ipa/reg/ipa_reg-v3.1.c | 13 ++- drivers/net/ipa/reg/ipa_reg-v3.5.1.c | 13 ++- drivers/net/ipa/reg/ipa_reg-v4.11.c | 13 ++- drivers/net/ipa/reg/ipa_reg-v4.2.c | 13 ++- drivers/net/ipa/reg/ipa_reg-v4.5.c | 13 ++- drivers/net/ipa/reg/ipa_reg-v4.9.c | 13 ++- 13 files changed, 227 insertions(+), 181 deletions(-) -- 2.34.1