From nobody Thu Dec 18 09:57:45 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D013C237A42 for ; Tue, 14 Jan 2025 05:06:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736831177; cv=none; b=fVMOYqQHBgci8e4fcMt1NkMtZwpuxE1rsgd50tLdvxHIWOs4RSGxU5DplMmi8AgR94KnLy6VkzaVb+vw1a6cX1ABu4P/vvwCGXqznIRuiuVyEcd3Bp/WbkLydYFaT8eZwpAHsVNQp8qJkva/dAb2ZTdxHq1FPZzBTPbv+uE6hAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736831177; c=relaxed/simple; bh=M8a05g5QhGIDQGcQr0ozZere4otNUOUy0SpBYsjJCpI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZE7LS9QYtmqudzMAwVgnEOc+k6LmZlDKLNzrb+HtjGxgJ6LumVA58Sue3FBhT49UAZdh2w3UegvpJDXAZsiMOPpQF+xRKfDNNYcg2D2PbsV4PxIf9akYgPLXLCpjjv5oHo28KBSb0FDYQ+3GWfxbdyfraFG8aA1auHtr0SR252o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hIJJlZsO; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hIJJlZsO" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50DJLZ9Q002893 for ; Tue, 14 Jan 2025 05:06:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qbPNDUgAq9khxXzdnGO7xYrRsfNyJmja9qPh+54W2wg=; b=hIJJlZsOOlO5wOJI 7/zNmwU7s/GoQ5NekgyVAVhx1utvGYpbBjJfbfAI2xnp4Md+o/JDJu9fTNjHNtle apbfydlCInZ/Z/8/tM9lad0rMqgWriU7cHB2lRJt6fStJ0dmwZ07a7DN6YjdASjg YyDYBg6jQMa2nqYcDGuuW4gHuU6566p5ndjcH9ezc/OGIPc3zVHZUF20M47hRbPl wr8gDkyPlVO4iNfkT/1Z1kVGFAbXXJ0V+Oet6/Kie6J2+LzaIj4HAq4R6qoOOkHq k7wtj6+NRj+YN9UH8sVAjmXhgdlnQpWgVgjaYOemNlBLgO5dN7EmR33IUWf8DX1i N0sJgg== Received: from mail-oo1-f69.google.com (mail-oo1-f69.google.com [209.85.161.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4458ww92e3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 14 Jan 2025 05:06:14 +0000 (GMT) Received: by mail-oo1-f69.google.com with SMTP id 006d021491bc7-5f696a2ee38so4153427eaf.1 for ; Mon, 13 Jan 2025 21:06:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736831163; x=1737435963; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qbPNDUgAq9khxXzdnGO7xYrRsfNyJmja9qPh+54W2wg=; b=q6FzJt8v2rzpjrBORVV1XWrRPV8PqJyYNPKY5SVvEXJDly2C6AouKnQbXs1BMb86oA gYIX86L/3mb5O91D+/xMpjaGsD6z5j5BfSQC00ppqAX//FeoXNt+BfWDn3Fha/L2/Sbj DdEnwWzFlQ5S+GUYQc2CqmZYm9rkzbrVz44aLIsXPAN2ppu7OINLAKQO/ywhJsFi7fK6 owBQwIYBHzSVGM7ymXYzyfiClTzUmdsZw19FvRbdHqaWbUFiqX78l8crH3nFaDvYLFdc 0xNPA0EVYZsiy8+1PWUgVURltRhARuz96rOWefT1wXumqaafatYk5rmKc+T8sIJLLJ0j 5hBQ== X-Forwarded-Encrypted: i=1; AJvYcCWQKr+J7KuVQ5uwCSNgI24iFl6bhDh2vfDYPg3wnz5Zq3L+xzIgLO64pDljC9poY6lXlOmmU157XGzWb0M=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/DAKvWjHTUkAgrucVWM20VDUdJkhhJ3fhC99iDKR5PnzXLCgd A3SvcnxKRpUYwbjH1MBoP7v3Ev9jWIYgDNw8wgTGzwZHfSGTiriMwN96QSl6u1HTHYTw32Kd8sh DFVErQgtW/lzzxVa+JR1Z05MIaJUZw/df/K2GM7w37uAy7eeTi5pzdSmIzcA6y70= X-Gm-Gg: ASbGncuM+k+NQWOBJABJaJMG4xSX1oGTIokotoeTNDlI/AelTv5B1uvEJz8mJwkfbMX M4f84/9kZXTQR2FXNW59KHZibj1WPBYpumGw9+Yg/G+TGkXyn1eKjujd1Zo25Je5G+fJTYd556M KBC7o+M6aXo3YY5PhqGe2fCGg2FN6AbFRbduSHAXDNU6qjwDLlFeBx/OPhzGcYhE3C7AZBAkXVV giM+fVAsp3/KocEEzCX1tZOFpyZXLBo2tK1emRoikvKGOyyCZk/0cUvoVS1BmP/xAT78GuNY2dJ 3AHxKjNOUVJBGabb8FlUb0BFfjqALmoPhfUXDIcdMu48SjhnpUJTs+s9 X-Received: by 2002:a05:6820:210e:b0:5f6:8c7e:f59e with SMTP id 006d021491bc7-5f730989363mr16287566eaf.6.1736831162750; Mon, 13 Jan 2025 21:06:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IFnfKXoeeeA8NBKomAIGTBbHrl8rTKa1hnJ9t51uButBIKoClFHi11qMo2YLC0zEXH94GPIrw== X-Received: by 2002:a05:6820:210e:b0:5f6:8c7e:f59e with SMTP id 006d021491bc7-5f730989363mr16287554eaf.6.1736831162451; Mon, 13 Jan 2025 21:06:02 -0800 (PST) Received: from [192.168.86.65] (104-57-184-186.lightspeed.austtx.sbcglobal.net. [104.57.184.186]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5f882756603sm4001750eaf.29.2025.01.13.21.06.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jan 2025 21:06:01 -0800 (PST) From: Bjorn Andersson Date: Mon, 13 Jan 2025 21:11:42 -0800 Subject: [PATCH v3 09/12] usb: dwc3: core: Don't touch resets and clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250113-dwc3-refactor-v3-9-d1722075df7b@oss.qualcomm.com> References: <20250113-dwc3-refactor-v3-0-d1722075df7b@oss.qualcomm.com> In-Reply-To: <20250113-dwc3-refactor-v3-0-d1722075df7b@oss.qualcomm.com> To: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Felipe Balbi , Wesley Cheng , Saravana Kannan , Thinh Nguyen , Philipp Zabel , Bjorn Andersson , Konrad Dybcio , Frank Li Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2329; i=bjorn.andersson@oss.qualcomm.com; h=from:subject:message-id; bh=M8a05g5QhGIDQGcQr0ozZere4otNUOUy0SpBYsjJCpI=; b=owEBgwJ8/ZANAwAIAQsfOT8Nma3FAcsmYgBnhfIVOsfUzZ+vsMvlEhHlwzfQcaWwEzB0h35m9 R0ifsSqmjiJAkkEAAEIADMWIQQF3gPMXzXqTwlm1SULHzk/DZmtxQUCZ4XyFRUcYW5kZXJzc29u QGtlcm5lbC5vcmcACgkQCx85Pw2ZrcXZ9RAA0iQqg0EmNJYeqqOjc0dfJ1H7b0UIC3sUd0vmjr4 hAHB6O0u19HbWk3nE443PWV0bPSiDznlnH+L8kuLoo7CzouLyZjIu0tICAzB8V3iGU+KnfxpzXu 1bC5DRQkKOYA/R+oDE+/dY37NUMq+ftw9umdwfjdGR4is5oTtvcoXbuN/Rrf4JEIUXhgtY68Kr9 YLCDzYyCOrm5MKDLXWXcNDHg3Rk2vF5F4Ra6PmfrL+RLg/l0HvKL4SdSm7y9VFnNspfdiJIGyxw QLVzgNVif7flOHOzxgmA6gnrZoZKHxxkjxF6EdQCNP1yCoKMCI48EtX1zvhpkaeoyBKD+I4bjMN 7Rn2rBrE29msQRpAnwuRC+GBt0pTPXEopaQT7B7SEJAL2NPYqUHyUE0p4nuGF/NBSS6IYmdEz0O lJI+IfPVQSLErZn2sM9HBAMl5GKcL+HMDtxeggHULotixy2mj2fYhAPLUpopCRhN9XFTnQvBzlw 0NF22KdtnvPyO/GYtR1oWgYdgAnyYYegodpLiZUMdzq3+SjJP4IALcLyQAoC4/2w8/LKJOqVhvl 3rjh9RYXOA1F3VGwyi2P9Z/hesplGvUFMR6PAjbI1HwzCCfz/NmHi/gpae5gDvBDr669vVxneyM J30LQrxIKUlzQXxto9hIwajsle3z8plZRYo7uwZj//Rg= X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=openpgp; fpr=05DE03CC5F35EA4F0966D5250B1F393F0D99ADC5 X-Proofpoint-GUID: HEgqa7AXfMQ1vX1_9PgVhVFqoP0j16RI X-Proofpoint-ORIG-GUID: HEgqa7AXfMQ1vX1_9PgVhVFqoP0j16RI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 mlxlogscore=999 mlxscore=0 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2411120000 definitions=main-2501140040 When the core is integrated with glue, it's expected that the glue IP will require, and hence handle, the clocks and resets of the IP-block. Allow the platform or glue layer to indicate if the core logic for clocks and resets should be skipped to deal with this. Signed-off-by: Bjorn Andersson --- drivers/usb/dwc3/core.c | 22 ++++++++++++---------- drivers/usb/dwc3/glue.h | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 930d812a9fbb..c0b2398b8c18 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -2130,7 +2130,7 @@ static int dwc3_get_num_ports(struct dwc3 *dwc) return 0; } =20 -int dwc3_init(struct dwc3 *dwc, struct resource *res) +int dwc3_init(struct dwc3 *dwc, struct resource *res, bool ignore_clocks_a= nd_resets) { struct device *dev =3D dwc->dev; struct resource dwc_res; @@ -2173,15 +2173,17 @@ int dwc3_init(struct dwc3 *dwc, struct resource *re= s) =20 dwc3_get_software_properties(dwc); =20 - dwc->reset =3D devm_reset_control_array_get_optional_shared(dev); - if (IS_ERR(dwc->reset)) { - ret =3D PTR_ERR(dwc->reset); - goto err_put_psy; - } + if (!ignore_clocks_and_resets) { + dwc->reset =3D devm_reset_control_array_get_optional_shared(dev); + if (IS_ERR(dwc->reset)) { + ret =3D PTR_ERR(dwc->reset); + goto err_put_psy; + } =20 - ret =3D dwc3_get_clocks(dwc); - if (ret) - goto err_put_psy; + ret =3D dwc3_get_clocks(dwc); + if (ret) + goto err_put_psy; + } =20 ret =3D reset_control_deassert(dwc->reset); if (ret) @@ -2311,7 +2313,7 @@ static int dwc3_probe(struct platform_device *pdev) =20 dwc->dev =3D &pdev->dev; =20 - return dwc3_init(dwc, res); + return dwc3_init(dwc, res, false); } =20 void dwc3_uninit(struct dwc3 *dwc) diff --git a/drivers/usb/dwc3/glue.h b/drivers/usb/dwc3/glue.h index f6a513e43f53..ac87491bfdeb 100644 --- a/drivers/usb/dwc3/glue.h +++ b/drivers/usb/dwc3/glue.h @@ -9,7 +9,7 @@ #include #include "core.h" =20 -int dwc3_init(struct dwc3 *dwc, struct resource *res); +int dwc3_init(struct dwc3 *dwc, struct resource *res, bool ignore_clocks_a= nd_resets); void dwc3_uninit(struct dwc3 *dwc); =20 int dwc3_runtime_suspend(struct dwc3 *dwc); --=20 2.45.2