From patchwork Tue Jun 5 16:10:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Salisbury X-Patchwork-Id: 925541 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 410cH20shXz9s1B; Wed, 6 Jun 2018 02:10:54 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1fQEXn-000658-Jv; Tue, 05 Jun 2018 16:10:47 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1fQEXj-00062m-BH for kernel-team@lists.ubuntu.com; Tue, 05 Jun 2018 16:10:43 +0000 Received: from 1.general.jsalisbury.us.vpn ([10.172.67.212] helo=salisbury) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fQEXj-0002R7-0j for kernel-team@lists.ubuntu.com; Tue, 05 Jun 2018 16:10:43 +0000 Received: by salisbury (Postfix, from userid 1000) id E2A667E2584; Tue, 5 Jun 2018 12:10:41 -0400 (EDT) From: Joseph Salisbury To: kernel-team@lists.ubuntu.com Subject: [SRU][Bionic][PATCH 2/2] [PATCH] scsi: lpfc: Fix 16gb hbas failing cq create. Date: Tue, 5 Jun 2018 12:10:41 -0400 Message-Id: <2591cd80eb8bd781f92d2e95f4382e33b4ddf9f7.1528128160.git.joseph.salisbury@canonical.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: In-Reply-To: References: 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: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: James Smart BugLink: http://bugs.launchpad.net/bugs/1768103 The lancer G5 chip family fails the CQ create with 16k page size. The hardware incorrectly reports it supports large page sizes when it is actually limited to 4k pages. A prior patch resolved this for the A0 chip revision only. This patch excludes all revisions of the G5 asic from using large page sizes. As knowing the actual chip revision is unnecessary, the now unused definitions are removed Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Hannes Reinecke Signed-off-by: Martin K. Petersen (cherry picked from linux-next commit c221768bd49a7423be57c00a56985c0e9c4122cd) Signed-off-by: Joseph Salisbury --- drivers/scsi/lpfc/lpfc_hw4.h | 11 ----------- drivers/scsi/lpfc/lpfc_init.c | 9 +-------- drivers/scsi/lpfc/lpfc_sli4.h | 1 - 3 files changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h index 014b707..a2dcc82 100644 --- a/drivers/scsi/lpfc/lpfc_hw4.h +++ b/drivers/scsi/lpfc/lpfc_hw4.h @@ -104,17 +104,6 @@ struct lpfc_sli_intf { #define LPFC_SLI_INTF_IF_TYPE_VIRT 1 }; -struct lpfc_sli_asic_rev { - u32 word0; -#define LPFC_SLI_ASIC_VER_A 0x0 -#define LPFC_SLI_ASIC_VER_B 0x1 -#define LPFC_SLI_ASIC_VER_C 0x2 -#define LPFC_SLI_ASIC_VER_D 0x3 -#define lpfc_sli_asic_ver_SHIFT 4 -#define lpfc_sli_asic_ver_MASK 0x0000000F -#define lpfc_sli_asic_ver_WORD word0 -}; - #define LPFC_SLI4_MBX_EMBED true #define LPFC_SLI4_MBX_NEMBED false diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 1710dfd..e10808a 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -9502,11 +9502,6 @@ lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba) return error; } - if (pci_read_config_dword(pdev, LPFC_SLI_ASIC_VER, - &phba->sli4_hba.sli_asic_ver.word0)) { - return error; - } - /* There is no SLI3 failback for SLI4 devices. */ if (bf_get(lpfc_sli_intf_valid, &phba->sli4_hba.sli_intf) != LPFC_SLI_INTF_VALID) { @@ -10668,9 +10663,7 @@ lpfc_get_sli4_parameters(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) if ((bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == LPFC_SLI_INTF_IF_TYPE_2) && (bf_get(lpfc_sli_intf_sli_family, &phba->sli4_hba.sli_intf) == - LPFC_SLI_INTF_FAMILY_LNCR_A0) && - (bf_get(lpfc_sli_asic_ver, &phba->sli4_hba.sli_asic_ver) == - LPFC_SLI_ASIC_VER_A)) + LPFC_SLI_INTF_FAMILY_LNCR_A0)) exp_wqcq_pages = false; if ((bf_get(cfg_cqpsize, mbx_sli4_parameters) & LPFC_CQ_16K_PAGE_SZ) && diff --git a/drivers/scsi/lpfc/lpfc_sli4.h b/drivers/scsi/lpfc/lpfc_sli4.h index 179e870..cf64aca 100644 --- a/drivers/scsi/lpfc/lpfc_sli4.h +++ b/drivers/scsi/lpfc/lpfc_sli4.h @@ -592,7 +592,6 @@ struct lpfc_sli4_hba { uint32_t ue_to_sr; uint32_t ue_to_rp; struct lpfc_register sli_intf; - struct lpfc_register sli_asic_ver; struct lpfc_pc_sli4_params pc_sli4_params; struct lpfc_bbscn_params bbscn_params; struct lpfc_hba_eq_hdl *hba_eq_hdl; /* HBA per-WQ handle */