From patchwork Wed Nov 9 19:41:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asutosh Das X-Patchwork-Id: 17786 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp528052wru; Wed, 9 Nov 2022 11:46:38 -0800 (PST) X-Google-Smtp-Source: AMsMyM4Uotl9PVoF+bY6MSy1uAefhA4l5yF2oW4bakTwc/wJKdc4PdOiDh4iSpCL0ZzpiAeBY0pl X-Received: by 2002:a17:906:b11a:b0:7ac:f8e3:d547 with SMTP id u26-20020a170906b11a00b007acf8e3d547mr1654124ejy.53.1668023197879; Wed, 09 Nov 2022 11:46:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668023197; cv=none; d=google.com; s=arc-20160816; b=DxdXzCTTXzGOOJ8qTdKuM/CG7AzEB9zLAwtZ0CJXBz6H5x5QBW9VMYFwjbHk3c80B6 vOGJq6dBij8htJQiQV38ooh9J6XwEynp8txSkp9yhuhnoUbbaUA3sAakVI/hk4vnBtUJ yui7B3mhl4a5UhCDzJ1qsxV5nLMWDCKlBPzWZOIh8t68Q3vafnEfWqwJgpcx2ro8WJN2 o41upp8VtjWnMMC9llMiWIwdsePdfe3NeAwHt4SZDojpbL9cxp/vNcJ/F3hmV6CX9nyp UWRAarncKq56SP2BjP9ghpog/wRbQg+UBFx1432uRWRjdZvZvPDwY644eevKXX2ok6Ik 8KJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=9hjqGGuz0il2+eR6PCgk6ALnaqMQSUkhCRxPiRMVxMU=; b=bv1ULlhonmN012cPcllJQw3elliwi8qL80CH58re+KZPvI9aYf5wQKeLwha70euDJB tuItzdQuR/me8slMooh7LO0EtpL+kXNpUYY/CXJP505rDs50l8aw9IdEx7NYQoITOv6Y 2Teuef0lLI1RUyxGvULTq2nW+Isw6PamATdAg7JKTMlztLOzbaYCg509etR3v2OmrReV 84MMi1NYqGKB9KxJLw4lYSFrWRUY8uwtDLMEzPSilGUfDorCXf66tr30a+PghCJmGN0g +FVvfrgOaWNI9wNIBVsYq4XdfYRtNrf0ZCF1c1P+zqJmkfoYTRhPtPL9oFnfozlOxHtI sZyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=o+hwZmGI; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o10-20020a170906600a00b00781c1645926si11704093ejj.524.2022.11.09.11.46.14; Wed, 09 Nov 2022 11:46:37 -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=@quicinc.com header.s=qcppdkim1 header.b=o+hwZmGI; 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=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231922AbiKITn5 (ORCPT + 99 others); Wed, 9 Nov 2022 14:43:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231887AbiKITns (ORCPT ); Wed, 9 Nov 2022 14:43:48 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C53522522; Wed, 9 Nov 2022 11:43:37 -0800 (PST) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2A9H8dGJ014531; Wed, 9 Nov 2022 19:43:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=9hjqGGuz0il2+eR6PCgk6ALnaqMQSUkhCRxPiRMVxMU=; b=o+hwZmGIj3y9kdf+nBSlZtse8MOf1XUGIiUfn/T7eh1nogDiuiyM3pwAS2FfIBuwb+wt RGHIuHws0wOWuLQwLesfT0MXLJ6udaOEWjNDwh/Gh/Ab8PDdByoriDgyaNXRJVeWtx3v rxdcqXneNF+ejShU/VzVpOZ1HCSX/5Cz8HfPW7fvQro0LiJ+zjasLLPo7nTN3grHWvKe /uqPYpUxXIH21ib63Xfj3bCFv4J4bR+lEjtGIxFWXHJeweqyF6IhdMSgshdzgv9PKl3/ oXlsOYgK4qq1H+odnk++wX3TGkaboYH5MnkIVMRVmlbNLCzBdWaPL2ZLJZldQZaJtOHW RQ== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3krgbk8bc2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 09 Nov 2022 19:43:23 +0000 Received: from nasanex01a.na.qualcomm.com (corens_vlan604_snip.qualcomm.com [10.53.140.1]) by NASANPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 2A9JhMj4010605 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 9 Nov 2022 19:43:22 GMT Received: from asutoshd-linux1.qualcomm.com (10.80.80.8) by nasanex01a.na.qualcomm.com (10.52.223.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Wed, 9 Nov 2022 11:43:21 -0800 From: Asutosh Das To: , , CC: , , , , , , , , , Asutosh Das , , Alim Akhtar , "James E.J. Bottomley" , Jinyoung Choi , open list Subject: [PATCH v4 04/16] ufs: core: Defer adding host to scsi if mcq is supported Date: Wed, 9 Nov 2022 11:41:29 -0800 Message-ID: X-Mailer: git-send-email 2.7.4 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nasanex01a.na.qualcomm.com (10.52.223.231) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: XgK9i3X4l2E_nTafQjRRsRwd0a2T9RRM X-Proofpoint-ORIG-GUID: XgK9i3X4l2E_nTafQjRRsRwd0a2T9RRM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-09_06,2022-11-09_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211090148 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749049092831310202?= X-GMAIL-MSGID: =?utf-8?q?1749049092831310202?= If MCQ support is present, enabling it after MCQ support has been configured would require reallocating tags and memory. It would also free up the already allocated memory in Single Doorbell Mode. So defer invoking scsi_add_host() until MCQ is configured. Co-developed-by: Can Guo Signed-off-by: Can Guo Signed-off-by: Asutosh Das --- drivers/ufs/core/ufshcd.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 55cd0cd..3cd6a0d 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -8208,6 +8208,7 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, bool init_dev_params) int ret; unsigned long flags; ktime_t start = ktime_get(); + struct Scsi_Host *host = hba->host; hba->ufshcd_state = UFSHCD_STATE_RESET; @@ -8242,6 +8243,14 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, bool init_dev_params) ret = ufshcd_device_params_init(hba); if (ret) goto out; + + if (is_mcq_supported(hba)) { + ret = scsi_add_host(host, hba->dev); + if (ret) { + dev_err(hba->dev, "scsi_add_host failed\n"); + goto out; + } + } } ufshcd_tune_unipro_params(hba); @@ -9838,10 +9847,12 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq) hba->is_irq_enabled = true; } - err = scsi_add_host(host, hba->dev); - if (err) { - dev_err(hba->dev, "scsi_add_host failed\n"); - goto out_disable; + if (!is_mcq_supported(hba)) { + err = scsi_add_host(host, hba->dev); + if (err) { + dev_err(hba->dev, "scsi_add_host failed\n"); + goto out_disable; + } } hba->tmf_tag_set = (struct blk_mq_tag_set) {