Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp837932pxb; Thu, 17 Feb 2022 16:13:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzMmzVZz62TPv+s1TSGkkFiajI902GL7nYwTfy2dyZdT0NRWGaGcVwIh2Mz3nIrRbIwD0W/ X-Received: by 2002:a17:902:7485:b0:14f:3b6:1847 with SMTP id h5-20020a170902748500b0014f03b61847mr5023378pll.70.1645143202199; Thu, 17 Feb 2022 16:13:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645143202; cv=none; d=google.com; s=arc-20160816; b=ftkuaaf3LH/QAi8x10JWhzdePKXjmP0+iFiCIImAyI1sOMFAfXicDLHphzHx59wM6/ KlGu+a8L7MdVxh4FS+64gdfUse6sKUmr2JSu3PCEaCbEs5LaNoTfM4M4AZQ6/zTCLff1 w4k7ccIEJzm+IFojK4DupYR6iJxM4CqbSntqVJMpwD1/vvO44WeS3KnaBH/NaWAtxvHX sg5XQI3cb7RHX7/RRmJg1kX4Ak6ISG5OZC3dAMpHyKkuTTeubYg3ReaDSPzemtPU5Uu+ dGSeFo8MTO5KO0uFFPNa0bUahoe+C6NIPSyH3IfEAMmEPtiOIz2BwBml9eAybGp5eJha YTkQ== 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; bh=dT+YjVqRti4UupIrClZq+KTJwripe/t0X4UmIefBoao=; b=CApibowtgpa73R0NAE9DqvJjbbTXN0/eKiOeipR47aXSNRhTcEq3wwWzOLFKpysZoO jE2zwkZkKVbZdW4fYbxR4gN//ItrxCelYqrrQ/P6nXxQBmGM0EHCBQOIT5wGEEZcnKux mfdcD3kObUie6auam9ctkEcCYpJsx7WJ0xL1a9Gi9nptdmqdX/V81AiPQJIfU2mL0qSK 0ysgPEFA+ntyFQ3KhugfFT5fNJ32MOxl4bSE8O/2hk8uRM3lmRdUyPwDCv6IbFhcZ4NI sIbaa7pFpYDwKU/uZ7g2rNS9ZXwfvgXgwYUiaY8JYZ/bMpk4/UntsqCh2yni5cZ5jHFn zNHw== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id p4si8754854plf.137.2022.02.17.16.13.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Feb 2022 16:13:22 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4C6CF34D842; Thu, 17 Feb 2022 15:38:27 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240568AbiBQPsn (ORCPT + 99 others); Thu, 17 Feb 2022 10:48:43 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:58022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232620AbiBQPsk (ORCPT ); Thu, 17 Feb 2022 10:48:40 -0500 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 835B8154703; Thu, 17 Feb 2022 07:48:24 -0800 (PST) Received: from fraeml712-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Jzzk12yvBz67bBx; Thu, 17 Feb 2022 23:47:53 +0800 (CST) Received: from lhreml724-chm.china.huawei.com (10.201.108.75) by fraeml712-chm.china.huawei.com (10.206.15.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 17 Feb 2022 16:48:21 +0100 Received: from localhost.localdomain (10.69.192.58) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 17 Feb 2022 15:48:17 +0000 From: John Garry To: , , , , , , CC: , , , , , , , , John Garry Subject: [PATCH v2 00/18] scsi: libsas and users: Factor out LLDD TMF code Date: Thu, 17 Feb 2022 23:42:28 +0800 Message-ID: <1645112566-115804-1-git-send-email-john.garry@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.58] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 The LLDD TMF code is almost identical between hisi_sas, pm8001, and mvsas drivers. This series factors out that code into libsas, thus reducing much duplication and giving a net reduction of ~350 LoC. There are some subtle differences between the core TMF handler and each of the LLDDs old implementation, so any review and testing is appreciated. Some other minor patches are thrown in: - Delete unused macro in hisi_sas driver - Delete unused libsas callback - Delete unused SAS_SG_ERR - Add enum for response frame datapres field - Handle unrecognised errors in sas_scsi_find_task() I have another follow-up series to factor out the internal abort code, which is common to hisi_sas and pm8001 drivers. Based on mkp-scsi 5.18 staging queue at commit ac2beb4e3bd7 Differences to v1: - Add Reviewed-by and Tested-by tags (Thanks!) - Add SAS_SG_ERR patch - Add sas_scsi_find_task() patch - Use switch statement in sas_ssp_task_response() - Add DATAPRES enum in sas.h - Reword "Add struct sas_tmf_task" patch - Don't print TMF code in sas_execute_tmf() - Rebase John Garry (18): scsi: libsas: Handle non-TMF codes in sas_scsi_find_task() scsi: libsas: Use enum for response frame DATAPRES field scsi: libsas: Delete lldd_clear_aca callback scsi: libsas: Delete SAS_SG_ERR scsi: hisi_sas: Delete unused I_T_NEXUS_RESET_PHYUP_TIMEOUT scsi: libsas: Move SMP task handlers to core scsi: libsas: Add struct sas_tmf_task scsi: libsas: Add sas_task.tmf scsi: libsas: Add sas_execute_tmf() scsi: libsas: Add sas_execute_ssp_tmf() scsi: libsas: Add TMF handler exec complete callback scsi: libsas: Add TMF handler aborted callback scsi: libsas: Add sas_abort_task_set() scsi: libsas: Add sas_clear_task_set() scsi: libsas: Add sas_lu_reset() scsi: libsas: Add sas_query_task() scsi: libsas: Add sas_abort_task() scsi: libsas: Add sas_execute_ata_cmd() Documentation/scsi/libsas.rst | 2 - drivers/scsi/aic94xx/aic94xx.h | 1 - drivers/scsi/aic94xx/aic94xx_init.c | 1 - drivers/scsi/aic94xx/aic94xx_tmf.c | 11 +- drivers/scsi/hisi_sas/hisi_sas.h | 9 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 227 ++++-------------------- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 9 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- drivers/scsi/isci/init.c | 1 - drivers/scsi/isci/request.c | 7 +- drivers/scsi/isci/task.c | 18 -- drivers/scsi/isci/task.h | 4 - drivers/scsi/libsas/sas_ata.c | 10 +- drivers/scsi/libsas/sas_expander.c | 24 +-- drivers/scsi/libsas/sas_internal.h | 6 + drivers/scsi/libsas/sas_scsi_host.c | 229 ++++++++++++++++++++++++- drivers/scsi/libsas/sas_task.c | 14 +- drivers/scsi/mvsas/mv_defs.h | 5 - drivers/scsi/mvsas/mv_init.c | 5 +- drivers/scsi/mvsas/mv_sas.c | 179 +------------------ drivers/scsi/mvsas/mv_sas.h | 3 - drivers/scsi/pm8001/pm8001_hwi.c | 4 +- drivers/scsi/pm8001/pm8001_init.c | 5 +- drivers/scsi/pm8001/pm8001_sas.c | 194 ++++----------------- drivers/scsi/pm8001/pm8001_sas.h | 14 +- include/scsi/libsas.h | 24 ++- include/scsi/sas.h | 7 + 28 files changed, 377 insertions(+), 640 deletions(-) -- 2.26.2