From patchwork Fri May 21 10:25:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandrakanth patil X-Patchwork-Id: 446236 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, MIME_HEADER_CTYPE_ONLY, SPF_HELO_NONE, SPF_PASS, T_TVD_MIME_NO_HEADERS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2AF5C433B4 for ; Fri, 21 May 2021 10:26:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 848E7613BD for ; Fri, 21 May 2021 10:26:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230510AbhEUK1x (ORCPT ); Fri, 21 May 2021 06:27:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43220 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231694AbhEUK1r (ORCPT ); Fri, 21 May 2021 06:27:47 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A57DAC061574 for ; Fri, 21 May 2021 03:26:24 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id j12so13871916pgh.7 for ; Fri, 21 May 2021 03:26:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=x5u1epN6NkUWWXgsf2+3NPQHVwMp8CfaffzIpbESIQE=; b=Ekm5Us3LPAQqZkxz7/bIhulhDteMaieVY1FG0aFXKfnzghn/4jxWjF16yORqtZhqM3 1cZnNS6P5ivkFvlDFHuYTyLWwPID/JXdh09k/XWRW6TenoVpkImc8j4E797mWYZ0R1Kr yeYgSl37RMX04xwRXwFEnA9TRcIsSzJNCypZ8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=x5u1epN6NkUWWXgsf2+3NPQHVwMp8CfaffzIpbESIQE=; b=kl1Ej7wlER59Up9fsSEWVXKeIx5HyJhS/7UYioqbEur5BCNoYxK9lxL5s6YTilQnlY EC0EjKnOuJ55d/RZ1+aPySXi1uXMGmd54IENRevUCeIMX7KjWujtYiKGQq+4J3MFzhbE kV/JwilIwXy31wp40F5IWYdO+RPzh6FvJ3zHA8zgyc4WNjHasMX8aThYJrlN6Ges+vZ9 909S7UoBal5YG6Y3gHIsgFpWgwL/c/yfoHHsJ00y5kgxheqyV5S00HGAjH7hsgB1h5SQ E+IryDDiEdJVNpvC8Ybn0ApBZuZA4YvPcNBrDs0CnVWvkAGHaslaNZZQtU6y0Vng7mUl Cl5A== X-Gm-Message-State: AOAM532w4RWSP2GnBSP/TPMi6oEmKZIyoWqpq7fB47eG7sWCZMcPxF7n ZYJy27Wjqg2p7tgIbQ1ZgdlRIgKUAjP2GGnI X-Google-Smtp-Source: ABdhPJzFspZHWyut2RCjQhjaCIdLMnhnX3+RLylZldAPB90MhiHXno55mlhd/9CaNYtfajQSVlhu9g== X-Received: by 2002:a05:6a00:787:b029:2dd:15b6:515a with SMTP id g7-20020a056a000787b02902dd15b6515amr9666178pfu.26.1621592784108; Fri, 21 May 2021 03:26:24 -0700 (PDT) Received: from dhcp-10-123-20-83.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id j3sm4197858pfe.98.2021.05.21.03.26.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 May 2021 03:26:23 -0700 (PDT) From: Chandrakanth Patil To: linux-scsi@vger.kernel.org Cc: kashyap.desai@broadcom.com, sumit.saxena@broadcom.com, Chandrakanth Patil , stable@vger.kernel.org Subject: [PATCH v2 1/5] megaraid_sas: Send all non-RW IOs for TYPE_ENCLOSURE device through firmware Date: Fri, 21 May 2021 15:55:44 +0530 Message-Id: <20210521102548.11156-2-chandrakanth.patil@broadcom.com> X-Mailer: git-send-email 2.18.1 In-Reply-To: <20210521102548.11156-1-chandrakanth.patil@broadcom.com> References: <20210521102548.11156-1-chandrakanth.patil@broadcom.com> Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org Driver issues all non-ReadWrite IOs for TYPE_ENCLOSURE devices through the fast path with invalid dev handle and fast path inturn directs all the IOs to the firmware. As firmware stopped handling those IOs from SAS3.5 generation of controllers (Ventura and its onward generations) lead to IOs failure. The driver will issue all the non-ReadWrite IOs for TYPE_ENCLOSURE devices directly to firmware from SAS3.5 generation of controllers. Cc: # v5.11+ Signed-off-by: Chandrakanth Patil Signed-off-by: Sumit Saxena --- drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index 2221175ae051..cd94a0c81f83 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -3203,6 +3203,8 @@ megasas_build_io_fusion(struct megasas_instance *instance, { int sge_count; u8 cmd_type; + u16 pd_index = 0; + u8 drive_type = 0; struct MPI2_RAID_SCSI_IO_REQUEST *io_request = cmd->io_request; struct MR_PRIV_DEVICE *mr_device_priv_data; mr_device_priv_data = scp->device->hostdata; @@ -3237,8 +3239,12 @@ megasas_build_io_fusion(struct megasas_instance *instance, megasas_build_syspd_fusion(instance, scp, cmd, true); break; case NON_READ_WRITE_SYSPDIO: - if (instance->secure_jbod_support || - mr_device_priv_data->is_tm_capable) + pd_index = MEGASAS_PD_INDEX(scp); + drive_type = instance->pd_list[pd_index].driveType; + if ((instance->secure_jbod_support || + mr_device_priv_data->is_tm_capable) || + (instance->adapter_type >= VENTURA_SERIES && + drive_type == TYPE_ENCLOSURE)) megasas_build_syspd_fusion(instance, scp, cmd, false); else megasas_build_syspd_fusion(instance, scp, cmd, true);