From patchwork Tue Dec 14 14:57:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kleber Sacilotto de Souza X-Patchwork-Id: 1567777 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=TMyb6y5a; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JD1gw3vghz9s3q for ; Wed, 15 Dec 2021 01:57:32 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mx9F5-0004u3-46; Tue, 14 Dec 2021 14:57:23 +0000 Received: from smtp-relay-internal-1.internal ([10.131.114.114] helo=smtp-relay-internal-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mx9F3-0004tu-En for kernel-team@lists.ubuntu.com; Tue, 14 Dec 2021 14:57:21 +0000 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 3F45F3F044 for ; Tue, 14 Dec 2021 14:57:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1639493841; bh=zo1QJXpc2F3Qc/wiQLCy5lZtx5IZ7xf1Ticm9IAqIwA=; h=To:References:From:Subject:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type; b=TMyb6y5aEl60Wa879NTw/eNWpDnygud3ANQgukSiORCR+AEA8WRLTBQtaLIsVPDgy Xw01xjZH5ucRmbm+OZpBbgtFsFXEuAnX6+JZ/HTGVwTpeJhVRUl81/MOuAJkBunrph YjF4ZgRD9GXPUELBy0NzdwWknjNlwWukPcz5o61DYSBBblS0bu3r2BV8hr5MXi270V HA71F9NneFcDxxx7KUWbFXaXvtuRHpi7GLN+Jzh7sN35Eo9u3PUIQvpm19u0GSLIfj C3fiKYHConTZoS9lCHT2XjIj+883rHFWP01RChpRFrLhw5qjvAJuUsjsXEEAHGLQYo fmFjsipMAvlAQ== Received: by mail-wr1-f69.google.com with SMTP id v18-20020a5d5912000000b001815910d2c0so4777830wrd.1 for ; Tue, 14 Dec 2021 06:57:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:to:references:from:subject:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=zo1QJXpc2F3Qc/wiQLCy5lZtx5IZ7xf1Ticm9IAqIwA=; b=ZSqIzJ75X2XuyZehtDqsaMNqYUn7u66bNEkwmzl1+rDfj985Pky+etWGinT4xK04YJ /AkZHD9y9ukGQm9MMRq+9JwRrUoHpTrQYMvvFvrpuCvnklLQM6TjqPc7Bk2Y2X9e/2YD LhxBUhL+dcGUOyuONzzsnINOf4tKskkBquG91Rfi9ShTvqRaBnuaZYpQIiVXN17tyN6I 4jzrbXVVJRRitHVUWl5gYAB8cBwyg3ASn2YILNxY2Oi2aRyb/o8f/ZvRhDnvPyZGPH6h /chRv7XJOqfZcxszUv1q1doeO//eKwjrFbfkJ9f8y95IE+PfnFQFpz5FjQ+R5hgHhYSb SL7A== X-Gm-Message-State: AOAM533n6umj6md9YXpkVDL6z8fV8yy0IG/6GSzOlB7r+jOMA6oUbI/4 M/v+fgvUujwd1kGQaOVZu+5sflep1nimIV4DnkoY1LVBhdme8IhIquwKb1lHhaa7e/kG2mf7zv4 4R+tPh3ROy+L+09S/KCf7OTp5JFbWFSUFxU8rvpr0gw== X-Received: by 2002:a5d:64ee:: with SMTP id g14mr6356287wri.446.1639493840819; Tue, 14 Dec 2021 06:57:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJxvadXCxmbeaGd16jAoW3dwI4GGxKoolvLYnKDWQDztdnu6dcahxL3M/+2y389CYzuLhANfAQ== X-Received: by 2002:a5d:64ee:: with SMTP id g14mr6356261wri.446.1639493840568; Tue, 14 Dec 2021 06:57:20 -0800 (PST) Received: from [192.168.68.108] (p2e5b0be0.dip0.t-ipconnect.de. [46.91.11.224]) by smtp.gmail.com with ESMTPSA id m125sm2303540wmm.39.2021.12.14.06.57.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Dec 2021 06:57:20 -0800 (PST) To: Michael Reed , kernel-team@lists.ubuntu.com References: <20211203004358.35238-1-michael.reed@canonical.com> From: Kleber Souza Subject: ACK/cmnt: [SRU][Impish][Pull] Broadcom mpi3mr driver submission request Message-ID: Date: Tue, 14 Dec 2021 15:57:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20211203004358.35238-1-michael.reed@canonical.com> Content-Language: en-US X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" On 03.12.21 01:43, Michael Reed wrote: > BugLink: https://launchpad.net/bugs/1933359 > > SRU Justification: > > [Impact] > Broadcom is coming up with next generation high performance Storage IO and RAID controllers. For details, follow: https://www.spinics.net/lists/linux-scsi/msg147868.html > This family of controllers is managed by "mpi3mr" Linux device driver(written from scratch). First patchset of the driver is accepted by Linux upstream. > The driver is available in git branch - 5.14/scsi-staging of Linux SCSI tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git > The driver will be part of 5.14 mainline Linux kernel release. Here is the list of commit ids: > > [Fixes] > 9fc4abfe5a5f scsi: mpi3mr: Add event handling debug prints > 74e1f30a2868 scsi: mpi3mr: Add EEDP DIF DIX support > 28cbe2f420d3 scsi: mpi3mr: Add support for DSN secure firmware check > 2f9c4d520aa6 scsi: mpi3mr: Add support for PM suspend and resume > 44dc724f5eec scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout > 71e80106d059 scsi: mpi3mr: Print pending host I/Os for debugging > f061178e0762 scsi: mpi3mr: Complete support for soft reset > 463429f8dd5c scsi: mpi3mr: Add support for threaded ISR > 392bbeb85b2a scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives > 82141ddba90a scsi: mpi3mr: Allow certain commands during pci-remove hook > 0ea177343f1f scsi: mpi3mr: Add change queue depth support > e844adb1fbdc scsi: mpi3mr: Implement SCSI error handler hooks > 8f9c6173ca46 scsi: mpi3mr: Add bios_param SCSI host template hook > ff9561e910fc scsi: mpi3mr: Print IOC info for debugging > 54dfcffb4191 scsi: mpi3mr: Add support for timestamp sync with firmware > fb9b04574f14 scsi: mpi3mr: Add support for recovering controller > e36710dc06e3 scsi: mpi3mr: Additional event handling > 8e653455547a scsi: mpi3mr: Add support for PCIe device event handling > 13ef29ea4aa0 scsi: mpi3mr: Add support for device add/remove event handling > 672ae26c8216 scsi: mpi3mr: Add support for internal watchdog thread > 023ab2a9b4ed scsi: mpi3mr: Add support for queue command processing > c9566231cfaf scsi: mpi3mr: Create operational request and reply queue pair > 824a156633df scsi: mpi3mr: Base driver code > c4f7ac64616e scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig We are missing setting up the Ubuntu config to enable this driver. Assuming it's enough to have it as a module this can be done when applying the PR: > > > [Testing] > Load the driver > Run IO > > [Regression Risk] > No extra test cases are needed, normal regression test cases such as driver load & running IOs are enough. > > [Other Info] > https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/impish/+ref/mpi3mr_driver_bcom2 > > > The following changes since commit b188ba567fc92eebd36f679de7ba1b8c2354839d: > > UBUNTU: Ubuntu-5.13.0-23.23 (2021-11-26 12:14:32 +0100) > > are available in the Git repository at: > > https://git.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/impish mpi3mr_driver_bcom2 > > for you to fetch changes up to 10819371706eec8f7d057f92bfdaaf777dc1ffe2: > > scsi: mpi3mr: Add event handling debug prints (2021-12-02 14:53:03 -0600) With the config setup accordingly: Acked-by: Kleber Sacilotto de Souza Thanks > > ---------------------------------------------------------------- > Kashyap Desai (24): > scsi: mpi3mr: Add mpi30 Rev-R headers and Kconfig > scsi: mpi3mr: Base driver code > scsi: mpi3mr: Create operational request and reply queue pair > scsi: mpi3mr: Add support for queue command processing > scsi: mpi3mr: Add support for internal watchdog thread > scsi: mpi3mr: Add support for device add/remove event handling > scsi: mpi3mr: Add support for PCIe device event handling > scsi: mpi3mr: Additional event handling > scsi: mpi3mr: Add support for recovering controller > scsi: mpi3mr: Add support for timestamp sync with firmware > scsi: mpi3mr: Print IOC info for debugging > scsi: mpi3mr: Add bios_param SCSI host template hook > scsi: mpi3mr: Implement SCSI error handler hooks > scsi: mpi3mr: Add change queue depth support > scsi: mpi3mr: Allow certain commands during pci-remove hook > scsi: mpi3mr: Hardware workaround for UNMAP commands to NVMe drives > scsi: mpi3mr: Add support for threaded ISR > scsi: mpi3mr: Complete support for soft reset > scsi: mpi3mr: Print pending host I/Os for debugging > scsi: mpi3mr: Wait for pending I/O completions upon detection of VD I/O timeout > scsi: mpi3mr: Add support for PM suspend and resume > scsi: mpi3mr: Add support for DSN secure firmware check > scsi: mpi3mr: Add EEDP DIF DIX support > scsi: mpi3mr: Add event handling debug prints > > drivers/scsi/Kconfig | 1 + > drivers/scsi/Makefile | 1 + > drivers/scsi/mpi3mr/Kconfig | 7 + > drivers/scsi/mpi3mr/Makefile | 4 + > drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h | 1880 +++++++++++++ > drivers/scsi/mpi3mr/mpi/mpi30_image.h | 216 ++ > drivers/scsi/mpi3mr/mpi/mpi30_init.h | 159 ++ > drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 1004 +++++++ > drivers/scsi/mpi3mr/mpi/mpi30_sas.h | 33 + > drivers/scsi/mpi3mr/mpi/mpi30_transport.h | 463 ++++ > drivers/scsi/mpi3mr/mpi3mr.h | 900 +++++++ > drivers/scsi/mpi3mr/mpi3mr_debug.h | 60 + > drivers/scsi/mpi3mr/mpi3mr_fw.c | 3956 ++++++++++++++++++++++++++++ > drivers/scsi/mpi3mr/mpi3mr_os.c | 4054 +++++++++++++++++++++++++++++ > 14 files changed, 12738 insertions(+) > create mode 100644 drivers/scsi/mpi3mr/Kconfig > create mode 100644 drivers/scsi/mpi3mr/Makefile > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_image.h > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_init.h > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_ioc.h > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_sas.h > create mode 100644 drivers/scsi/mpi3mr/mpi/mpi30_transport.h > create mode 100644 drivers/scsi/mpi3mr/mpi3mr.h > create mode 100644 drivers/scsi/mpi3mr/mpi3mr_debug.h > create mode 100644 drivers/scsi/mpi3mr/mpi3mr_fw.c > create mode 100644 drivers/scsi/mpi3mr/mpi3mr_os.c > --- a/debian.master/config/config.common.ubuntu +++ b/debian.master/config/config.common.ubuntu @@ -9133,6 +9133,7 @@ CONFIG_SCSI_LOWLEVEL_PCMCIA=y  CONFIG_SCSI_LPFC=m  # CONFIG_SCSI_LPFC_DEBUG_FS is not set  CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPI3MR=m  CONFIG_SCSI_MPT2SAS=m  CONFIG_SCSI_MPT2SAS_MAX_SGE=128  CONFIG_SCSI_MPT3SAS=m