From patchwork Sun Oct 30 00:18:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 875 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1567210wru; Sat, 29 Oct 2022 17:20:14 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4Cv34LYa7TbmgjVkshDI7N6LHoxY0Pu6TpzwmUOF1VsJjj+492QUa7PkUlPScfDCwkE9rA X-Received: by 2002:a17:90b:1097:b0:213:9716:20b3 with SMTP id gj23-20020a17090b109700b00213971620b3mr10547629pjb.72.1667089213692; Sat, 29 Oct 2022 17:20:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667089213; cv=none; d=google.com; s=arc-20160816; b=TAyQI1PnYiZEpy7jUXo2T4qducJ2xthgLRsSDWhVtrj75skC8H2pcU2EEcnT9YL5x8 s689GGEhhGRGpvFYoAV5as0oFxwKU2bud3WQL+DDBAXOqN3dNF3C9m3pfMplfMGtRypQ y6QIdRfJN/XCOnYq/rmgy/QfB1/64BxYehvsZ+6FG+5Pi2SexIgtx4ltMDcTqXdsyeiQ 0PZ+XGPaqjbLWM5f8etJT+cXqwUVIVFk+Xz4rsNXWq9gHmq/qrr6WPCDs4/TkTup1oQA 9ClVajXftg2IoiTYnTd1f9R2RcM/ESKIIyb9sNUyAquMuraHjbPhxxC3qONtAW/W1Syp c0MQ== 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d3-20020a056a0024c300b0056bc627dbeesi3775247pfv.124.2022.10.29.17.20.00; Sat, 29 Oct 2022 17:20:13 -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 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748069739246232172?= X-GMAIL-MSGID: =?utf-8?q?1748069739246232172?= 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(-)