From patchwork Wed Nov 9 18:42:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 1404 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp500548wru; Wed, 9 Nov 2022 10:43:22 -0800 (PST) X-Google-Smtp-Source: AMsMyM435G5WHbFphsSBltRUhsTB2xFoBz7u/vIpx7uTyzTGTYQz0zennceJE5LvCzoG6cdWMS5I X-Received: by 2002:a17:90a:e606:b0:212:f100:22e3 with SMTP id j6-20020a17090ae60600b00212f10022e3mr81739183pjy.83.1668019401750; Wed, 09 Nov 2022 10:43:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668019401; cv=none; d=google.com; s=arc-20160816; b=hwzJz0vJlI0Ag0ztH95Pi34BQlR665JUJL5S4j2kdPJCep+Pg+LLR3l+KsN7TwXDfO e8yMkrIrAkBVBT03vvvi6Zgzm/D6iHQUiLo9a2eZdd7c05UvH4d+JCO66RRiv65kzwxX xo1idBeZd03YKu7QAl5u7ReHLQBpDbdL5rX1ertLfA8vX/escRcyYzU0y7Jd/Q75gPzL omUUXU30qUAHkzUF2mQcbANw9lC27/jwZqN3A7RF55i0vz24ba7QJaWwJYwJAIUKt4CQ IUGdH/NgC1Pm0j4e0trbQi8KJt6txBQVEnqkLABZbNiAhlSqJT2cUiOnIOVli3dETGVy Ss6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=dB0UvAC9qRRi5JRmDnt/vBs1sSk0zJ8lYzCltRQocc0=; b=mZcEiDoVPJ7sVvvVNDu2s2jeyNhnCNFzDaqstAxT3dbsPJi4Upsul96rNg9oJb8WEZ PH8HzOxCuibCcNZtfGfDwhEn2VNBUF+BZA0a3uZm5rcbB+A6QeQku6DByz2F8/eKxb7k lV7fPsGpWvooMvhkpMH74YA/fAZkI8la9ThexwxbfxEWuETC8DmCgKVeOWS4319upcSt +pAzpY4Dgy4Ai3vfYTo3v1m9JS15cMsZW3MPENwi4ZNxcv0n2I4/p3KIyOvrM38Z+dHv 3EOT3FR5u94U0YN9UOXY5Bn/qyCDQqpNFUr0p2YQguQXrHz7nsla4/pgBWEgdHDGghIq pt2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b=gA3xojlk; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q6-20020a631f46000000b00437ec09f591si15879752pgm.135.2022.11.09.10.43.06; Wed, 09 Nov 2022 10:43:20 -0800 (PST) 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=@broadcom.com header.s=google header.b=gA3xojlk; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229691AbiKISm5 (ORCPT + 99 others); Wed, 9 Nov 2022 13:42:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230261AbiKISmy (ORCPT ); Wed, 9 Nov 2022 13:42:54 -0500 Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7FFE8F5B0 for ; Wed, 9 Nov 2022 10:42:53 -0800 (PST) Received: by mail-qt1-x834.google.com with SMTP id h21so10886892qtu.2 for ; Wed, 09 Nov 2022 10:42:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=dB0UvAC9qRRi5JRmDnt/vBs1sSk0zJ8lYzCltRQocc0=; b=gA3xojlkYjkNffbgpbwGSuTDYlQBm8qLvW8KHBYJXV+UUxpEXAnN+siFhPKh02SgE1 8+g6AnXj5U9cWwPUUT/Cvn/uWygCgyancEqlaq8h71teMF07NGDJeD4jODWuk/E11Hy/ yyzphYBDPfVeGIDXPJxBbKxCR4MnOZEbRLOac= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=dB0UvAC9qRRi5JRmDnt/vBs1sSk0zJ8lYzCltRQocc0=; b=hwAtx5YtRq5/Jq54jOvcta5ghSGKrFgY0eAElhYuqcvZwgcJk2ydt9sWOwTO4r6HZU BtBwa0jCH3+dtb/aEDU47CERZ1ep0K8IrW3oal5LEtL3QyVznH8D3Tvc6/7DbWpavhDv W1C3UsBW78CsU3cDmEOI7Rht2xvwnYtAB+uYA39dafBcERLksmXl7R+NDsjxmyMVWnis nkou9xOLe6eVTFXg1ovoD9HAHoScW3xwkgJ+6Qcm3e1Ygx/lKTu3mOTuxWYwn0zmRMc8 /c+ZX8IZdkj7S93yjsyIDfbeZ4XT8cQToDb+/6PjqRr+jT/aUV+H0NO313kQxS6oA8vh DEZQ== X-Gm-Message-State: ACrzQf19IY57BdePKJjEJ3+YxtCLzo+3MRW7gr38oc0xSn2wSuKo1nub 5R0NmgdQhfxBzpwxPOI2wqSEhOcxZ9re8A== X-Received: by 2002:ac8:4d82:0:b0:3a5:1bae:a18f with SMTP id a2-20020ac84d82000000b003a51baea18fmr46763080qtw.265.1668019372642; Wed, 09 Nov 2022 10:42:52 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id u17-20020a05622a011100b003a598fcddefsm4795108qtw.87.2022.11.09.10.42.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Nov 2022 10:42:51 -0800 (PST) From: Ajit Khaparde To: ajit.khaparde@broadcom.com Cc: andrew.gospodarek@broadcom.com, davem@davemloft.net, edumazet@google.com, jgg@ziepe.ca, kuba@kernel.org, leon@kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, michael.chan@broadcom.com, netdev@vger.kernel.org, pabeni@redhat.com, selvin.xavier@broadcom.com Subject: [PATCH v4 0/6] Add Auxiliary driver support Date: Wed, 9 Nov 2022 10:42:38 -0800 Message-Id: <20221109184244.7032-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.37.1 (Apple Git-137.1) MIME-Version: 1.0 X-Spam-Status: No, score=1.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MIME_NO_TEXT, RCVD_IN_DNSWL_NONE,SORTED_RECIPS,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * 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?1749045112358972378?= X-GMAIL-MSGID: =?utf-8?q?1749045112358972378?= Add auxiliary device driver for Broadcom devices. The bnxt_en driver will register and initialize an aux device if RDMA is enabled in the underlying device. The bnxt_re driver will then probe and initialize the RoCE interfaces with the infiniband stack. We got rid of the bnxt_en_ops which the bnxt_re driver used to communicate with bnxt_en. Similarly We have tried to clean up most of the bnxt_ulp_ops. In most of the cases we used the functions and entry points provided by the auxiliary bus driver framework. And now these are the minimal functions needed to support the functionality. We will try to work on getting rid of the remaining if we find any other viable option in future. v1->v2: - Incorporated review comments including usage of ulp_id & complex function indirections. - Used function calls provided by the auxiliary bus interface instead of proprietary calls. - Refactor code to remove ROCE driver's access to bnxt structure. v2->v3: - Addressed review comments including cleanup of some unnecessary wrappers - Fixed warnings seen during cross compilation v3->v4: - Cleaned up bnxt_ulp.c and bnxt_ulp.h further - Removed some more dead code - Sending the patchset as a standalone series Please apply. Thanks. Ajit Khaparde (5): bnxt_en: Add auxiliary driver support RDMA/bnxt_re: Use auxiliary driver interface bnxt_en: Remove usage of ulp_id bnxt_en: Use direct API instead of indirection bnxt_en: Use auxiliary bus calls over proprietary calls Hongguang Gao (1): bnxt_en: Remove struct bnxt access from RoCE driver drivers/infiniband/hw/bnxt_re/bnxt_re.h | 9 +- drivers/infiniband/hw/bnxt_re/main.c | 578 +++++++----------- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 8 + drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 388 ++++++------ drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 52 +- 6 files changed, 463 insertions(+), 582 deletions(-)