Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp188585rdh; Thu, 23 Nov 2023 00:39:01 -0800 (PST) X-Google-Smtp-Source: AGHT+IHNia8gi2hw+vZ14BNE2IqW1qxdoqBKfYyj7mldaAbJjfSfjVaC/s1443+HaO/eEDZY7lDK X-Received: by 2002:a17:90b:1bcf:b0:27d:76e2:ab18 with SMTP id oa15-20020a17090b1bcf00b0027d76e2ab18mr4617110pjb.9.1700728741262; Thu, 23 Nov 2023 00:39:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700728741; cv=none; d=google.com; s=arc-20160816; b=E7/H4RTaUN7h9LfLLwepDPA7KOBXoNjJ06dg/ISSdX5mrC3N9Ea3lW53KtdiF5ZlMu 3ur7CH0d/SzRNnu4eK1+GWlHE99LRYg13SUodyx4YFNN1jCKrJGjnfZMkhAriVveR4Jq ZZyar5C2BNsVZLQCMieM7AolCuPWz4AV+434mr3lppKrAFB9pDUg/obpmFNPqET2+uhu QVYLEYnERi8lo69axcLZkXoqPCxE+iCjPsKineQNHiHaqhvTJxSURsagFQjyHW4ib5qE 1nYCCTbVp0gF1AnWFIkQNHnCM3qlJI3kmqTTCfHm22C5pbXaJ04//rCTbxiwba3jt1W4 Lo1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=KS+/m9nHyzKzgmrMdQC5q6zJq3l/dRIOOPTKg2dYYcA=; fh=16nPRBbEXvBG1N/xdPyTNX3YTC6g70u0Wn374MLMBQg=; b=azr95kYMoohl1HXK8pmfDqRGnYby7kecmv+LFNvLfjUndX1qtI/75k0w8q4er7OMVz p2Z5RgIpVUZmKAkU+rnnt69oy0Wj8hIgsqKFBpxje0t5+n1yuqvUPpuVnUlstOp4QoGU 7VbQTcqVXe3Zd1/lTrkRTREhLAPLnHUQO4X2dO35M6f0mjmwAigtQ+QMDTV5pPYzg1mf 7IDqPb9K8Osm93Nypi6obpDzknsBwtdQ9phHC4SpgYYnzeHuD9tscjqIKT354VNJLdMZ bIbEbfgiyfVApqhUPaEhouSYKm2B8fRvkVCAkErhp/eqFpsLyOWvJv0TyqVcNPVAwFmK ajcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Z5nj7i8z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id o15-20020a17090a744f00b00285175d490bsi1330041pjk.45.2023.11.23.00.39.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Nov 2023 00:39:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Z5nj7i8z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 3220A80C2462; Thu, 23 Nov 2023 00:37:05 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344936AbjKWIgi (ORCPT + 99 others); Thu, 23 Nov 2023 03:36:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229543AbjKWIgh (ORCPT ); Thu, 23 Nov 2023 03:36:37 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 82C4BA3; Thu, 23 Nov 2023 00:36:43 -0800 (PST) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AN5uFG8020347; Thu, 23 Nov 2023 08:36:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id; s=qcppdkim1; bh=KS+/m9nHyzKzgmrMdQC5q6zJq3l/dRIOOPTKg2dYYcA=; b=Z5nj7i8zAXRBVSxY/KNRA0L3ZuqVkpbP8573N8ZQjW4wqBE8uzpfFFg5tlrp8RfNooHc mu8xFjzyX3t2x4RPD5Uz03WQLbGsj2SkNl+nZLBFhviLPODoCn7MhzstXLj6byiRi2QB 5n4dYr6JbcGKAwM6v3PqUbQ9QvuD3rnY5NHmkVkt/199GJUGcUzAS3It6wXgyenFIwRa IqMq4E4Rnt+dgxvGy9hQgiYie1JX7wgUsDIHCxv+qPwAKw1MITxWk2xlLR+I42q9DYAr 8CknepEeGpr/8SUCT1raesJXCSyDpz1D/n4jRFmoZvbCX3KF+DxBAgxveXAPrpdURcgE ew== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3uhf6ktt4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 23 Nov 2023 08:36:19 +0000 Received: from pps.filterd (NASANPPMTA05.qualcomm.com [127.0.0.1]) by NASANPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 3AN8STLW030536; Thu, 23 Nov 2023 08:36:18 GMT Received: from pps.reinject (localhost [127.0.0.1]) by NASANPPMTA05.qualcomm.com (PPS) with ESMTP id 3uhcusvqku-1; Thu, 23 Nov 2023 08:36:18 +0000 Received: from NASANPPMTA05.qualcomm.com (NASANPPMTA05.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3AN8aIel008030; Thu, 23 Nov 2023 08:36:18 GMT Received: from stor-dylan.qualcomm.com (stor-dylan.qualcomm.com [192.168.140.207]) by NASANPPMTA05.qualcomm.com (PPS) with ESMTP id 3AN8aIOr008026; Thu, 23 Nov 2023 08:36:18 +0000 Received: by stor-dylan.qualcomm.com (Postfix, from userid 359480) id A872720A68; Thu, 23 Nov 2023 00:36:17 -0800 (PST) From: Can Guo To: quic_cang@quicinc.com, bvanassche@acm.org, mani@kernel.org, adrian.hunter@intel.com, beanhuo@micron.com, avri.altman@wdc.com, junwoo80.lee@samsung.com, martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, Matthias Brugger , AngeloGioacchino Del Regno , linux-kernel@vger.kernel.org (open list:ARM/Mediatek SoC support), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support), linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH v4 00/10] Enable HS-G5 support on SM8550 Date: Thu, 23 Nov 2023 00:36:06 -0800 Message-Id: <1700728577-14729-1-git-send-email-quic_cang@quicinc.com> X-Mailer: git-send-email 2.7.4 X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: FzMGpn3P2J14xA-SOZFynX_tRy8_yZX_ X-Proofpoint-ORIG-GUID: FzMGpn3P2J14xA-SOZFynX_tRy8_yZX_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-23_06,2023-11-22_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 priorityscore=1501 clxscore=1015 adultscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 impostorscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311230060 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Thu, 23 Nov 2023 00:37:09 -0800 (PST) This series enables HS-G5 support on SM8550. This series is rebased on below changes from Mani - https://patchwork.kernel.org/project/linux-scsi/patch/20230908145329.154024-1-manivannan.sadhasivam@linaro.org/ https://patchwork.kernel.org/project/linux-scsi/patch/20230908145329.154024-2-manivannan.sadhasivam@linaro.org/ This series is tested on below HW combinations - SM8550 MTP + UFS4.0 SM8550 QRD + UFS3.1 SM8450 MTP + UFS3.1 (for regression test) SM8350 MTP + UFS3.1 (for regression test) Note that during reboot test on above platforms, I occasinally hit PA (PHY) error during the 2nd init, this is not related with this series. A fix for this is mentioned in below patchwork - https://patchwork.kernel.org/project/linux-scsi/patch/1698145815-17396-1-git-send-email-quic_ziqichen@quicinc.com/ Also note that on platforms, which have two sets of UFS PHY settings are provided (say G4 and no-G4, G5 and no-G5). The two sets of PHY settings are basically programming different values to different registers, mixing the two sets and/or overwriting one set with another set is definitely not blessed by UFS PHY designers. For SM8550, this series will make sure we honor the rule. However, for old targets Mani and I will fix them in another series in future. v3 -> v4: 1. Used .tbls_hs_overlay array instead of adding more tables with different names like .tbls_hs_g5 v2 -> v3: 1. Addressed comments from Andrew, Mani and Bart in patch #1 2. Added patch #2 as per request from Andrew and Mani 3. Added patch #4 to fix a common issue on old targets, it is not necessary for this series, but put in this series only because it would be easier to maintain and no need to rebase 4. Addressed comments from Dmitry and Mani in patches to phy-qcom-qmp-ufs.c v1 -> v2: 1. Removed 2 changes which were exposing power info in sysfs 2. Removed 1 change which was moving data structs to phy-qcom-qmp-ufs.h 3. Added one new change (the 1st one) to clean up usage of ufs_dev_params based on comments from Mani 4. Adjusted the logic of UFS device version detection according to comments from Mani: 4.1 For HW version < 0x5, go through dual init 4.2 For HW version >= 0x5 a. If UFS device version is populated, one init is required b. If UFS device version is not populated, go through dual init Bao D. Nguyen (1): scsi: ufs: ufs-qcom: Add support for UFS device version detection Can Guo (9): scsi: ufs: host: Rename structure ufs_dev_params to ufs_host_params scsi: ufs: ufs-qcom: No need to set hs_rate after ufshcd_init_host_param() scsi: ufs: ufs-qcom: Setup host power mode during init scsi: ufs: ufs-qcom: Limit negotiated gear to selected PHY gear scsi: ufs: ufs-qcom: Allow the first init start with the maximum supported gear scsi: ufs: ufs-qcom: Limit HS-G5 Rate-A to hosts with HW version 5 scsi: ufs: ufs-qcom: Set initial PHY gear to max HS gear for HW ver 5 and newer phy: qualcomm: phy-qcom-qmp-ufs: Rectify SM8550 UFS HS-G4 PHY Settings phy: qualcomm: phy-qcom-qmp-ufs: Add High Speed Gear 5 support for SM8550 drivers/phy/qualcomm/phy-qcom-qmp-pcs-ufs-v6.h | 2 + drivers/phy/qualcomm/phy-qcom-qmp-qserdes-com-v6.h | 2 + .../qualcomm/phy-qcom-qmp-qserdes-txrx-ufs-v6.h | 12 ++ drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 202 ++++++++++++++++++--- drivers/ufs/host/ufs-exynos.c | 7 +- drivers/ufs/host/ufs-hisi.c | 11 +- drivers/ufs/host/ufs-mediatek.c | 12 +- drivers/ufs/host/ufs-qcom.c | 92 +++++++--- drivers/ufs/host/ufs-qcom.h | 5 +- drivers/ufs/host/ufshcd-pltfrm.c | 69 ++++--- drivers/ufs/host/ufshcd-pltfrm.h | 10 +- 11 files changed, 317 insertions(+), 107 deletions(-) -- 2.7.4