From nobody Tue Dec 16 14:25:13 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 1D9A425760 for ; Mon, 5 May 2025 00:15:01 +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=1746404103; cv=none; b=DPmpE8GSdie3VpFwAZg2U+CE6TXdVwYnbV/9N8SazzG3fMZKz+rt46uVNpdHUGSgmAIdDa5PQ82y3l91uqW9E536v6IIlR3RUzRbRMaCQu3zeUY5JP9x9jAulq+wHDziwlzxZRTmTODfKi8zOac68f6076LmQV1Yyq+NtlA/XHE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404103; c=relaxed/simple; bh=qPjEnVJcWHzZbV3EVkbm0vz2YVbx//bPP/IZKQShGaQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SNQSPiKuty/soAOrjMKL0Az9z1L5rSDQo3RcVRkRO62YYxnHOOAk9T7MJUT+av10hjcd1IfcTamzW3DwUoC08QPHIwcLeVX751mNdC6rKBhAoW7/vVZIvPn38VI1fshqqYn1wL5aGU+V+74R2h9rrMBE6QoYzzn/05OUfwD0A8A= 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=iqQr7IVh; 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="iqQr7IVh" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544MunD1027975 for ; Mon, 5 May 2025 00:15:01 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= 70R5N83II2gknlMbdIhEMERE7CMg2dERyKgyccEkyWU=; b=iqQr7IVhBWyGuD89 Kc7IIiWFNIJyjp2lJ2lUfGhfrSq0c7ps7d15ZlvSUuLYl0KDAaxfNKyp1ZsEEoLJ hPqkAMmlKiUtEtDsRKDs6PMNix3VrTYBULTpdSx2vaY6PXhD5566ZJShGyhyhRq0 vc6PnKQFyG/vlgVpKsnl+FrQkdY7F9Bwm6lR0/SAVlUY7sCPcHugCp71Jn4EF0Q0 KORFcHAemuzQRNoJ3ps6oeG4cxWJEGbRU8OsGR5VyI035vkF7MJB+H4EDJHyeNsM W0VC5PACaPQEhZ8bdB39mHsD3rGS/3DeKRXt/CNbt2E3+AWGaXaY6WseR0UZ8Y+N Uip2RQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj38-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:01 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c790dc38b4so697816985a.0 for ; Sun, 04 May 2025 17:15:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404100; x=1747008900; 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=70R5N83II2gknlMbdIhEMERE7CMg2dERyKgyccEkyWU=; b=crlICfnoire8ZRO2FHImW7L0ESgJF3emKqFYHRxcRiswJqDZOp4wtkNZdW2KEclnDz AJj2Llk3EfA4sDp55ptXxblgBhD3eNYj82vEzUYsNwKm0eqEUoV4xaX5PafxBSUr3mwG PKTBctvjX5UB2PcFu91Sc5Osf7ZHyKuRDElqUcmrGoQDBVgMO5PIKmrN4gkASE+PWuwZ hz4MrP6U4unDNKcAXqw8NVmYGr1KcFJ7BAg0Zkp7gWQMf7M1TibDHGdugtq9ggd+rGTG DWnbp9lhD9pQ6soLaTtBt4brxLeW5OODX0wcRWWsrpaj2VD54BVUrC20rk6phKBK4ZyQ UmIA== X-Forwarded-Encrypted: i=1; AJvYcCXfbxSNs8fy6iGz/fegGsL3L3K1wPs0XQfMl6vdQC2iWKokgH7h61uMBiQzVA/ex14MkF7qalR8ITWchWI=@vger.kernel.org X-Gm-Message-State: AOJu0YxEro1s2M+ljEMXHRetggTOucfWh1YwGpgMMOljvmC+ocHYQYqP OwoSUKWV/0zZMb9vV05WtSZiGuCjii6D7Z0cn0Pi0F06FBP+VTl45Et7AvsQ/99XOOILp+vZLVU +h467tLc3EIFzEefYYQBlWSAOC9qegXnk56NQ/k0qA6NEwERoTTE+rrcnoVUNfxA= X-Gm-Gg: ASbGncvQ2a63I7yjvoivJYMI50Ra3WkL+YvI7A6rhCz5MTtFYm/axgqK26cDkJZyXqz KPoEL1cm235Iw6jzEQJRvTx9MP8lzSbra0X4OBq4SJfQ/pQKU+3rAuuRr5KZTBgR2v2nxWbDoNl Tdmt2AYUSnecPiInawebtkPYLqofjicASF5IHpzH73iaW2s8pl0QYt0TkGQxWeq2jHg926X2+jn mVXnyxs4RtZ90agdgPVzhVHF9TbaqXAwjPj0dkle5XEKZoYNC72vnUcxOJU7l6y34MG4Ip4CiAY CRz99y0LNj12fE20sznuDNXQp4t+EcR4OGfmK+KbPtDmAcWL2jn5Hi6yuxzxzD+d516afQsoCIe GwU3PICQ2bAshuOiGe+B2uFfx X-Received: by 2002:a05:620a:a4a:b0:7ca:d9e8:d737 with SMTP id af79cd13be357-7cad9e8d908mr1091029885a.22.1746404099967; Sun, 04 May 2025 17:14:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHRhCRNcvKG5ymjFE6pX4ZnRjXc7dZtbqrZKKdZ0iDjLTptYnzUJfbnAUIC3NcigRTH0B1TZg== X-Received: by 2002:a05:620a:a4a:b0:7ca:d9e8:d737 with SMTP id af79cd13be357-7cad9e8d908mr1091027485a.22.1746404099646; Sun, 04 May 2025 17:14:59 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:14:57 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:45 +0300 Subject: [PATCH v5 01/13] dt-bindings: display/msm/hdmi: drop obsolete GPIOs from schema 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: <20250505-fd-hdmi-hpd-v5-1-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1292; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=gcOjyAZkXuR3SrOQQtUEYQYbb60rDFhov+Xy2NtQ5t4=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL7tA9sxa/DweHnrlNpCUZI8ErVU6X39GuyJ 8xVcAVW1ceJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC+wAKCRCLPIo+Aiko 1ccPCACgPWq8rM5hryfozxB2ZWetX4xJ24yyrKuD89yYi6VrlRNmyhCy5tuIwVtGlxtPWIPNhQB dTWXqSpX1rjDTAELM4B4E59M4ZOn5EMf4QASI7RjO1QxJgvB/oh0RISwTAD41x/DhwsAZW9SYsT 7HujJL66j41R4uEvXSC//FCkBhJX3lq7m4V2hohlH9NDv7XrBFEGThI0sEM+nzA31Baya9aD1ML YEeMypT4BBlpR9/viELikD8eDcvX9mdZ6jxJ4Rq17H/+xAqxGakHWKGUSD1ELIUKf59jy05URF0 TWRcURDtUuVLJJwIk4b1XLXof83szgUS9+yy+Nf+hHiy1l8o X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: EL2v91LqAaXS3Zn3YmZMSPunWiHZt3wh X-Proofpoint-GUID: EL2v91LqAaXS3Zn3YmZMSPunWiHZt3wh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX7UJvJaE75Ged yR9iWzE4NFLJMZIRjmAnM1drb+4TIopNirbFVO/TTKG8PD3AWvw3N/DFPhTySNjehPkctKTn7Cx /2TmmdOHpBxxwRNiNVaoziYvVSS/wblzC694qOUPnL1zI1FvHeKESZ57K3mWeDKXumMe/EnMPqe Be2lCGLDefVffsyWV4q45RniSjlZJqtFKj9xe17yBo9/mZI+4jw5D5PugsoUXfAqZgh+HPERnux 1bbIoXDdyDpdEQKy2QI3CNtvJwnsh5qjWej77viDVwXgjoIot0DFNhWx7lYu5apSFN6A/gQEztM Kzm9NS7r8b+Ih3gQ0HF8dEByoOafMplNr2rDsnMswWaAayElUoEIrAPnV7xcEXZBD8DqIChzjb7 xTHnVbPIEgZZWlgD/z/Uw4FDVe9Ej8RofAQh1lb4Mvl+tdGwETO9cKj9riCsZ7FCJF/2jzmO X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=68180305 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=Q0eG0X4qb_EmYOw2QsEA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov The commit 68e674b13b17 ("drm/msm/hdmi: drop unused GPIO support") dropped support for obsolete qcom,hdmi-tx-mux-* gpios. They were not used by any of the upstream platforms. Drop them from the bindings too. Signed-off-by: Dmitry Baryshkov Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/display/msm/hdmi.yaml | 15 -------------= -- 1 file changed, 15 deletions(-) diff --git a/Documentation/devicetree/bindings/display/msm/hdmi.yaml b/Docu= mentation/devicetree/bindings/display/msm/hdmi.yaml index d4a2033afea8d4e4f83c9859f8840d30ae9d53f8..7e6f776a047a00851e3e1e27fec= 3dabeed5242fd 100644 --- a/Documentation/devicetree/bindings/display/msm/hdmi.yaml +++ b/Documentation/devicetree/bindings/display/msm/hdmi.yaml @@ -66,21 +66,6 @@ properties: maxItems: 1 description: hpd pin =20 - qcom,hdmi-tx-mux-en-gpios: - maxItems: 1 - deprecated: true - description: HDMI mux enable pin - - qcom,hdmi-tx-mux-sel-gpios: - maxItems: 1 - deprecated: true - description: HDMI mux select pin - - qcom,hdmi-tx-mux-lpm-gpios: - maxItems: 1 - deprecated: true - description: HDMI mux lpm pin - '#sound-dai-cells': const: 1 =20 --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 ABDD513DB9F for ; Mon, 5 May 2025 00:15:04 +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=1746404106; cv=none; b=R3zOqZmwRUR2FIdGAhkf1DtFLW8iYuS0M/zB5+OXtKefxCJcZBUFy0GrC9Wd62Sm7RWIZwtEuCV4LYMiAai6RC8nsLXtd2E/OxDFKftjM987mKgZG0xyVIB8cS5PjH21xSZW2BTsY43Pt9nu1wxwreEnvuDJRHP5G67z3PB832E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404106; c=relaxed/simple; bh=R3CBP0ibrNJqJlrYI1pzB1aKGKkjPkzW2OV8SkVH8ng=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ia/UP1rgmTlNBetK+PBA4uft9jH/kF95RDfJDSpiwcTRgrQpxi5goCLFlA2tfXA1RoIM+dkHDVaE7HWVqgikf7DYtWUPX2CknjuievcIRDfEgera0NTYAIl2uF2ty2IrUJLUqOxuH7OrS2OvTDQFB8GB24C1exRWxbJwr+fpSEg= 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=Vra3753X; 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="Vra3753X" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NjmaI016270 for ; Mon, 5 May 2025 00:15:04 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= yWQo4Z5PDmysZkCoY6xDQm8GNhU23pomDWkcqd41CLs=; b=Vra3753XLpzj9XhG rLOCnw+ZFpvaLCo9PQmpjqii9BLcl4fPJP6eJIkYRm4Qd6O7pBeIAeRHfQkmnX2K 239xwd0UcID43in+N5PcRWnA+4gYf8hyFLeWpC2XLYsg/ftQjk/udiPeyVyqRGh9 UyIHVXBgRSUoa59ZSXNAWdTiDBQVIc3a8ie+43Xr0TOazFJgnCGKRsYH6mQJVKun OEtJx6Lx48Qq0T0GHbmT0M82kW9a5DNN37EZAsTBHKUb3va6vVsbM3Q00PK5xwy4 1aU+1BQDorWitpwVEsf9cX7cY8weDartyI44uADGL0tteX4PyJbGd9bW5Z9wcib8 LBw0yA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj3k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:03 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5e2a31f75so445473885a.1 for ; Sun, 04 May 2025 17:15:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404102; x=1747008902; 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=yWQo4Z5PDmysZkCoY6xDQm8GNhU23pomDWkcqd41CLs=; b=seCeRFrd4TeK1550rqhBkslPCIQO3434jK/+N1lG9i1WQyeRtzbW7zt3E2u3Nqr/eD FtzUMMW3h5KVOI7ig8ZFXpJmCr8WBRvGkDAQCt8jZqRxTuLXE/UdU7LHniqw+DKEXCH6 eORlFncTtM3NtG2b0XIu7T1AWyNlDT8b/3xhKyuKvu+hE32L+9MZ4pu3gM8ZEjqEccrk W83Yv13p6wPXYIKiK6ZWZ290Bve4rl4orPE4E1xi53E6hEV69AhTM5xZuQHPD8+s4cB+ qtf4oHyTMpMhA5mRC+rByvETkAA2uHUMWYSSmJG+XcTy2zjh42QdiLxZQV/flaCN7+Bs 7n1g== X-Forwarded-Encrypted: i=1; AJvYcCXTtQF4uVyW8D1ZG6QDxaVkdExcbxuo+XqqTEx+o8vs3PAg2CokLZdlJf0qWwnJFB1F4+GgRU88Xz89ID0=@vger.kernel.org X-Gm-Message-State: AOJu0YzBJDzsgf52U4McRSCy/GeUOiRW0snVeq/dhIpnYU5NLF5qYz9Y c5MVyY55nF0cfAWZKwg00oOIc16ndBdytYtLKVl9BG6mqIqQZn6FFQDQlrQzxAXuGFrkI6K4bMZ Twi17859WswTa4VsjgB0JFvdrV2azlFNTcwJqOd/Vlam31Efnl2EHo2a+5mQ6ik4= X-Gm-Gg: ASbGncsodc0Tl4AUGshDqazpA5vm56Kcft+WEQGepP3HojmvfZMzTz9WcP4Obf84X9s nBSWQQGw0/4axjn18xS92I/pKMh2NNPDdRRcOQSG++zcQK4sHRV9mLzWVJqL5VyJybfElgpkMv5 7Rp7W//Ef6kCFVseRMR0q1UG98AkWLfhJ3o08g4ze1G735pfB42A/WRD+WAnknckm97h5Y6dFOb tdMnGxRihfPHCtNu7hH34M+F4yPlHLkFZJmKQ3maD++f3bj5JOxiQg9yCYUca6tjfOu0MC026MD SQwO+Yk4P36j0ouVjZz/EKjR3Gb6sSD89UaXlK2GizNbDrn0L6Ux+CtYbqyTBcf140aw7feUKDH kny8aP0JXsckOzPq4f1LTOcHp X-Received: by 2002:a05:620a:414e:b0:7c7:a524:9fe9 with SMTP id af79cd13be357-7cae3aa3a7cmr896858385a.27.1746404102523; Sun, 04 May 2025 17:15:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHdrC3ycJxwH2BFRg4EiyOh6BromHc5ZkAaskVVGgI4h6Va9/YdT+row9ABNiVdh8lkwLCRUA== X-Received: by 2002:a05:620a:414e:b0:7c7:a524:9fe9 with SMTP id af79cd13be357-7cae3aa3a7cmr896855485a.27.1746404102179; Sun, 04 May 2025 17:15:02 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.14.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:01 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:46 +0300 Subject: [PATCH v5 02/13] drm/msm/hdmi: convert clock and regulator arrays to const arrays 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: <20250505-fd-hdmi-hpd-v5-2-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2874; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=7lUrs50zxWBMH2nsFJkOQKE5+V0if7+ZVLc7E3wO528=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL7jjBvGfEJeiKcCCLimLWwORrs1iML3cwOS v/PWWa5PVaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC+wAKCRCLPIo+Aiko 1cgSCACoTdcO9lLaa/U2BZvy7Z0dCUC8lk/IbILad1+ifw9OHX/97i8usZKH82EYAQIhmtN/8xZ r7N2D2jMw3qQD8XiC6JXCjURIVn2GMhFPrln2fHBzkqGM0YsvPlUG8GjspEtpokQudAAqxGQKiX E/tUoubpyVWIZH9XrXMPjzBthY5I7eDgLc7gBPcmf2JF1FSKZ1LQSkd5SmQN7xwyQ4oMmZFJSod nZPasXJcwNAqBBoKCNJSvwoW15Odj6hNSGbsrnQlXq5SkKJd7gdZyJZM0mIgfEEs36X8uxvMamz B/0kp9bpsiAhwUDA1RD7uzFikxbGam8B4Eo6RfrgQXyXCfil X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: fAfZfZ8Abh85Ow_CSB8Am6vT3HTPRXrO X-Proofpoint-GUID: fAfZfZ8Abh85Ow_CSB8Am6vT3HTPRXrO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfXwquk2C32JklF hGxxqUkkCqdMIxOfHaJF8IZOHtLhY1yjymxKFuTYDcj/vXFWOQBYpjsYSDkdIOKeQd8UUBufxru GhOpIvDiFKs+Tn80onFl3+a1TLWt+VQGiOXQjD/+IdRIZLuAFk9H+f/ARpkadbgzyOpTLxRef+X ZhwBYdzviN46Vzlvolr7nA0fM6iXlfkYj0VeB6SYedxkvR/Dq6CJ90tsJV+0YshcDl4iQjWIvu1 9WrA+867fpUeXkh7qy0pSMa8/Lh0RCZyMyO4LUrvM2wKQyENJlYtqhn0r5YuYb7NUdE6ZJL6loY DT9f6NSY0y6ohRFgoKZnuIVWqwK28UAzrxq4/YdMSHVytSqXc9oOgY9zHUZnKnUB9bjUKkYKDax yrYPUrhVrKvTOfFEn8VP00RM2igMTDA6/wmG7YD7syDORIfPRuvP3VzTr1fRU8UtsCV19ObM X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=68180307 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=cMmCfeQhgp6qDJoOuqgA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov As a preparation to the next patches convert 'static const char *' arrays to 'static const char * const', as required by the checkpatch.pl Signed-off-by: Dmitry Baryshkov Reviewed-by: Jessica Zhang --- drivers/gpu/drm/msm/hdmi/hdmi.c | 10 +++++----- drivers/gpu/drm/msm/hdmi/hdmi.h | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 248541ff449204c72cd444458dadb9ae4a0a53d1..9e9900882687fa2ae4a734d5cf1= 0b5bae5af2f87 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -224,17 +224,17 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, .item ## _names =3D item ##_names_ ## entry, \ .item ## _cnt =3D ARRAY_SIZE(item ## _names_ ## entry) =20 -static const char *hpd_reg_names_8960[] =3D {"core-vdda"}; -static const char *hpd_clk_names_8960[] =3D {"core", "master_iface", "slav= e_iface"}; +static const char * const hpd_reg_names_8960[] =3D {"core-vdda"}; +static const char * const hpd_clk_names_8960[] =3D {"core", "master_iface"= , "slave_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8960_config =3D { HDMI_CFG(hpd_reg, 8960), HDMI_CFG(hpd_clk, 8960), }; =20 -static const char *pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc"}; -static const char *pwr_clk_names_8x74[] =3D {"extp", "alt_iface"}; -static const char *hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_core"}; +static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; +static const char * const pwr_clk_names_8x74[] =3D {"extp", "alt_iface"}; +static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core"}; static unsigned long hpd_clk_freq_8x74[] =3D {0, 19200000, 0}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index a5f481c39277631b7a19d294b086d6208be26511..381f957b34305494cb4da0b7dcc= b73b6ac3a1377 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -84,20 +84,20 @@ struct hdmi { /* platform config data (ie. from DT, or pdata) */ struct hdmi_platform_config { /* regulators that need to be on for hpd: */ - const char **hpd_reg_names; + const char * const *hpd_reg_names; int hpd_reg_cnt; =20 /* regulators that need to be on for screen pwr: */ - const char **pwr_reg_names; + const char * const *pwr_reg_names; int pwr_reg_cnt; =20 /* clks that need to be on for hpd: */ - const char **hpd_clk_names; + const char * const *hpd_clk_names; const long unsigned *hpd_freq; int hpd_clk_cnt; =20 /* clks that need to be on for screen pwr (ie pixel clk): */ - const char **pwr_clk_names; + const char * const *pwr_clk_names; int pwr_clk_cnt; }; =20 --=20 2.39.5 From nobody Tue Dec 16 14:25:13 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 3F665158520 for ; Mon, 5 May 2025 00:15:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404110; cv=none; b=EWTuC9Zjdp3fNzdLaMoCqB1pXieih3garb7eXnzUlR1pxdyzSUn042dH7SuJwvfajtYKkyIpq4vAPb7STLrftjONBk9lxtQH4g+xoE1zSMNobXQSr4loP2C9Tz9B2fBYWMvLldXbtVNALVmkOp//ds+mtkgfiNbYTuaJghtO/lk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404110; c=relaxed/simple; bh=D6TFGB5oM58ofnRrvAfwKN6lOoLCqPqgZw7msJQC4Ss=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=F2qTfkRrUUcWOIdIHljzMguIG9tk4KOM30esMoVIVy+/dgqcnYCanJ8h06bXi+MaGALtbMAo94sL01jzlyoSgEXt0d00d2Gca5LBQnl8PfTOwOlzBoVodbl/Xe0bxo3yqtuqI/djz9EcBVysRgw/ZtbIrPuIic9tDfPiHoiMYqM= 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=HL1NeU5O; arc=none smtp.client-ip=205.220.180.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="HL1NeU5O" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544LquWc024445 for ; Mon, 5 May 2025 00:15:07 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= d0wLs0iVHofkv4RiL71eod9NJCAwyTb7zT17L0PQFSE=; b=HL1NeU5OLXXFcxXy TjxFc6NtarcUGFTLNJwNhYH30ubvXysRIKcrydvpwYpqJAErHlC5QSk7C69Ygyou oNgK9TODN1LMY8bueOKRi6Em/mCGU98zB5NLOoWx1YhFoE5GFGw9mKe1Nki20Bbi j6P3oY+ZlPTMpNSuXtV+fq38TqzNYDn5uW14MWocJpMZTM1Ml+lRVeTSUwYSRBrY wx1NcuuYHmbJteRKsUfc5VVb0H+o/DHip9hVaERvDW8VLET+E+p8/fYg5QgF85cY peBqqy2cdq0rUmC5rmyXtx3OcCrEOJDCM0lyeQPcTZimN/j6yBixzqHpFXw4Khi3 asiWMQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46da55tnup-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:06 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4770cbdb9c7so89650831cf.1 for ; Sun, 04 May 2025 17:15:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404106; x=1747008906; 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=d0wLs0iVHofkv4RiL71eod9NJCAwyTb7zT17L0PQFSE=; b=vdkb0WhYFS1TafoCbbX+rmXguCOj8f4nl6eiia5dar0CP6ehvYpIp1N/VGWhwmlZYs 6GL/FXtZLK4pXblSlgo1kg8IDwS/OnD4wLF1Dh7p/1kGp1aWG5eFa7HfT+3CDyzDN24r 7vmZO6H48J3TniazkT5+B3rwfnWmwFJxqhvqpGTDfoaWBJEGdPxJlMzK8B+wQCiRw9Xd nLJWXvJ7OIdlSbg+C1f2XH+FQYl32Ssp9jEnya3tQ5/YpNzBEJPEVTg/0oBu4csROi3f RAL9IjwshLlLeAAc5iGAaqvPrQMQffaUmHMQNEWm5rEP2/iv9g0+R8ZEbtOWAvDuWyLY UWrg== X-Forwarded-Encrypted: i=1; AJvYcCWYLc98lwu8w8qZIopgh5ZYuddlwdll9iDqUVypWDDkGdfIt7pF0az9NrR/eFRYeaGEsI7SyD6XY+D2v1Y=@vger.kernel.org X-Gm-Message-State: AOJu0YwzVSfgPhOJvNK6aVNObS+7lCJ7QhfNTwoCcnU0JHh98/pQNndO Z2rwTZTHPVF0hyk6ZiVLIPV4wdjIwv3ZfIEaJqpu+DCSFVD6WA5IBp62kLJClk9Ayd67sWH/N2F LZ+MZYDISebmY/lxubquGwyu3NFPhaM5m8Qcodea9Ih29d1m5DXGPL89fYqMH4EQ= X-Gm-Gg: ASbGncsro6/CpZUlwML2/tD/kwWXD6Hon2vvYb8Uf2mXhtlRm1XHOFVGYZ+t5reiG/4 lQSV7Hj9q49S0Hba8NB5U0oy3OZiZW+UUchb/kGTr1Eb8oov9BE+dfbRfJ2xB2kYw0NAbRbvuAZ pYE/UeTt7oJpalS2emEdwyv0Mdm4QuMvkVO0n5ehQ4m+IujIroNUfnTYSacSgpQjojH72Or86K4 Uv9jcuF+zpINaLJJBiRlQCVuc3IRNHdmt4JgeXSKY+dxIu7Qw5PcYgPXbkuve9K92MYzCevCHBo ZHlMQx66yTqSBc2m2QnsUcIPtiLhXxqdkgsGPhJXdTEAwjI1/R3bq8Q82SIZUf8sbmjhDFTY2S0 TeJUVUkih7A/gNkJLRHPJb+Hl X-Received: by 2002:a05:622a:5585:b0:479:2509:528a with SMTP id d75a77b69052e-48c32ac7333mr177680311cf.42.1746404106148; Sun, 04 May 2025 17:15:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGSLLxowO0dJGPkvuX9RhOj9QBfPznkAxKoanIkxu8WWIzBNeIlJLloQOmPJXB6Ug9KK63z7w== X-Received: by 2002:a05:622a:5585:b0:479:2509:528a with SMTP id d75a77b69052e-48c32ac7333mr177679971cf.42.1746404105839; Sun, 04 May 2025 17:15:05 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:03 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:47 +0300 Subject: [PATCH v5 03/13] drm/msm/hdmi: move the alt_iface clock to the hpd list 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: <20250505-fd-hdmi-hpd-v5-3-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1513; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=OUSREmRh8249bUIyNnvM4Q8G4H+YLOauuOGWEq+Beno=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL7KLXUMBlRbyuEJArZP28ojba3pXgt+c1/7 okMpiFlV4yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC+wAKCRCLPIo+Aiko 1Xm6B/4gs76RF9xtIzBzLSkxCGgpkPU1UtrIEEvR2dHR8161J3VbiGvR7Ho29PviL72l057riaX NrQAUbxJjM3NBSI97ryLHmN3LAFCjIKCPLGGg2jC8RcYRV02KzNB5KcXvfLOAarTKfMRxxLCB09 bZTxJOrJPbR9Q76Os5esA7DB7VasvSsJrub2zlYxD5WZTtMIZ68bCGJxOgkMkdsOS19tVutXkKZ DxpQifCrW9U8CIXk3GVAU95EdQUpTwBucj0J+6lRmtf4R9P80W4C2G+U2KBogFT5hSdvCU8MUy3 vw/9EYy9LjHyseDqJIoZCglgw9ae8APErjI5wti7eMo6y7lS X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX9lneOIqMZBvl ni/wBrjP/VLOOIdasA7X2eVt3qLIi2AayWP4fErLc3fBB4E4jTH7CZb2tkt/RYTxOOhlO7Qp+hj HZhGpV+Rz42fFjqQcSUaaOcvd1kgZjGmguXRfqqYBiyQfs9vGmUv2gXPBr66J6GQEGLWa+M4JLK HKlGh6KbhITxkKrj4CZyuXakC1/SdUV20y1IhZGh6bGfiiOI+Gpp0SkrDkDry19p5NK2v9IpE/7 RfIjua7fYM37//Z05eQ5uSolQsevZ7XEbW5/1LmVKyqLsu1AvyBE7h3ZNZd0CdRHvEpsrp6z7xA lHRKoj/WdvfioiwjEiNj4ifBPrlMHO+1w5GdlOcrA0t1sqWn7InK7FcGUDbK8yRQUqSkIiOIpum dYcqy5Goz0z7fZqys4KP4knai7CgqGChIcTd92qM+R1+Y/1uPNklFJzJp4HL5PaERKb2MDI+ X-Authority-Analysis: v=2.4 cv=M9RNKzws c=1 sm=1 tr=0 ts=6818030a cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=qC_FGOx9AAAA:8 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=-Tkwmxe0xhrxJHpsn9cA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=fsdK_YakeE02zTmptMdW:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: JSogM4m-uEj7vBvhqTgxXkvXOPac9qMy X-Proofpoint-ORIG-GUID: JSogM4m-uEj7vBvhqTgxXkvXOPac9qMy X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 mlxlogscore=999 priorityscore=1501 malwarescore=0 mlxscore=0 bulkscore=0 adultscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov According to the vendor kernel [1] , the alt_iface clock should be enabled together with the rest of HPD clocks, to make HPD to work properly. [1] https://git.codelinaro.org/clo/la/kernel/msm-3.18/-/commit/e07a5487e521= e57f76083c0a6e2f995414ac6d03 Reviewed-by: Jessica Zhang Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 9e9900882687fa2ae4a734d5cf10b5bae5af2f87..ebf9d8162c6e5759a3780c74354= b6c159598750f 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -233,9 +233,9 @@ static const struct hdmi_platform_config hdmi_tx_8960_c= onfig =3D { }; =20 static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; -static const char * const pwr_clk_names_8x74[] =3D {"extp", "alt_iface"}; -static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core"}; -static unsigned long hpd_clk_freq_8x74[] =3D {0, 19200000, 0}; +static const char * const pwr_clk_names_8x74[] =3D {"extp"}; +static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; +static unsigned long hpd_clk_freq_8x74[] =3D {0, 19200000, 0, 0}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { HDMI_CFG(pwr_reg, 8x74), --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 048AA86358 for ; Mon, 5 May 2025 00:15:10 +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=1746404112; cv=none; b=CfAn9Obyb4gXsrrQaGUDE2Qvck4NN9jM381LhCs+H152kYbz44B+xbSUj/HdMTHcETErj5YKFfVgVUjSHOKXA9ud+CHHhOQ2Z2sFXPdwHFxPaZWwzM3V+z2I30bzgf7sQgeFsHzxEhTz+auwwajwMq29qenjNSnNKNy6PK3Y8qA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404112; c=relaxed/simple; bh=OKvD6auO4vB91J5XYVfbwmBTaxU27ZN3Gc2XZVXje+M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Sf/nOBL4AXHmwgy0c7G/UU+IZ0J+vThuZRC4++fJQffNBZCD+EmGnjCNIHSlBOvSxgMj2ZMmDk7YutWN7r6+XYjCF98AfQ96KcGyRCnGVpF4O/yKyf6lE1OentPz06bfOZ+QODijMhOxoAVYLYFY2T32ULd1T0f8sXrPr8h+s2s= 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=hVlzso7i; 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="hVlzso7i" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Mw7Oo030086 for ; Mon, 5 May 2025 00:15:10 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= Xg9l60XwzB5oTcWL0mTb9MXi9hdCzTMTTy3uoJ/DZ98=; b=hVlzso7i5rb7vweQ KOezQ5jYaOYfZ3eTYxwpgIzqgw10MAl/iwBqC3IUbCCvhr/psy9hKyaHctRkDG0a cxQQMdEo4bMohinBh3D96W4aKJPoSbHcUpv512VPg1loFFnZDNVDYbn+7XgkOOQl t+RrUyYUvqLxGG0XviUOZ7RbkNnRgXkgrdn11gj0jhW0pivV7DlINUWem72Td5Ih wXE+rTVqpC0GvkMAeBUtMLtVKODkOI/o/Sv42leNAKLt9omQZkV7jAndOB+iTg2t Z45SLSoIVr7t4cTS6ZHRx5RkOLSm/Iuc49+JsQ+MrSQecKLyerOE9NnR4qb9TS// 04ovsQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj47-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:10 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5bb68b386so573538585a.3 for ; Sun, 04 May 2025 17:15:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404109; x=1747008909; 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=Xg9l60XwzB5oTcWL0mTb9MXi9hdCzTMTTy3uoJ/DZ98=; b=dtpNWEC4Yz8+EdmN1MxloD4qvbZkmJVvYbSJ3zCZ7CP2Dgnf3YRlOgLWGAwzldNXnW Qv6woCTta6XPiMFJIy+W99eB1TBlJsRrc5b678l8kB3ddKg6OBJMbetNXdOtQd+x0u9h sh9PnTFtauml+/5g+ZnYI9L1OjIfmGBzcByqCniYlaXX9Y0Vjso3jEGcqgwrlq10MrEd M9/JcjyuX1ExyVlW/O6gU/WjoTT7UB+bZF1X6PQA34wj2uErmkj3OJepGPOFaa+S19PX Tp4kHXLv73sxdcOs18MalZBzRrxU0tU0UA5udPmPZE62wHdG9AkAcwY4zoMF0O6chKPz lPZw== X-Forwarded-Encrypted: i=1; AJvYcCVMQhgRoFDNJRKFHmWOGV5sLp9Xn3+rEdtn6QxGGSlqZa35dcb7NqPQWOt+pijJ6wHYaT+Q8I/TUzZvLHY=@vger.kernel.org X-Gm-Message-State: AOJu0YxYpJdqJGFDMQ8QRTYmXr5H4fVlv0WOT0Ii1FX2RJsqPduetZql N4SnoBUXZChg84RBuESTQHiBajpGYIlTGnTIU+auk3+PoBG5jNwDnLGXPbHgYBE6n8IW/ex0UrF hOIRXCR+U86OU7708eV7t268dFcor9gU06C1/OA/mbOKNChvZ5tmagIfL0gfN5SY= X-Gm-Gg: ASbGncvCeWtPwVboCkBpZdZFBgH2aZUEmA7xqslXFIqoE03bqgMjefNy+W0ZmfwoQSI 3hJXNOsaLI7+ovchvMXh2Cvhu0MpN/KfXxjGmQKdsJrWA9F7OsLTzlNcCofQK1Yrn1tC+4ZLty/ injFkuDC1bEURjREj8OXEp9w5IpZPtSwaOYf3nf53BCRKm0H2+3zmAWR+HVGWwYCL6kspjeaAx0 gO/dEaD+ASqqLyCtshadzHf9YiFl1dNXUSXJjUk+6LX4B3WtBLy18oOIC6I8sEOArBBDY2M0IBS I3LhRaRkx8HpS5h1YRbmKmR221dkFi1V8q04iqrN9tW+XZTw0pJAOcZ4lmkNmIy80jqzvPNnvLs Quy9QVBH9kqkC0Wk9IsNfbwOZ X-Received: by 2002:a05:620a:d86:b0:7c5:4c49:769c with SMTP id af79cd13be357-7cae3a59f28mr912965585a.6.1746404108756; Sun, 04 May 2025 17:15:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHSchSqqIllw/dp4wXGA/G9vNYNJ3/7RegF1McjKHRI33aoVuXIEV0ZuKbcFKyOwgpSuikqTw== X-Received: by 2002:a05:620a:d86:b0:7c5:4c49:769c with SMTP id af79cd13be357-7cae3a59f28mr912961585a.6.1746404108357; Sun, 04 May 2025 17:15:08 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:07 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:48 +0300 Subject: [PATCH v5 04/13] drm/msm/hdmi: simplify extp clock handling 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: <20250505-fd-hdmi-hpd-v5-4-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6078; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=LnFkmu2jUxjoORgRsclE+weSQh+e+mvrliRGfmUM560=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL71Ad5wzmGBcA8VFE7DMRBOvRLx8dxrUs4z ufIjtAOA5aJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC+wAKCRCLPIo+Aiko 1dB3B/wO2n/Jj+8+fzMeoCUmZO35ugj4pPICfzq+pGY21TBlDhk6XwBQ+bSYWUjkqExpqq5P6TT dE+HyOW7coWIirnhFz1W81mJ9PA+jtr34B72UqGTJ1upQveyTw0dM8ZBsCighxmvP4tmz4RWFGS YowEdaVv3uOgWAmC0+PxhDaCc/ZXPnKdsW+QnSBd5sbSuGhLJmBeYxDQwzbqlFQ+gbizHdcEtpW mp0dE1JsvV4rTuzx5quTpd7comXMTQ5mvYwSR9mk/HyB6+QIC0BAv+SftitCfBTPu5MCnXlu4n+ Xf3mZJA84P7lqM9EW+Bv8O1n00KilJndpoz7nuk3hvseEvZ0 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: uL8RlVuqCxdfVsRwXyVC-hjgAaIeb8SI X-Proofpoint-GUID: uL8RlVuqCxdfVsRwXyVC-hjgAaIeb8SI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfXyuojyctrYXzJ 6MDfwU0smdxLbSWYvKw4LMTAUI7B7YosYh5/A8yE7ttyOc6nL6Lc377G83ftaLWdGpNOu6SXacI qQ09/vt9lcq94U+ccPpnGhBqFUY6yC2P9v2o51bru2oO1C0Z6m3X25vaNfCqUU1KgiibOQPgbts M9hIntyjd9+Zbh3WHNLkcVQB9FpE6KdBMhmRKpcJ5Ss6hWLRTNjsd5dFTwY4zEIzwIdDiuhO3LO MVF71SWheUFDFN6w3sUnDyWgOLEO4LHY2Zm+OSG51m9P/0KZ271S+bUPfWD2WHhl8M2+Pp9yIU8 Sdk2bh8+TBc/zhmzHb+C/zDBLgnMYtDyBgeF8d+PLVfh+l5r3GkFDGr4pXjIv9YZzOc1UGOdLiB ysl/Y6Md+dtii54GySLmtcd1hkUTGVapMVgsIj3QWfZDk3Kzd/l6WShqndLurMlavtkZGEiP X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=6818030e cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=-xysCvM_RUkaYHfiAagA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov With the extp being the only "power" clock left, remove the surrounding loops and handle the extp clock directly. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 24 ++++-------------------- drivers/gpu/drm/msm/hdmi/hdmi.h | 6 +----- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 33 +++++++++++++-----------------= --- 3 files changed, 18 insertions(+), 45 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index ebf9d8162c6e5759a3780c74354b6c159598750f..104f9cefa14834d04fb957eb487= 77e605d1e29a5 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -233,13 +233,11 @@ static const struct hdmi_platform_config hdmi_tx_8960= _config =3D { }; =20 static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; -static const char * const pwr_clk_names_8x74[] =3D {"extp"}; static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; static unsigned long hpd_clk_freq_8x74[] =3D {0, 19200000, 0, 0}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { HDMI_CFG(pwr_reg, 8x74), - HDMI_CFG(pwr_clk, 8x74), HDMI_CFG(hpd_clk, 8x74), .hpd_freq =3D hpd_clk_freq_8x74, }; @@ -369,24 +367,10 @@ static int msm_hdmi_dev_probe(struct platform_device = *pdev) hdmi->hpd_clks[i] =3D clk; } =20 - hdmi->pwr_clks =3D devm_kcalloc(&pdev->dev, - config->pwr_clk_cnt, - sizeof(hdmi->pwr_clks[0]), - GFP_KERNEL); - if (!hdmi->pwr_clks) - return -ENOMEM; - - for (i =3D 0; i < config->pwr_clk_cnt; i++) { - struct clk *clk; - - clk =3D msm_clk_get(pdev, config->pwr_clk_names[i]); - if (IS_ERR(clk)) - return dev_err_probe(dev, PTR_ERR(clk), - "failed to get pwr clk: %s\n", - config->pwr_clk_names[i]); - - hdmi->pwr_clks[i] =3D clk; - } + hdmi->extp_clk =3D devm_clk_get_optional(&pdev->dev, "extp"); + if (IS_ERR(hdmi->extp_clk)) + return dev_err_probe(dev, PTR_ERR(hdmi->extp_clk), + "failed to get extp clock\n"); =20 hdmi->hpd_gpiod =3D devm_gpiod_get_optional(&pdev->dev, "hpd", GPIOD_IN); /* This will catch e.g. -EPROBE_DEFER */ diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index 381f957b34305494cb4da0b7dccb73b6ac3a1377..3314bb8a09d6bea7e34ad905097= 0bf43c64d1558 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -50,7 +50,7 @@ struct hdmi { struct regulator_bulk_data *hpd_regs; struct regulator_bulk_data *pwr_regs; struct clk **hpd_clks; - struct clk **pwr_clks; + struct clk *extp_clk; =20 struct gpio_desc *hpd_gpiod; =20 @@ -95,10 +95,6 @@ struct hdmi_platform_config { const char * const *hpd_clk_names; const long unsigned *hpd_freq; int hpd_clk_cnt; - - /* clks that need to be on for screen pwr (ie pixel clk): */ - const char * const *pwr_clk_names; - int pwr_clk_cnt; }; =20 struct hdmi_bridge { diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index 9f1191e4c02081c99caa75e1c9c99051f7cd14d1..e7997e4a741c3b27c9086651efe= 6b79dbba6bf88 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -19,7 +19,7 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge) struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; const struct hdmi_platform_config *config =3D hdmi->config; - int i, ret; + int ret; =20 pm_runtime_get_sync(&hdmi->pdev->dev); =20 @@ -27,21 +27,15 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge) if (ret) DRM_DEV_ERROR(dev->dev, "failed to enable pwr regulator: %d\n", ret); =20 - if (config->pwr_clk_cnt > 0) { + if (hdmi->extp_clk) { DBG("pixclock: %lu", hdmi->pixclock); - ret =3D clk_set_rate(hdmi->pwr_clks[0], hdmi->pixclock); - if (ret) { - DRM_DEV_ERROR(dev->dev, "failed to set pixel clk: %s (%d)\n", - config->pwr_clk_names[0], ret); - } - } + ret =3D clk_set_rate(hdmi->extp_clk, hdmi->pixclock); + if (ret) + DRM_DEV_ERROR(dev->dev, "failed to set extp clk rate: %d\n", ret); =20 - for (i =3D 0; i < config->pwr_clk_cnt; i++) { - ret =3D clk_prepare_enable(hdmi->pwr_clks[i]); - if (ret) { - DRM_DEV_ERROR(dev->dev, "failed to enable pwr clk: %s (%d)\n", - config->pwr_clk_names[i], ret); - } + ret =3D clk_prepare_enable(hdmi->extp_clk); + if (ret) + DRM_DEV_ERROR(dev->dev, "failed to enable extp clk: %d\n", ret); } } =20 @@ -51,15 +45,15 @@ static void power_off(struct drm_bridge *bridge) struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; const struct hdmi_platform_config *config =3D hdmi->config; - int i, ret; + int ret; =20 /* TODO do we need to wait for final vblank somewhere before * cutting the clocks? */ mdelay(16 + 4); =20 - for (i =3D 0; i < config->pwr_clk_cnt; i++) - clk_disable_unprepare(hdmi->pwr_clks[i]); + if (hdmi->extp_clk) + clk_disable_unprepare(hdmi->extp_clk); =20 ret =3D regulator_bulk_disable(config->pwr_reg_cnt, hdmi->pwr_regs); if (ret) @@ -438,7 +432,6 @@ static enum drm_mode_status msm_hdmi_bridge_tmds_char_r= ate_valid(const struct dr { struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; - const struct hdmi_platform_config *config =3D hdmi->config; struct msm_drm_private *priv =3D bridge->dev->dev_private; struct msm_kms *kms =3D priv->kms; long actual; @@ -451,8 +444,8 @@ static enum drm_mode_status msm_hdmi_bridge_tmds_char_r= ate_valid(const struct dr actual =3D kms->funcs->round_pixclk(kms, tmds_rate, hdmi_bridge->hdmi->encoder); - else if (config->pwr_clk_cnt > 0) - actual =3D clk_round_rate(hdmi->pwr_clks[0], tmds_rate); + else if (hdmi->extp_clk) + actual =3D clk_round_rate(hdmi->extp_clk, tmds_rate); else actual =3D tmds_rate; =20 --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 A26A3189BB0 for ; Mon, 5 May 2025 00:15:12 +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=1746404114; cv=none; b=ddxIkAIpa2GdNuwT/lR9sw9yo3V54CO02Kz2z88dMr8rKOM24WSKZx/C6PhjBM+OoNyUcJnVZvE6L5t68JbKPVrAD48vJqyraN2IeBfY86j+xXvO7q7TBFX1E+7iWdiIhLXuGF8uXEvoV7D1P9h6fzfI6TH6hJJs2j5KbCYISyk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404114; c=relaxed/simple; bh=p1LSDfh039EO9QiKvv3+87Ir+NZhG5XF0kZCfEUI8rU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CYcCW9IfAAGZsaz81xuGuN2k/dyq4/1DaIkrKYi91uPynuDucVnGQA4PwM5VDtdUxfxQR9rkLJrn1lSmy0u3ihSnKumM+Sty+phqDXJ4uh467mbZY4jzrQTP4tXY5rprPcyAT7Gv1mfT8/1HVfK3Z47uQQxS3/usXHKVXerbJF4= 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=mn23ySEZ; 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="mn23ySEZ" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NxSpv000547 for ; Mon, 5 May 2025 00:15:12 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= X5c1T2okNkBRPy3LP55P7/c8OhgWI8CTU4FhNq9qA4o=; b=mn23ySEZ/pXl19HG +7YA8VJNFSYz7kXn9vsxvpHYPUpm6e+g0diYAoj0YCUR6XTbKEZu8dWBs8cOu0q5 wmc1yXobvHKpopc6dBau5/0IZY6pj/m+h4RVigbZ7qmug6GuyCzMNsOPy34rfCOe KRO/ER1QoyknRcIohyzH4QlZ8nIaoV+z5FuYmAyhehzS0+FxVwRmG5Ahenx34lVO ki+HwOsBUF4uPU7kRzdUCMkPazignGzzdGkEvaqXnCgLUKnB8ybi3E6a+SvbquJ2 M/5MykGZv+bhx0eo7vOgAXf+gLHuIoOmR+/wAV0xYbyOC6thOHwY7HaNHngN8fVT t7n7NQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dce9ahjf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:11 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c9305d29abso759162785a.1 for ; Sun, 04 May 2025 17:15:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404110; x=1747008910; 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=X5c1T2okNkBRPy3LP55P7/c8OhgWI8CTU4FhNq9qA4o=; b=kzjW86Q+iVIVnjk2f3m/U72t+pZibEwOGNGWjdhkHBTLZ8ilOOKMQno8RB92lNXYJl 8PPjUiFLvFb62rOv0tzS4LBzc7mrt2VfonQHHz3TxHKdWQUD0ofuPMThxXghbbnYpQFJ BqTeQFHf5TrY01rvBVEBnMVQurB086P/03p60waCJV1XEIURmeBgH5hrm//pOtNNwu2z 6dJRowNQOghK7K1tRqkZR6nb11FBQm95UHoJjnWkrcARflA0ihMbkULiNkRLcPCUbbYk 3cOw6xW+yTm0uE6nHlTc05Sd7AY9QxZlL/IzgfIX/RM3bEorf2xJeLrvj+bwIX+CbYWb 6UNw== X-Forwarded-Encrypted: i=1; AJvYcCU72Uj/OZ9nW2Uhvgi5LETq3JZ06HqqRL6uRGSFfxicWXfRdTK9uWeoPmlOXIQry0I+QGSRIwPcxinAIg0=@vger.kernel.org X-Gm-Message-State: AOJu0YzaCvtaCUNduho91OQA88vY221RhQhyhvFjT0ZM2PPp1CQa+IXt uGH/2kZanxD+pN3cd8ugOsj7cQudCLbaAwB62uUR8yyKTqBGEgVcPPuXdHWD56I/JP3LaxlUjQJ F/XdkSESn8hoOT7WG2zfiiTxhptUieYmY8aHeW2tR/k8exh+V3lqZkQ2k6QauuR0= X-Gm-Gg: ASbGnctNiLiTwx2OfREw/N+y8qXaokKbTJBIwiL+xkamDqn7RPhgprnKw8HjM8T+U0W inou8skELZMvQRWeUK2Kj/C4Qpipioii4pW2F4JY4faNTLx/Zu+d+1mYJ3RzdkHWsHgKxunTZ9d X6VBfPzsY1lW1YI+Zs4ehmCyJHlv/xY1WA4Z43/VUsunrIpScqB1O/phD7PHegVhWZsKBygQgA2 OF7sblpcPe+jdFWVCzL6bypkB+5VuzvAx/6gEOa6I627puDWW/qfLTc6aQif0H/YJ4vNUWroAbm C+YivTkYoczAQfXW/kTPzsmpxYTm5gbgnFTzSiU+u8x++U4gzfyWecThbkiFBgmI+HEj2hvSFUN MAEJhJAxTowz94q210DjUbHqv X-Received: by 2002:a05:620a:190e:b0:7ca:cd43:e46e with SMTP id af79cd13be357-7cadfea82a1mr1176854685a.36.1746404110490; Sun, 04 May 2025 17:15:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQhfFbqpZslO2eWr4LyRzSnWS8Njh66IBcHVpnb9J96WelvVwOaL7E7JvQ4d0L3KLXii73DA== X-Received: by 2002:a05:620a:190e:b0:7ca:cd43:e46e with SMTP id af79cd13be357-7cadfea82a1mr1176849985a.36.1746404110144; Sun, 04 May 2025 17:15:10 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:08 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:49 +0300 Subject: [PATCH v5 05/13] drm/msm/hdmi: drop clock frequency assignment 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: <20250505-fd-hdmi-hpd-v5-5-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2616; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=WW4ls3rpXG1GIIqJFaRsd5YlkFmkvDhOcZwn0x64Row=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL82x04Ldn8u0VpFSsk00EMCwD9Pm1yAeD5b ys5oLHbZ7uJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1WmsB/sHPPAf9NychOLipLaNxz2HhgodbrgZJWqKAWrZjaD1lVAT7NmeDWPl9qIV1saOMtOU5lr wVowfYQ399VVJQq2/C26DQKbVs8j4NxaEOJNTfJbOnoWc/6OlCBe01vp28OrqdjzDnp+vPPJln4 JYK7wO+dvBtHfERYjMhTyUKsBzR8G/GReWfTdL9oug+KvOcMytfwahFaxQXH5UJo16spstBcpiW 5xVK8bJgepjs8phsyTDqNNta2we+VYBqxdJd7BArrtlYmmdCQC+HPJVzuf3Myr4rMQrVmDNtj6A 9CC+Cv8ORrYXG2FbKrevADexNzYZvs3VBeEbuYf1gDkC6n7m X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX5caicPPnHT1f 6wtOTJ9G00FnvDHL5KcQnCMLIin1JbU8eenbbEkpiixvngp4lGh0tthhyvXj7Z9tBfpL96buRLd l5pMY7sz15Z/09NE6jlyWbpO89T6Tx1QhjAypSs1ilEd0gMhOfArr0KU+baHMw8+Joz+wRZMND1 IqkOY9m/jFKwTD9f+J7oiXxvyerI3Lv42WFpUqH3a3DyfyaSHgK2j6oI9x7d1yQ1kg9zkuIr+aB U8NNaaGLrdkHyLKL+xIXMXGnJZd/xHreA4HI5mIDdFiS64PYXdYoPcN79nadz/g5RZUydLBA6U/ Q9fe4wHDC152iN8sXQu4hQCSVSbXxzFXq31LRNMbF6qEea/H5tGnp6tMf9IExelYIUH+s1i8M+t CsAFfbwszeU/GJXuWmES3NaxPa/sBeEykbs5HYPdvIx4SJfFaea86iDtWvHWE5TzHyjZKCyJ X-Proofpoint-ORIG-GUID: 5bkpx5GQYp-hDOXHgeyo5PA-MD9CzkGX X-Authority-Analysis: v=2.4 cv=Qope3Uyd c=1 sm=1 tr=0 ts=6818030f cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=F7atGr4GHeWUWaFcoCIA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: 5bkpx5GQYp-hDOXHgeyo5PA-MD9CzkGX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 mlxscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 suspectscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov The only clock which has frequency being set through hpd_freqs is the "core" aka MDSS_HDMI_CLK clock. It always has the specified frequency, so we can drop corresponding clk_set_rate() call together with the hpd_freq infrastructure. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 2 -- drivers/gpu/drm/msm/hdmi/hdmi.h | 1 - drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 9 --------- 3 files changed, 12 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 104f9cefa14834d04fb957eb48777e605d1e29a5..6f09920c58190a9c195de0407e4= c2dcc3d58b30f 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -234,12 +234,10 @@ static const struct hdmi_platform_config hdmi_tx_8960= _config =3D { =20 static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; -static unsigned long hpd_clk_freq_8x74[] =3D {0, 19200000, 0, 0}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { HDMI_CFG(pwr_reg, 8x74), HDMI_CFG(hpd_clk, 8x74), - .hpd_freq =3D hpd_clk_freq_8x74, }; =20 static int msm_hdmi_bind(struct device *dev, struct device *master, void *= data) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index 3314bb8a09d6bea7e34ad9050970bf43c64d1558..e93d49d9e86936cb6c1f852a958= 398de2e134ad4 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -93,7 +93,6 @@ struct hdmi_platform_config { =20 /* clks that need to be on for hpd: */ const char * const *hpd_clk_names; - const long unsigned *hpd_freq; int hpd_clk_cnt; }; =20 diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index 9ce0ffa3541795a076b433566a3cafe156120b15..7ae69b14e953f0ee6deea8a216b= fa9d3616b09af 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -68,15 +68,6 @@ static void enable_hpd_clocks(struct hdmi *hdmi, bool en= able) =20 if (enable) { for (i =3D 0; i < config->hpd_clk_cnt; i++) { - if (config->hpd_freq && config->hpd_freq[i]) { - ret =3D clk_set_rate(hdmi->hpd_clks[i], - config->hpd_freq[i]); - if (ret) - dev_warn(dev, - "failed to set clk %s (%d)\n", - config->hpd_clk_names[i], ret); - } - ret =3D clk_prepare_enable(hdmi->hpd_clks[i]); if (ret) { DRM_DEV_ERROR(dev, --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 40C99190678 for ; Mon, 5 May 2025 00:15:14 +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=1746404115; cv=none; b=MRnTk8ml5/ZrKYIhahZR+B1ReX7AH8nB0PHo2j1/Gm3nwrhuheNBnHYpXPvc2nWOt4TgmomKPC8pXvmP4jZIcHYvPxgZ1vrVfblrYDNzinhYKnZs9nUlT0AC2EC4A9nczWA1ofNpbSG7ywc3sEm2R4ZVM9cvLudSTkDimh0N8H8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404115; c=relaxed/simple; bh=CGyDFoTKkmhzrRAoyipkeuEsWsTrarBvvUqR5tzX1OU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EuukZBmsO/nUN48HUSeBVzOhRDnkHJzsUyyfehdBpPgnowVbt08E+xZSlT7wH8DpSAsUqPmNBqqK5bVysHBMEh+Nv/tb40LUQlz5VtlvdGtTV02CweeS8WdE82PLzrUmbPAV9fBDloEuGTnZj72e7Ir63YzNTTSgPWOvV0afjTA= 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=bb5g2JOd; 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="bb5g2JOd" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NQK1e015626 for ; Mon, 5 May 2025 00:15:13 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= lC8ZDdX8r3ZBs5Iye6AaJxnm/2rcpDHoom4/ujGR3LE=; b=bb5g2JOdB16+G+Jl L2sb3h8jwYKQ2So5K+BTiykiy7u3KcLH9oGaICikOZlAVBZEPWM3s8A+bx6M+eK5 ohjfHvxXwAvFJ7R+k1iKD7TCJVOTycjUmb9N4uwHHUduxOSunjsWqYRt+CLGpJFC tZ+cltes5k/RFD1LWzmiZUWi7upCfYcvPWT2CVsW1GxWdUw+FjkHY4wN47C/3AAY oUN1vbdKz3PzJwciIGS3NMOE8ctHIRzCm+qvaK0qfBmWux6R52q8Ca82lV2K7jC+ dO/n7pmkabGA+9zLZPJUgcDgeJXbVniZdjxI6kn0yQd+nOyVbJ0ppTE9oIobIUac vL0p9A== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj4k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:13 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c92425a8b1so708179485a.1 for ; Sun, 04 May 2025 17:15:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404112; x=1747008912; 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=lC8ZDdX8r3ZBs5Iye6AaJxnm/2rcpDHoom4/ujGR3LE=; b=p3wgq3r6mDeHe8iaGbSgYTH+/mUuUje93KylD12GkNSfGrrmIfY8rshE/SvhGmo/Gd S6A82o/vNldMylvrhxIQ5NacTQfa//9IlaoxA4CQai0CNhlfmvyzybHXTomwjGpZ5BFr pJjA4xY7IREFCO9cGB6+JYtrMX9psXQ5eLFNPLPsSnfB0AtBG1dFNs103T+vQDiSiUCV S6X4Rbhc1MWPyipwGAnxsC99djJgMTozWjMqq12voz8wuJbbNgJw0C/+y1E1UKywGNzw lO0nOrbTnaVNpNcT0aOBOYfcMqL7KwxWL9DWtBqnQ+vxfFh+7FQjwTBd8QhFae/CWm0G DiIw== X-Forwarded-Encrypted: i=1; AJvYcCX6zHvq6O321exlOgl0r++PE0/agtuPc7ppmEd747P5FCzmuHyi93s5vl3y/CTpNkePyTGkk45lJx0qfd4=@vger.kernel.org X-Gm-Message-State: AOJu0YzA5rlMf76WyXzo+mQqD+S3ckx1rf/ikMvhuvT44psBivZqaoEB c2rUSE4sNLfVeYa53ie8QgTSn89s59izkJCv/aVp/xI6bZJFRQA53rg+1NGg5RKUzUnILwDDZDB hQOi1DflbAYQIU8H/ly3uOT/VAmnOloLu8Rr+AqH6JZI9WCaOCBj37xkUyysqgj8= X-Gm-Gg: ASbGncuQdPETgkjFQMPHftPH0V4nBsugBcX2zDJvnoTyFjsF2KLe/edLtbd0LC/5Vrz gnfaCFdtBkce7mNMjFqsvKUhrWtZ8yCtINh5QLYqqg+NN3fpm8R+qHmezfzQDaWbWlCfUa1Kt71 raYQgy04W1VlmL5ebuLfpkSfeQZyCJ+Hq9tIvHYf6dIGDs4muWx/r7gW2BXSNKMfZGIaB4vlItv RMt3mamd0R2m6/7rpAVBWwfh5IS40JkHdHHeiru8XswhlR8OP576mCX0icj67Y9uj6XDb92IVFq 7TBvlKYRekCwSN5tctUUyMVO7rPjsD3B7HbLShGguTXuzJ53UoabhYfzzXIBC7W9LFOKWxV/JSz zz/sQj0mQVcl7Fwc1jy6KnYww X-Received: by 2002:a05:620a:25d1:b0:7c5:6a40:6a7a with SMTP id af79cd13be357-7cace96e8f6mr2088729085a.6.1746404112287; Sun, 04 May 2025 17:15:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFvNGkmAp+rxz3SE+ZfwFuR/iGSBPHH9E6ffeZtwrAcxALVaQZ1RkFPFE+vyWxNBp/1C1a25w== X-Received: by 2002:a05:620a:25d1:b0:7c5:6a40:6a7a with SMTP id af79cd13be357-7cace96e8f6mr2088723685a.6.1746404111831; Sun, 04 May 2025 17:15:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:10 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:50 +0300 Subject: [PATCH v5 06/13] drm/msm/hdmi: switch to clk_bulk API 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: <20250505-fd-hdmi-hpd-v5-6-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4477; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=cNUywERI8hGQBw9l50SO0xvsuUis2RpMcSyOPQXrk1Y=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL8Ff/ghUad7hDlMm0gOBS5v6Nsc98AilCUL zHv2mb15caJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1SIcB/4gGV8loPoCtbdrusFh6IGwRUKH/Sb5NvGDf3zyWHQKwsgp77/X6b6c9UBLyj4D2A/gylP zhy90TSoPZQoB+HBJyvopBsZVrEFUkiMWlHSO76LXttNXcFELN73lfgR/4/E9ROPWK4kYYLItoO 0mV/0yo5uVDK2Zy1KciXDUnGi6vLh41/MeFwxM3mGaluvD1BT5onejUSzcocLx31OzxGnMf0f3e 7aUcZH6IP2Qh1Pgd/7pmjfIF4i1nTEqEIPSUmrRw+arYkZltAKGxQBVxbFb4EsR29i0RGWGdDmX E9kYu7hrHOcQC4S1I+0LZdQ0Lu6tbnDrw2fQAmRerUVQ9Fvt X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: Gtq1TQUlmDT6QlSKEYCpsgY1Kj_dFFnv X-Proofpoint-GUID: Gtq1TQUlmDT6QlSKEYCpsgY1Kj_dFFnv X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX35+naInHV+m1 LKYnOvrsvZlt6d9os/WMsLwKRFeHOiPVq2j6oCbQrIEaj4ADkefOXYZ4V04kYiGbIDpCTs5xzjC 6HKpKUQ7IMGuK/KAIFIVYuDuUi7sOHQd+eK9KARn42b2d80kibjBMoRPETrga02dEzsfwjqniwV iisvhfhOa6uvOlitNIGdBfSFbGDTpeAFI+BaxtDWZgjjrOfKTtEr3q2SDvYpHgOf7BYmpPsDmew htAVe+WJJ4yb9opoPHPF9e4wS8dK5YijGWfBRRUAk5/9ZNP9fHgQXx2UdaBMPmW9FcIi2Dm59YA WwxntKzZvG4LFu2Ddnq4XeC8+W244NzOqN6lIJJvosfjqSdHq0zL3Kam9rLlz02muPcZqDeu5Rm VwItW4E802tXbfetkKiKZKm9hcNquMp4cl3wJu+urg6CZItCzQ12YqrJ/C8DLLRUr58nWUjX X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=68180311 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=crT2GVGf2cMoZBaL-JsA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov The last platform using legacy clock names for HDMI block (APQ8064) switched to new clock names in 5.16. It's time to stop caring about old DT, drop hand-coded helpers and switch to clk_bulk_* API. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 15 +++++--------- drivers/gpu/drm/msm/hdmi/hdmi.h | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 39 +++++++++++++--------------------= ---- 3 files changed, 19 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 6f09920c58190a9c195de0407e4c2dcc3d58b30f..69e337d551799b4d35c8c8c7ecb= 5c4680b9a9e5f 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -353,17 +353,12 @@ static int msm_hdmi_dev_probe(struct platform_device = *pdev) if (!hdmi->hpd_clks) return -ENOMEM; =20 - for (i =3D 0; i < config->hpd_clk_cnt; i++) { - struct clk *clk; + for (i =3D 0; i < config->hpd_clk_cnt; i++) + hdmi->hpd_clks[i].id =3D config->hpd_clk_names[i]; =20 - clk =3D msm_clk_get(pdev, config->hpd_clk_names[i]); - if (IS_ERR(clk)) - return dev_err_probe(dev, PTR_ERR(clk), - "failed to get hpd clk: %s\n", - config->hpd_clk_names[i]); - - hdmi->hpd_clks[i] =3D clk; - } + ret =3D devm_clk_bulk_get(&pdev->dev, config->hpd_clk_cnt, hdmi->hpd_clks= ); + if (ret) + return ret; =20 hdmi->extp_clk =3D devm_clk_get_optional(&pdev->dev, "extp"); if (IS_ERR(hdmi->extp_clk)) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index e93d49d9e86936cb6c1f852a958398de2e134ad4..3f87535bcf43e20f0618d301630= 7fe1642d7baf9 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -49,7 +49,7 @@ struct hdmi { =20 struct regulator_bulk_data *hpd_regs; struct regulator_bulk_data *pwr_regs; - struct clk **hpd_clks; + struct clk_bulk_data *hpd_clks; struct clk *extp_clk; =20 struct gpio_desc *hpd_gpiod; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index 7ae69b14e953f0ee6deea8a216bfa9d3616b09af..e253c1408dd1c6dcd7e94506f0b= 8edcfd4a9a159 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -60,27 +60,6 @@ static void msm_hdmi_phy_reset(struct hdmi *hdmi) } } =20 -static void enable_hpd_clocks(struct hdmi *hdmi, bool enable) -{ - const struct hdmi_platform_config *config =3D hdmi->config; - struct device *dev =3D &hdmi->pdev->dev; - int i, ret; - - if (enable) { - for (i =3D 0; i < config->hpd_clk_cnt; i++) { - ret =3D clk_prepare_enable(hdmi->hpd_clks[i]); - if (ret) { - DRM_DEV_ERROR(dev, - "failed to enable hpd clk: %s (%d)\n", - config->hpd_clk_names[i], ret); - } - } - } else { - for (i =3D config->hpd_clk_cnt - 1; i >=3D 0; i--) - clk_disable_unprepare(hdmi->hpd_clks[i]); - } -} - int msm_hdmi_hpd_enable(struct drm_bridge *bridge) { struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); @@ -107,7 +86,9 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); =20 pm_runtime_get_sync(dev); - enable_hpd_clocks(hdmi, true); + ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); + if (ret) + goto fail; =20 msm_hdmi_set_mode(hdmi, false); msm_hdmi_phy_reset(hdmi); @@ -149,7 +130,7 @@ void msm_hdmi_hpd_disable(struct hdmi *hdmi) =20 msm_hdmi_set_mode(hdmi, false); =20 - enable_hpd_clocks(hdmi, false); + clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); pm_runtime_put(dev); =20 ret =3D pinctrl_pm_select_sleep_state(dev); @@ -193,14 +174,20 @@ void msm_hdmi_hpd_irq(struct drm_bridge *bridge) =20 static enum drm_connector_status detect_reg(struct hdmi *hdmi) { - uint32_t hpd_int_status; + const struct hdmi_platform_config *config =3D hdmi->config; + u32 hpd_int_status =3D 0; + int ret; =20 pm_runtime_get_sync(&hdmi->pdev->dev); - enable_hpd_clocks(hdmi, true); + ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); + if (ret) + goto out; =20 hpd_int_status =3D hdmi_read(hdmi, REG_HDMI_HPD_INT_STATUS); =20 - enable_hpd_clocks(hdmi, false); + clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); + +out: pm_runtime_put(&hdmi->pdev->dev); =20 return (hpd_int_status & HDMI_HPD_INT_STATUS_CABLE_DETECTED) ? --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 A601A195FE8 for ; Mon, 5 May 2025 00:15: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=1746404117; cv=none; b=JhLTZD2hHsh4tby17uCz5i97bXuPKJ2aMY0vjvEKW8vihYiE4ES8oRQE01vnZuqTEHqeyMiC/t3HPYAm6ITuuP9x1hMmGJoW/YTnEGVwC4Hs0mz0VaFmk9VB2DL8Jn9EITtfVovr6uXEGaQK3adpqLaYaT4VJrq9ykSgBkMbsW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404117; c=relaxed/simple; bh=Q7+hSmVUziCvTJlqk5umA7RkOLupvCyy8blJqiPzehA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kzce66VnAOQjs6bHId989NinFkuqZPd+ONFO0G3cGPYSBpa4mJvC3f+MxAmSxL2MhXfnOG1frl6r7YhM4Z8JWSN2g7VJqGLn6fTHg4DoyQALzu51FFn8krvtNT2N9aDpFGhoLwHoZyRop+W/aE7sGj7UdOls0ZMPEZxX0R6dXVI= 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=kZ1oK6V8; 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="kZ1oK6V8" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544JmT6X022933 for ; Mon, 5 May 2025 00:15: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= rzjD6W4PVhu5bnBRA6TwITh0IKW78wTDC6QACU3Fu6Y=; b=kZ1oK6V84mEwN0v+ 3Y6GE+RRy3ttADEs4G9dkCBiySKIBJddQpSz+L+IK82Bzrn8JDHUy5QMvX1Brchc v32VgXZLmP4mcLsoxbPrs/f1oMZ/montVVwKviY9FXnxZLPOD0QQI67wZFNOh6nz uu2jyZc7kryMHf8XUj8fllk7+S+1KDY+Tslqsz9Al0jelRnYKKMmwJLiQWFifRUI dMnS4kCRoZtT9DJtpDkRl+F4Jn/AaKEk3GAeKYB3DJ5IFhcvOM4Ets9ybb7GYdIm YAvfpJofWFtcdxHWdYIlq2C7kfI9VSoovL7g1uBXYyIcXhMZuwWDf42cDL9aG2O6 XibAjw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj4n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:15 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-47682f9e7b9so72888291cf.2 for ; Sun, 04 May 2025 17:15:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404114; x=1747008914; 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=rzjD6W4PVhu5bnBRA6TwITh0IKW78wTDC6QACU3Fu6Y=; b=xBIlaCfkQs0h4Hp2wzyFLGar8YmWiVMPmua5HtD3FUfpDqpgvW9lo3vJR5YtEvCBrr J2aTA3nESWdWZcR7dOOpvnUHJyFqRaK9FL7LqVciDZHhfnfnJ1YwCGNbkIbVqCKEWEnR Ln2EMAXkvJLrOlrehj8nP+5/7j1DCipA34u96Ji3UwMx+4OwqzwjydWMCK8Bow7Sg8m2 zHiKq6NcNCjvfEKDLTzhvmDAl+ccpGobdbVuomUB2JFq3REleHKp85EzwdtZPMkMuU3A PPR67145cL+8cxDB7zet/YL2udnW53lgZsB2cW5DnVt81qQi1RurYb5hqkj3mYxAQSa1 Mi1w== X-Forwarded-Encrypted: i=1; AJvYcCUPP64n7uPOVGQ81ZkVCiL6T+xUVkf2ylVfkeWT/tpPaI0ySRlDa5mRlnAi3L7B56N8r4o3QzyEbMBmlFE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/R3vtV0hLLjDxMLrTaRvB+wp0Ote/JyvI57+/2xDhRrJvESST 4xGB5OiECcrSg5ZZy/6AB39wsAm/JggTHdinvP96sUmH9VXiAEKA0IUUHsPJk1LJNsWpnzXEN2A u8DFp/lxdgu9qpsfFXL/D2kI1WuqDilgqHyhnx9jDoX9vaYsB4LD+WyoW0izWcLw= X-Gm-Gg: ASbGnctxW2J/4iSbgYVzvgynODiBeyuEnJCtr2IhIOrJGQr+mkA3nq0LvcfecSxxBr/ Pvx0CoNg5ty/qyKjMTGke/4h1jRABGTKBD6aI8OIQMEcADLICiQpjMSrHfm+vYKqexSXZgHRQ1a VwiQ/0fPPm7JjVw09MOs36jwP/gEhz5CNo/0RM5MS4zomrOygPja2VsrZuDmclOszU2JvB5RST3 acJt2PVIxoRQcYu/BNOw4LNyXXr5N23zpto42ylj2Ip/9QPUlT9AC1fHwjTfKl+ohDUSSm1KIaE l2b3SifquHwYX9KGSbpwScmxHTU+VEzmNv10p3CAK1maanycWJDbATACWT6nz+QrYy6SVXrH+79 2E0OaFmgdddYaQtTOdwPPLw5z X-Received: by 2002:a05:622a:490:b0:476:a895:7e87 with SMTP id d75a77b69052e-48e01552e3dmr83378901cf.48.1746404113757; Sun, 04 May 2025 17:15:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGjy4BDq/ngBUylfvyk62dWRjQlZU6LHc8tgPXKTj0ZxRujx94ZtnGHTZ4N/Ax9Z0ejvKtJ3w== X-Received: by 2002:a05:622a:490:b0:476:a895:7e87 with SMTP id d75a77b69052e-48e01552e3dmr83378621cf.48.1746404113439; Sun, 04 May 2025 17:15:13 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:12 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:51 +0300 Subject: [PATCH v5 07/13] drm/msm/hdmi: switch to pm_runtime_resume_and_get() 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: <20250505-fd-hdmi-hpd-v5-7-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2832; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=+KLC0hKahtw/rbBVi8TNRT2LZxqudcybFb57eB3iUWw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL8TRmPzNRqLG+vuhB2OEaPuUfxiYybPe2DY iYf3qhPCjqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1XvzB/9S+1ACKUPSypEkRCWGDaqh9SspuUlnqat6JuNHZy0JmdmQyysnZprtX8J5FnlMWKfkSFg vkTXQbQ56FkcctwjfGdlhRDd3FnrRMd7S0xJGxu8ayZhKKz42fOr5eanjXTpu2hHoAQQyCv93tL 2AD9FDzMWrYekF6U+KrooN1wXnjeaixp/nE4xl3Nsvn5l2IIGr1HlFClIkMbgcuUisOkODon2OB 82+rZQDq4qkSb4dSHILyWcPOx8ThWXkk0d1u5ylyJSzB/Zx8nYn+hjj5CGcwUr16gM1YnruIi4E Et9ns3K0HrLR30SEUYGkS7S6+Np/5LAV25eMUCniYw5NYryT X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: 7xu0vzD-i_KFOfqE9UUDqbOWaQXMTU9V X-Proofpoint-GUID: 7xu0vzD-i_KFOfqE9UUDqbOWaQXMTU9V X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX0/TgzyF4ZQpy RFOOoQAOYvhuIqDKnA0GftAutIXwU6CqPVSFRBKUWgrZGa2u9ntrTmIsey6Qe5eC34TuV0sr07W ng3qLanh2J2+XKGeIJePq6WBw9DG6+asgS65AcafZSvHkM9vtpa2DOTGxYCqWG0oCQjpg0eZWAP 7yDdIhsgq5dEiOwOg55kcLchovmq2bKtZ8MAg56l+hWqkPUBw/9/DsBpQuRG5EAlKfGW9iJmdxi 1G7BEz1NgGIeY1MFBEefES9Q+pNuClBMSo1EbZyPDF2G4T7n/50JqG+JHF7/ps3iUepDwi/20Vz DMqNpL0BJFBZW3XXQnfkmpaWr8316LC/an5FEUKbz9Qq0UG0fuk3umxibNw3tFlKF3bc6dzus2U 1eoW8dxrLpn1UhVBDA1rc0gnYmg7JWPGLwCnRCPrfoo9DQ2w4+moMwc+yLSYRVhTuwgffMs5 X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=68180313 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=-J1M-BTCRiek0Q83fKAA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov The pm_runtime_get_sync() function is a bad choise for runtime power management. Switch HDMI driver to pm_runtime_resume_and_get() and add proper error handling, while we are at it. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 2 +- drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 12 ++++++++++-- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 6 +++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index e7997e4a741c3b27c9086651efe6b79dbba6bf88..3ae305e868a5931a8982e261f51= 8cd8134d559cc 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -21,7 +21,7 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge) const struct hdmi_platform_config *config =3D hdmi->config; int ret; =20 - pm_runtime_get_sync(&hdmi->pdev->dev); + pm_runtime_resume_and_get(&hdmi->pdev->dev); =20 ret =3D regulator_bulk_enable(config->pwr_reg_cnt, hdmi->pwr_regs); if (ret) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index e253c1408dd1c6dcd7e94506f0b8edcfd4a9a159..d77c68914c5f525cf12971c1058= b1abc33792b24 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -85,7 +85,12 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) if (hdmi->hpd_gpiod) gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); =20 - pm_runtime_get_sync(dev); + ret =3D pm_runtime_resume_and_get(dev); + if (ret) { + DRM_DEV_ERROR(dev, "runtime resume failed: %d\n", ret); + goto fail; + } + ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); if (ret) goto fail; @@ -178,7 +183,10 @@ static enum drm_connector_status detect_reg(struct hdm= i *hdmi) u32 hpd_int_status =3D 0; int ret; =20 - pm_runtime_get_sync(&hdmi->pdev->dev); + ret =3D pm_runtime_resume_and_get(&hdmi->pdev->dev); + if (ret) + goto out; + ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); if (ret) goto out; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_phy.c b/drivers/gpu/drm/msm/hdmi= /hdmi_phy.c index 03120c54ced686dcd2ddfe809dd9c9011f608235..667573f1db7c6bfef6c75828b5c= 581c147a86d0d 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_phy.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_phy.c @@ -58,7 +58,11 @@ int msm_hdmi_phy_resource_enable(struct hdmi_phy *phy) struct device *dev =3D &phy->pdev->dev; int i, ret =3D 0; =20 - pm_runtime_get_sync(dev); + ret =3D pm_runtime_resume_and_get(dev); + if (ret) { + DRM_DEV_ERROR(dev, "runtime resume failed: %d\n", ret); + return ret; + } =20 ret =3D regulator_bulk_enable(cfg->num_regs, phy->regs); if (ret) { --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 45FA61A0BFD for ; Mon, 5 May 2025 00:15:18 +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=1746404119; cv=none; b=e1nnwp2RCX4OS6rI0kQ0KTF6NOJ0TLqidNnuPFTAw9rYrxQiJawEmPcqzm2/YCZCrYf9M+19m2VMxFpwhND4oOKKBzkivKOaX6umzaHBcF8HtV3DEAdMFYixJt59zrl2kw59wIQ+LlD5luFysW2pSwTiM07ubzxBPQIBELSTRec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404119; c=relaxed/simple; bh=yxhAip+pU59d1DqmlgSeZ4LDkSEHXaDc7qVKspiiNHs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cQVhIDAek9QSjhYHiyvojzO225SG8UcYaXlaQW/9K9HrhFASFbqX9801Bt9Opw+EzOV6bM+tpS021IZK/BHQ5joVkHaNfCXM0grxWmheeNw5+4eDSjQOBUm1Atg5YCpopWsAwzCZ9nkvwZYKEviwWjRc1CzK+RK1qIS5CoarKsk= 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=nAiW8nE/; 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="nAiW8nE/" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NLVK4032287 for ; Mon, 5 May 2025 00:15:17 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= v2F7Z22Vqvpmj5OI5DLRf+E6nF4Jvc5Wh4oto467bgM=; b=nAiW8nE/itp0xVjY YUPQ9BUa9ZyG0iW0m9aLQGvyqzAIpH/uRS0kbvofPJHcAEEeeGwErdmbMjuzO+z0 e4XtcpvUWGBmS1w5BTgnrep4Wlde9EufgKYLUx3RKytC1W6jOoC+vbMc6EyLwssW hMycCqHm6KmsjpJi6vxmBT9hX8GMo5IrFj3kCntI2HEnff583obp8i5f9qJf4v8p 2l/CXNexgEM0vsgtYOhVNkINSWDjDKR6D0RZtzswS67SEx6T13gwm0gjosMDAiu2 nft9fbUZAj2FGU1IWbU9SaNUPs31i/KnFfkl88PnIpQYY08ue2zgV3EVZidtyy1F E2SSXg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dce9ahk1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:17 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c3c8f8ab79so98105185a.2 for ; Sun, 04 May 2025 17:15:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404116; x=1747008916; 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=v2F7Z22Vqvpmj5OI5DLRf+E6nF4Jvc5Wh4oto467bgM=; b=iMC2IbgtWODFeUCT3r/8AVgMe/fR5jwbMdPot4iP7yIrsK+x3jdN6cobAn7VKZ2Hr0 iaW5GjJF1bbu0iaBeXLiwbXzbH/nwWXsiNJKrSr40YZXm7gbqhQALTnBzAcgrA9fkoEI cfxdVBoG8hVwsIpYa4VBDdynXW3FHT3FDRr+QyTfJCFQdw8+Wi3BgGNwbvsV7mhkLVUV +gJ0/cubLwMbKO2t+hnECZHbpx1O2dMYRHxediCb2pE4wrfrDBXx9f+FX8qsyXbuRdFw PUrLNVdv3OPKauE0Jg7eALrgUzpR3kRwnFyQiA+fWgU/s6dQyKZmsArUY0UhG5Inq3JN MAyg== X-Forwarded-Encrypted: i=1; AJvYcCWuIqBooC7FWIxnoaw4wczWgf22WcnqkeOgZx0YVEqi+jFtOhj5e9vVYXPJPjv1vES3NaQ0sjapp8zj8CM=@vger.kernel.org X-Gm-Message-State: AOJu0YzI6RAgThHwoDTcpiTz3g2/V/GmFTl01A+KKmt+HNAWp7uTMcUx F0qenTDcC3R11Y7o34yn+zh83+4SFO60fEEXnDjnZtyVONUSEizvS3h/+WNyXkxOoFZ1uRgyCuJ FjgjyaC6iad17Hl6gyk3xfDfLdHqHm06NtnDvpQQuuaO61RK/biQjygfC3165Jd0= X-Gm-Gg: ASbGncuxvGdqPOxvJuY6EDZ54XbDF3AovIFeuFSzKai84tHEtuyOFfOI9xMRdiqwnkM S4fDgc5mLkCNJqRDMU6Ys1Fy8x33UnfeoV9IntkIYu3owO41cdEapIevpyVs+ELkg+CmbfJFPHi ZhE3vklqIGm0CFVKep0DxKubpejQfM563qnEVzadJKIPziQVfe90rd0vXQpnR6zJSfUTRedIk92 YpslIVMhoH+1rRufiZLBys5kSmIyg4egL74xDLotfko+J99ykXUQu9NMvGHTAg2GMpyhdCURLP4 ghDFeB8VXvUOPTeh2mb3sxXE6wq/Pi3NHPWTN3xiP/qfxos2k4ebZGCHC8EvnQTZOwHdB88mAiI czpSxLk114t+wBnpUO9ouxkvN X-Received: by 2002:a05:620a:2685:b0:7c7:a537:7ce2 with SMTP id af79cd13be357-7cadfe17315mr802247185a.32.1746404116391; Sun, 04 May 2025 17:15:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IExYazgDRjTexqikZJLs+e8cHSkJCMMfDgM9LGiX5mnr/yYzp0a87xL7ICzXIpxbm+W8Aa1RQ== X-Received: by 2002:a05:620a:2685:b0:7c7:a537:7ce2 with SMTP id af79cd13be357-7cadfe17315mr802244685a.32.1746404115996; Sun, 04 May 2025 17:15:15 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:15 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:52 +0300 Subject: [PATCH v5 08/13] drm/msm/hdmi: add runtime PM calls to DDC transfer function 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: <20250505-fd-hdmi-hpd-v5-8-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1630; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=iRrggYdOsfyNRF7mD9CF5dLKTnVLk9gbl2tlKLOnDn8=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL81jAwp87jlj7ePL8czNId/7xi5vSBolYDO u7aLLeOGLqJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1ZIrB/9urrL2y3ZvkQ2p9CqGK09lcSPj2IysMUziduCLEJKZVJY1Unqn29EtfW09+necJx1FnMu Oh1wVjrwn93y14OfZUCkCZj/VuGWmZrHQ2IiCbxAViknRVwNZwHh+SwCKKFz5PmFVRLpqF7UrIx lbfr084Ct04AbBoBdVZD2RpfCWmOmm4vfSowLzvpL2RYSix3bg30smbVtDZ0MKDy19qbyEbfmnY 8BuWNgbVPoGwVrWOWeoynq6TJE3KY5c19DId31Pr0TzKQMEaKnSONTJGKFr50R8fC9Fry/1BX8q PX2DyLakLBKEigIRXub1o69z0JHanZVTsxpo2CVxkT2d5eOo X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX8Zn90DikUeHV fuUmqOQ9G/MzUKiq0ifr4ffT7mttCL8C9kHwhXbxe7xh6+R01jskbUjUZI1ElAxSY4XGt4VFcgs yNPLz8GF6jeeNrVLp+VDiFVgy629VF9f/Zsl0yeaglCkf5jE8c9ZGgfsanbfhWJCIQm+JvpCJot GDlxmMSN0opxXTfTIVSLFFmtvRhKkOaNhyyvwids3HZvDr3W9kW3e5D+2Li42+UTIj8zr6jKif9 eWRrAAc788fLBC2zNxDoj6gE4W4SGOKx8AvJ63TpBz4RapkhsKpIOwjgImxP2FALIlHxW1KnFLK +csmGvwFH+Toke1jOoYePEXVzI+Xihf1kwPO41jfIDRy3fHFO6kFb652B0NZH7yo/nXF4JqzDGn 1SeUNIzH+tSSq0fyWX5EKuIFScikvtF+xt/3zAEolmyz18ibk4/omU2QHoo6KfKtRvgZMck0 X-Proofpoint-ORIG-GUID: CDRoqIW9PQN3_KVcllmAGgUNY4YUxnT- X-Authority-Analysis: v=2.4 cv=Qope3Uyd c=1 sm=1 tr=0 ts=68180315 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=bgq6psdzRVsaJitvC04A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: CDRoqIW9PQN3_KVcllmAGgUNY4YUxnT- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 mlxscore=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 suspectscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov We must be sure that the HDMI controller is powered on, while performing the DDC transfer. Add corresponding runtime PM calls to msm_hdmi_i2c_xfer(). Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c b/drivers/gpu/drm/msm/hdmi= /hdmi_i2c.c index 7aa500d24240ff3ed6694c469eafc4388c982346..ebefea4fb40855745001ed97367= d571bde28f413 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c @@ -107,11 +107,15 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c, if (num =3D=3D 0) return num; =20 + ret =3D pm_runtime_resume_and_get(&hdmi->pdev->dev); + if (ret) + return ret; + init_ddc(hdmi_i2c); =20 ret =3D ddc_clear_irq(hdmi_i2c); if (ret) - return ret; + goto fail; =20 for (i =3D 0; i < num; i++) { struct i2c_msg *p =3D &msgs[i]; @@ -169,7 +173,7 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c, hdmi_read(hdmi, REG_HDMI_DDC_SW_STATUS), hdmi_read(hdmi, REG_HDMI_DDC_HW_STATUS), hdmi_read(hdmi, REG_HDMI_DDC_INT_CTRL)); - return ret; + goto fail; } =20 ddc_status =3D hdmi_read(hdmi, REG_HDMI_DDC_SW_STATUS); @@ -202,7 +206,13 @@ static int msm_hdmi_i2c_xfer(struct i2c_adapter *i2c, } } =20 + pm_runtime_put(&hdmi->pdev->dev); + return i; + +fail: + pm_runtime_put(&hdmi->pdev->dev); + return ret; } =20 static u32 msm_hdmi_i2c_func(struct i2c_adapter *adapter) --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 04AAD1ACED9 for ; Mon, 5 May 2025 00:15:20 +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=1746404124; cv=none; b=m2L7FKPvj8lzcPYa4E5ka0ct2LUUz3HwxYosFOCIlFcJCjPRYNEQ9SVC1OVcqST+Mdkh9RzQXTifeEEpvqgF9c4Y2R5pQeDQ3ArrzypyNGSygie2fUmepC5R+j0KrFypvu1WDw4viKhd7YyoH4Kl6aPOc/+8ek6eK0arTxSZJUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404124; c=relaxed/simple; bh=JiwyaSew0NFtZ5o4cDod5F4IS9r3LnQFkGJ/FWeINsA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TRcBbqixIe+9oBYlnHLd39FHlrqHXDG7EzuKje+Tpb6pUzzer6rDLWDPgogEiSUGObvF8H+Tx0sGGFfUwlbXRvgqxblcm0BZ6diFzLLoQuSZ/JifFuY3zhE81xn/rdLuvlvmMb6R3hdGbHXrjT0xHe++zyEL8wIJHGbNeB8oPQk= 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=MLkdtaUf; 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="MLkdtaUf" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Mrcsf023135 for ; Mon, 5 May 2025 00:15:20 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= 2mAZjRTa40l8e4BSdDDl0ubGwkl56NVIuzite4sqbHo=; b=MLkdtaUfVjbjqICO vwEtDcRhw4I4sX1D2HCRNt74rpbCq1yQekUobZR8umJwKCiUMyRQpfXllrU6eS70 OlQPq4uS+rulAq2yjpIuu7ujear8gjz3/E4Nrw1s9IdlUQ+BZaLovq6OKgpuhG5+ mdS0DLDmSfcY0CdmPyDRB75MPLffhdKIdiLR+TA+9jiqGhoJTt255keab7FlNMdn bSOovbhtLeds+sTtDDqFjr22Jyq+HsDnriX7ym9XVV3xJf8G+oKopjriu4eyqSh6 noOt9pHp+e9vYe1PMLSbIIaN35v+kZzN8Uwiho7NN+xGlt6DPAZ5Bi1YmJNT1dxb ILpDWg== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dbwfjj4y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:20 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c54e7922a1so837112285a.2 for ; Sun, 04 May 2025 17:15:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404119; x=1747008919; 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=2mAZjRTa40l8e4BSdDDl0ubGwkl56NVIuzite4sqbHo=; b=AE5EuJoSSWJ+lL4TXGWJxqFJEqUtZWyAaC2XakXRKbUOyH1ZnbyFYaafhMWomfvYG9 Nyje3fkV+xdgf+2CkqpldiUuxmgts3QBTmwSj0UShrynJpeQRF3nEYlOzqo2LB60JZk0 oLvhx2MtjD6YiERBez/LT1NV8mfZLmCSqfKI5meqzp0L89PHI05tjDT4Y5/AdjVjBKkN GiNBpnvt4rS50IYftrAldZOR7StkPUIgtSAmlj3u49A2HzilzlY1AlB2NezfLa72yh6K JbC6SZKKxGzPODnDKTBWylY/U/Bgcp8PcLn0DfwfVkdo9ORuG3+B4HeUDb4FzTC4gJeM 9dLw== X-Forwarded-Encrypted: i=1; AJvYcCWieAVK4Q0hRU1mgAu0xmQFuUkfhYIaNLGjiymTAwqv2oF6TJy4s7rNlc2TtY3pv6/EFHh9cn/FiAyxoV0=@vger.kernel.org X-Gm-Message-State: AOJu0YwcNo65aPVFLi35BMpvBQRi8c8FVjQSISYhZXXB35hgryO5abKX BAIaxb8pIWO+3ppR1+XhnwLjyViLEG795fnymGLxBttH7nFcvMMWHZaudvBV6U0zPxnWa9cWFbk MOv0sZm8awXd7gys/9MckTXIr6zOLGhTe1hOEFQ1PapqNWpX7jlYw6UjWDcnZY+I= X-Gm-Gg: ASbGncsHKcSwdjI51b3kQ1ytFYAxglP5edIydm46pzSJaPKFKCo3pchfWlps5XvSayR tvX1j+4yGwpIYLXrYA1AtjGy5CddZuiGed1yknhKJgKK8ACFUYDb/o6VvkCqaDJSOkyg8y2Rhoe fGrOW58CdPWYSx0N+LSNk0+TB6s+KeHcqwShKGxKkhti3Qs6/arsEjPQdrTcAY+YpNKOOH3okjy 3t7mqyvTq18FZVNL88g5s0NIMhj/ErQ1zRl4oGkQKEc3mUwcgU6MkcdcZHz3DgR7LtFEx70wMkd wbxdmPZBRSR6OPcbZ/XbM4pdt1PHYbEHKIqyQxYWFYG1aSHDqGmXzGsG74+HrXRBuKpu+bqq3z+ ByA4bHixxCo6Cz5pt4aW3gwKn X-Received: by 2002:a05:620a:3705:b0:7c5:a2de:71d3 with SMTP id af79cd13be357-7cae3aa7dccmr710183585a.20.1746404118933; Sun, 04 May 2025 17:15:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJvT2qXEA+3qgUD9BONo0ieQGGIaGCVQ0ND5SLSFhAwExotlMLJ/1Dm1zx+Ha2IJcArypA1Q== X-Received: by 2002:a05:620a:3705:b0:7c5:a2de:71d3 with SMTP id af79cd13be357-7cae3aa7dccmr710180085a.20.1746404118531; Sun, 04 May 2025 17:15:18 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:16 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:53 +0300 Subject: [PATCH v5 09/13] drm/msm/hdmi: implement proper runtime PM handling 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: <20250505-fd-hdmi-hpd-v5-9-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=9382; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=03nwODxsaeTmx63o5nvi9in7Q0eD5uMPd8cMRsyvZo0=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL81CMtn0s/fUQMfCDvzbQVQPs5xvSHf1AaA lnsYs3+a6OJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1UU1B/4mcG9UB2+HV1URSbHawbcWzIpOvWrp3klhn5IMEYsNXir5XoGy8ouhN/ojtuCT+hq8aZH +dtXh6kNGnHIgCLiz/kFvOSvG75ua7FQtkHeJDezXyoErUmzLCSJgqVcYsUUBkPv4FiWD/vXABR K0NCz4mILOu6A0uPmMTpzB0yvnmHdiPRQWpvamBwsatBWa6rfDkLYqCDeknfHtRzGQpdiT/OqOj kl49dtxohNwXLiD5L/1fdI7sye8Sda2anZ3jxwvLk6w/dbdI78fFriBT12I3HFzOX3K/Met+7PZ 18/u+CTAy+mqoCfqsMvDYieoWMikHbF7+XRWHpxFl0DwVerX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: qUy95TIEqBDoQ_YlDU4ewtFCc5g1mnkP X-Proofpoint-GUID: qUy95TIEqBDoQ_YlDU4ewtFCc5g1mnkP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfXziCbfzyHEVzU Y7B7VrRaLHkI9UVRxSnwMFZOyBFSKBzc6mc1c3Oco1O/jwjEbVCus4big0pW2sXUUHsyk69RS+j yAEtykFJYijfVYw3iGBZAWKdyUWHY5bI35nZ7gKTMesTGA2JoFoldWJIQJfu1oZy+yw06osLK89 3zRWDT0nOKrQN6cO+Oe8WqzrvLMoMcDCaGXZnuCxClvcxRY9jmpMjvSby3H4LUAn6/rh6dtCtvT +KufJ2gyveivriZAC3vUtaczGpIqTn7H/D3ZpSwUOC9v6ygM9eMGA83nDoffAaHrwmvcEO3UmQI TcOc0otRyP4neUGeetVh+c3c11x2gIPGpbi4wTzwsL7mO9RnjD0mOyarEW4iFcdEbCY7KtDlKO0 voPOojK7OfKXurNoFcemXmDbwSLT9WfkyFD8uzT9QuG4PvvmbmsOoS984uQzm8RnKyYrtPLI X-Authority-Analysis: v=2.4 cv=AfqxH2XG c=1 sm=1 tr=0 ts=68180318 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=5f27SdGkVz2AZoGoeocA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 priorityscore=1501 phishscore=0 impostorscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov It is completely not obvious, but the so-called 'hpd' clocks and regulators are required for the HDMI host to function properly. Merge pwr and hpd regulators. Use regulators, clocks and pinctrl to implement proper runtime PM callbacks. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 62 +++++++++++++++++++++++++-----= ---- drivers/gpu/drm/msm/hdmi/hdmi.h | 5 --- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 12 ------- drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 42 +---------------------- 4 files changed, 47 insertions(+), 74 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 69e337d551799b4d35c8c8c7ecb5c4680b9a9e5f..ded20176aa805db98b0599e617e= b6ea9bce122d8 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -8,6 +8,7 @@ #include #include #include +#include #include =20 #include @@ -224,11 +225,11 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, .item ## _names =3D item ##_names_ ## entry, \ .item ## _cnt =3D ARRAY_SIZE(item ## _names_ ## entry) =20 -static const char * const hpd_reg_names_8960[] =3D {"core-vdda"}; +static const char * const pwr_reg_names_8960[] =3D {"core-vdda"}; static const char * const hpd_clk_names_8960[] =3D {"core", "master_iface"= , "slave_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8960_config =3D { - HDMI_CFG(hpd_reg, 8960), + HDMI_CFG(pwr_reg, 8960), HDMI_CFG(hpd_clk, 8960), }; =20 @@ -318,20 +319,6 @@ static int msm_hdmi_dev_probe(struct platform_device *= pdev) if (hdmi->irq < 0) return hdmi->irq; =20 - hdmi->hpd_regs =3D devm_kcalloc(&pdev->dev, - config->hpd_reg_cnt, - sizeof(hdmi->hpd_regs[0]), - GFP_KERNEL); - if (!hdmi->hpd_regs) - return -ENOMEM; - - for (i =3D 0; i < config->hpd_reg_cnt; i++) - hdmi->hpd_regs[i].supply =3D config->hpd_reg_names[i]; - - ret =3D devm_regulator_bulk_get(&pdev->dev, config->hpd_reg_cnt, hdmi->hp= d_regs); - if (ret) - return dev_err_probe(dev, ret, "failed to get hpd regulators\n"); - hdmi->pwr_regs =3D devm_kcalloc(&pdev->dev, config->pwr_reg_cnt, sizeof(hdmi->pwr_regs[0]), @@ -409,6 +396,48 @@ static void msm_hdmi_dev_remove(struct platform_device= *pdev) msm_hdmi_put_phy(hdmi); } =20 +static int msm_hdmi_runtime_suspend(struct device *dev) +{ + struct hdmi *hdmi =3D dev_get_drvdata(dev); + const struct hdmi_platform_config *config =3D hdmi->config; + + clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); + + pinctrl_pm_select_sleep_state(dev); + + regulator_bulk_disable(config->pwr_reg_cnt, hdmi->pwr_regs); + + return 0; +} + +static int msm_hdmi_runtime_resume(struct device *dev) +{ + struct hdmi *hdmi =3D dev_get_drvdata(dev); + const struct hdmi_platform_config *config =3D hdmi->config; + int ret; + + ret =3D regulator_bulk_enable(config->pwr_reg_cnt, hdmi->pwr_regs); + if (ret) + return ret; + + ret =3D pinctrl_pm_select_default_state(dev); + if (ret) + goto fail; + + ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); + if (ret) + goto fail; + + return 0; + +fail: + pinctrl_pm_select_sleep_state(dev); + + return ret; +} + +DEFINE_RUNTIME_DEV_PM_OPS(msm_hdmi_pm_ops, msm_hdmi_runtime_suspend, msm_h= dmi_runtime_resume, NULL); + static const struct of_device_id msm_hdmi_dt_match[] =3D { { .compatible =3D "qcom,hdmi-tx-8998", .data =3D &hdmi_tx_8974_config }, { .compatible =3D "qcom,hdmi-tx-8996", .data =3D &hdmi_tx_8974_config }, @@ -426,6 +455,7 @@ static struct platform_driver msm_hdmi_driver =3D { .driver =3D { .name =3D "hdmi_msm", .of_match_table =3D msm_hdmi_dt_match, + .pm =3D &msm_hdmi_pm_ops, }, }; =20 diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index 3f87535bcf43e20f0618d3016307fe1642d7baf9..7e3c035cf913d713ed63379a843= 897fad96b23ab 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -47,7 +47,6 @@ struct hdmi { void __iomem *qfprom_mmio; phys_addr_t mmio_phy_addr; =20 - struct regulator_bulk_data *hpd_regs; struct regulator_bulk_data *pwr_regs; struct clk_bulk_data *hpd_clks; struct clk *extp_clk; @@ -83,10 +82,6 @@ struct hdmi { =20 /* platform config data (ie. from DT, or pdata) */ struct hdmi_platform_config { - /* regulators that need to be on for hpd: */ - const char * const *hpd_reg_names; - int hpd_reg_cnt; - /* regulators that need to be on for screen pwr: */ const char * const *pwr_reg_names; int pwr_reg_cnt; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index 3ae305e868a5931a8982e261f518cd8134d559cc..665c5e1323d09513621429a6f18= 4fb89bae0a37d 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -18,15 +18,10 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge) struct drm_device *dev =3D bridge->dev; struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; - const struct hdmi_platform_config *config =3D hdmi->config; int ret; =20 pm_runtime_resume_and_get(&hdmi->pdev->dev); =20 - ret =3D regulator_bulk_enable(config->pwr_reg_cnt, hdmi->pwr_regs); - if (ret) - DRM_DEV_ERROR(dev->dev, "failed to enable pwr regulator: %d\n", ret); - if (hdmi->extp_clk) { DBG("pixclock: %lu", hdmi->pixclock); ret =3D clk_set_rate(hdmi->extp_clk, hdmi->pixclock); @@ -41,11 +36,8 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge) =20 static void power_off(struct drm_bridge *bridge) { - struct drm_device *dev =3D bridge->dev; struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; - const struct hdmi_platform_config *config =3D hdmi->config; - int ret; =20 /* TODO do we need to wait for final vblank somewhere before * cutting the clocks? @@ -55,10 +47,6 @@ static void power_off(struct drm_bridge *bridge) if (hdmi->extp_clk) clk_disable_unprepare(hdmi->extp_clk); =20 - ret =3D regulator_bulk_disable(config->pwr_reg_cnt, hdmi->pwr_regs); - if (ret) - DRM_DEV_ERROR(dev->dev, "failed to disable pwr regulator: %d\n", ret); - pm_runtime_put(&hdmi->pdev->dev); } =20 diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index d77c68914c5f525cf12971c1058b1abc33792b24..a42ed26a5b7c7d916d543aa2920= 754347903062a 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -64,36 +64,17 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) { struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; - const struct hdmi_platform_config *config =3D hdmi->config; struct device *dev =3D &hdmi->pdev->dev; uint32_t hpd_ctrl; int ret; unsigned long flags; =20 - ret =3D regulator_bulk_enable(config->hpd_reg_cnt, hdmi->hpd_regs); - if (ret) { - DRM_DEV_ERROR(dev, "failed to enable hpd regulators: %d\n", ret); - goto fail; - } - - ret =3D pinctrl_pm_select_default_state(dev); - if (ret) { - DRM_DEV_ERROR(dev, "pinctrl state chg failed: %d\n", ret); - goto fail; - } - if (hdmi->hpd_gpiod) gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); =20 ret =3D pm_runtime_resume_and_get(dev); - if (ret) { - DRM_DEV_ERROR(dev, "runtime resume failed: %d\n", ret); - goto fail; - } - - ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); if (ret) - goto fail; + return ret; =20 msm_hdmi_set_mode(hdmi, false); msm_hdmi_phy_reset(hdmi); @@ -119,32 +100,18 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) spin_unlock_irqrestore(&hdmi->reg_lock, flags); =20 return 0; - -fail: - return ret; } =20 void msm_hdmi_hpd_disable(struct hdmi *hdmi) { - const struct hdmi_platform_config *config =3D hdmi->config; struct device *dev =3D &hdmi->pdev->dev; - int ret; =20 /* Disable HPD interrupt */ hdmi_write(hdmi, REG_HDMI_HPD_INT_CTRL, 0); =20 msm_hdmi_set_mode(hdmi, false); =20 - clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); pm_runtime_put(dev); - - ret =3D pinctrl_pm_select_sleep_state(dev); - if (ret) - dev_warn(dev, "pinctrl state chg failed: %d\n", ret); - - ret =3D regulator_bulk_disable(config->hpd_reg_cnt, hdmi->hpd_regs); - if (ret) - dev_warn(dev, "failed to disable hpd regulator: %d\n", ret); } =20 void msm_hdmi_hpd_irq(struct drm_bridge *bridge) @@ -179,7 +146,6 @@ void msm_hdmi_hpd_irq(struct drm_bridge *bridge) =20 static enum drm_connector_status detect_reg(struct hdmi *hdmi) { - const struct hdmi_platform_config *config =3D hdmi->config; u32 hpd_int_status =3D 0; int ret; =20 @@ -187,14 +153,8 @@ static enum drm_connector_status detect_reg(struct hdm= i *hdmi) if (ret) goto out; =20 - ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); - if (ret) - goto out; - hpd_int_status =3D hdmi_read(hdmi, REG_HDMI_HPD_INT_STATUS); =20 - clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); - out: pm_runtime_put(&hdmi->pdev->dev); =20 --=20 2.39.5 From nobody Tue Dec 16 14:25:13 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 C9EB31A0BFD for ; Mon, 5 May 2025 00:15:24 +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=1746404126; cv=none; b=LY/iLRTnEmkfw+STkhPlBj+HHl0foij1d+fMz0V/YHafftFW/G4qcGfFtTzX5cThh6OtW6hYC7KccZVp+KnoualyN4Rloz3nDKGEwovCUbzhsAUwENIUtpmbyrdVVX5l2rcqgEj4/5Qmm3yM42Rdlh7LhDtLDlYajHmHaTzydIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404126; c=relaxed/simple; bh=9IyasSP8Tc0inHx2Ugrd2jyGWCstbici0EYKr4owmRw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qvgRmzPe5+jW+Ls05M9QwF7KC+5sWcBRrnK7vhFxA0kO6ljMEETgTc8EuYxDguXUnknxJHFFODa+BebsLwBjH1ItKM1ukPAcC+voD8ZPNAqt3tfEJCBkMvdz835ocPXUh3wzxoSfh4hUfvsI3ER/x/Ajj50dk4iT1QjlMCbkjxQ= 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=NJVHk4qT; 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="NJVHk4qT" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Mpk9j022901 for ; Mon, 5 May 2025 00:15:24 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= jajSFMr5lYMffK+9G2gWOOh1EauR/2XrX+fSYkHoXAE=; b=NJVHk4qTFVxyiCln EM7Ecp2Z0yhoTyZtUQcHJvnH2FP2DDa4etXsMlATuGxd+ikHccAgGkJTIR4E0ctE L0ctV6InLfJ6Rv8RIZyCSHTSQd7WzU1S1wwHPP7aPlgzmUpJQeyLivW55Rk7E63a aXlRJQmdG7/ZcdDkP/gzb348yK6MKK/R36qjetRArP+yqdz9alx+B54jXrrRINPG bi4JFXYPKLaiBR0uIXluuqB3paygxpttZso0N/NJiwJ3Cmxs0wh0eSPF3Zstb5a1 PR7+XkWQ5Q7JehnlRb+c+fUAUikp4BpHIjYmKtDgqDLxmW3mqc0RLzyHQ/Rgy0Lk BD00PA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dcakjhkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:23 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c579d37eeeso592635585a.0 for ; Sun, 04 May 2025 17:15:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404122; x=1747008922; 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=jajSFMr5lYMffK+9G2gWOOh1EauR/2XrX+fSYkHoXAE=; b=eNPrxRLASpFobnTQdDI1TAN9teQnNhcXLJtBFXNn6+yv+OyDunOWZ8vvpdg0x7ehDf RZ9yQT2vdOxjjWDNrRPGbyPkrKe4pyHerOdzVz1XibayUt7IFuIEBQg25YBcm5w/u+ww r1ClSa5WkWri3guQlvw0hVVU8yVQKJzairQsjjZS0+sTLVN0GzqExqEnPqS/8IIcoCvi Qgg4idX+6f3use7NlcgBqKmQSj1KwVReCQ9jb6Zi+s9Zqb9qVszNs7a4NtBZ1TLtWapd U5m+7LkH4bFTnCOXEnrIPAMxfERavyWnSukN5sa18RzCu1KPUaOLhkwCMk62q2RasdUb 6yFQ== X-Forwarded-Encrypted: i=1; AJvYcCWjKxnCcvZM50sah/r8E/n2W5HGuFN0iiIGExArtzR7R4pbiU5h8ZAMP0TgvBaa1oc7kA+YwW1QKLAVqxc=@vger.kernel.org X-Gm-Message-State: AOJu0YwBi3zUxNPDa7FlRn3gy8O0cDckEZwAB6wupRjkWNcxcwr3nTsL yNX2SAWKS/XvD8HddRwsJda5pQpqQ1vNbcxQESC9rbwjSEkGPHUvh43MeJ8uW57ngeLhhLdv6Dq 3f1amDuOnPwUzw8921322WCeGsk2QzYWzoWHteT43okt9e/A1Kt4WFY8X9e7STHw= X-Gm-Gg: ASbGncvNf2TX9meCxFFaiN2/M4Vh6A64sjFTsFMK7+ArjQitlKaBa8Nwo4unoKtNtRV PY7XFTb/y3w5Bz4jR69GZdiVbOyIeBUiZ4j3Yb31sQfFPAEFj+ItU1jafxnMHgZF9wvDXYpEPuN Y3yPAvrpa4D7FgI4+PB7au1qmnuNbhdaO2zQ5wRXJGiFj8I2WHXJRcCHbOl4/uJy5yi20G5n/Z6 xZ7fpcRMKZXgmx3TPOT/g9vcFgfuNGN0Uj+s45Ti9oZzPGUks/SHWVo70tFQUHCXOK339rN+MJX m0JEcIoJgsIFvXp+lLWsGcA1msO2bP2fmGdQWxq176wu+9vd9/gK0rJLA1H4bKVy8rtfyQZ4ILa N2pzlhVcml6alforWagi3MxoZ X-Received: by 2002:a05:620a:244c:b0:7c7:b5e1:4e45 with SMTP id af79cd13be357-7cae3a8944cmr668303885a.9.1746404122575; Sun, 04 May 2025 17:15:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGHfQd4fdpXw2cyT7Pt13a3SfvjKp9b+b5JPOEFBwoYuX3US9TJSLCx2Mkjm87vAk3BLxuWHw== X-Received: by 2002:a05:620a:244c:b0:7c7:b5e1:4e45 with SMTP id af79cd13be357-7cae3a8944cmr668300985a.9.1746404122233; Sun, 04 May 2025 17:15:22 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:20 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:54 +0300 Subject: [PATCH v5 10/13] drm/msm/hdmi: rename hpd_clks to pwr_clks 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: <20250505-fd-hdmi-hpd-v5-10-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4084; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=+WpYll0ay0xnF4O7o5nyBXY9cEIfu8gX+WDGXWRK1Mc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL85+RFzHM4YW1ldHLSewJCste9D6pvpiH4n 5xqiI3GQSGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/AAKCRCLPIo+Aiko 1bfbB/43PPjrEo0fZiqjfyPKdV/fFRD0T1cm2kWrnY4MjGNPPCrcuHruIMnGeY6iVLXiqEepty1 ZtAlbR6vbvGcNZcCw+qfBvRYP54xITkPSVDU+O3mTXaO3zBu3cNaBXE4ZkUurvvBbMI90kIC+5d 7e2Pwj7AxIpS6gvWe4emxps0737rHt1k0NMB49iR0yki8RetQ4KpxJsitfymSZ7xyir+m1kt7pN 90vTKvqo2y9IzfCeGw5fNa/Sd+vUsqHweUwFRlTtpG7j24czau8dS8xKs8KH3ggDyoB5ZvFtgn1 /D2zKJ788jbDu5LEhWBdwoaQi66btF5XMGm66pOWOPopxY1W X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX/NOImkod4y6N AV5lvw9JxSouRgDZOPcUuxqlOZWUnQy1WDjufNB5rcCpGtPhceNgolN4eqj30Tz76qNFHy8ZnJA xtqQEEwBHsUFk1RMcnTZ20j7nWTga+szowG2CNd/nVL4qj5E4dAw+vkk7m+XDRBtcWCrVlkMXcT rRDg9VOxhKWJQqlCwu4XLcg2/hZgZILZbGMQoNZoxGCBdY0NSi+EtBCcJ/UVeYGBlFJFOqeacwv AWUYnWfvg0z1tcY23oyII5vgi7gHS711tg1svZ0hZoyCQZjIitZYlcbvgvmQloEmVt1GhoYTu/v h5CxdPIDWrKHhCULBOZzRW7t0qCW/d7U3sg1iqZJZjBi6BMoo+NMaCggO5moC93j1NkimRoxfvh WL94QKFKuiWlKVDnSuYK/ORO/Fz9RZWXwjSROvSeWsnb8+rgG6ehp1yaabvBP8x1mroHZ8bQ X-Proofpoint-ORIG-GUID: W4OfzyzNC_PnHp7muOnAvdFlbksi9GPe X-Authority-Analysis: v=2.4 cv=JtvxrN4C c=1 sm=1 tr=0 ts=6818031b cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=5NGqCyE2FtwQWQBj1xQA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: W4OfzyzNC_PnHp7muOnAvdFlbksi9GPe X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 clxscore=1015 malwarescore=0 priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov As these clocks are now used in the runtime PM callbacks, they have no connection to 'HPD'. Rename corresponding fields to follow clocks purpose, to power up the HDMI controller. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 26 +++++++++++++------------- drivers/gpu/drm/msm/hdmi/hdmi.h | 6 +++--- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index ded20176aa805db98b0599e617eb6ea9bce122d8..8e6e3e6a04bd2d86bcbd23c110f= 3533f56c17887 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -226,19 +226,19 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, .item ## _cnt =3D ARRAY_SIZE(item ## _names_ ## entry) =20 static const char * const pwr_reg_names_8960[] =3D {"core-vdda"}; -static const char * const hpd_clk_names_8960[] =3D {"core", "master_iface"= , "slave_iface"}; +static const char * const pwr_clk_names_8960[] =3D {"core", "master_iface"= , "slave_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8960_config =3D { HDMI_CFG(pwr_reg, 8960), - HDMI_CFG(hpd_clk, 8960), + HDMI_CFG(pwr_clk, 8960), }; =20 static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; -static const char * const hpd_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; +static const char * const pwr_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { HDMI_CFG(pwr_reg, 8x74), - HDMI_CFG(hpd_clk, 8x74), + HDMI_CFG(pwr_clk, 8x74), }; =20 static int msm_hdmi_bind(struct device *dev, struct device *master, void *= data) @@ -333,17 +333,17 @@ static int msm_hdmi_dev_probe(struct platform_device = *pdev) if (ret) return dev_err_probe(dev, ret, "failed to get pwr regulators\n"); =20 - hdmi->hpd_clks =3D devm_kcalloc(&pdev->dev, - config->hpd_clk_cnt, - sizeof(hdmi->hpd_clks[0]), + hdmi->pwr_clks =3D devm_kcalloc(&pdev->dev, + config->pwr_clk_cnt, + sizeof(hdmi->pwr_clks[0]), GFP_KERNEL); - if (!hdmi->hpd_clks) + if (!hdmi->pwr_clks) return -ENOMEM; =20 - for (i =3D 0; i < config->hpd_clk_cnt; i++) - hdmi->hpd_clks[i].id =3D config->hpd_clk_names[i]; + for (i =3D 0; i < config->pwr_clk_cnt; i++) + hdmi->pwr_clks[i].id =3D config->pwr_clk_names[i]; =20 - ret =3D devm_clk_bulk_get(&pdev->dev, config->hpd_clk_cnt, hdmi->hpd_clks= ); + ret =3D devm_clk_bulk_get(&pdev->dev, config->pwr_clk_cnt, hdmi->pwr_clks= ); if (ret) return ret; =20 @@ -401,7 +401,7 @@ static int msm_hdmi_runtime_suspend(struct device *dev) struct hdmi *hdmi =3D dev_get_drvdata(dev); const struct hdmi_platform_config *config =3D hdmi->config; =20 - clk_bulk_disable_unprepare(config->hpd_clk_cnt, hdmi->hpd_clks); + clk_bulk_disable_unprepare(config->pwr_clk_cnt, hdmi->pwr_clks); =20 pinctrl_pm_select_sleep_state(dev); =20 @@ -424,7 +424,7 @@ static int msm_hdmi_runtime_resume(struct device *dev) if (ret) goto fail; =20 - ret =3D clk_bulk_prepare_enable(config->hpd_clk_cnt, hdmi->hpd_clks); + ret =3D clk_bulk_prepare_enable(config->pwr_clk_cnt, hdmi->pwr_clks); if (ret) goto fail; =20 diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index 7e3c035cf913d713ed63379a843897fad96b23ab..a28437beb1574553c1dc00a0c69= 3b390389353e0 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -48,7 +48,7 @@ struct hdmi { phys_addr_t mmio_phy_addr; =20 struct regulator_bulk_data *pwr_regs; - struct clk_bulk_data *hpd_clks; + struct clk_bulk_data *pwr_clks; struct clk *extp_clk; =20 struct gpio_desc *hpd_gpiod; @@ -87,8 +87,8 @@ struct hdmi_platform_config { int pwr_reg_cnt; =20 /* clks that need to be on for hpd: */ - const char * const *hpd_clk_names; - int hpd_clk_cnt; + const char * const *pwr_clk_names; + int pwr_clk_cnt; }; =20 struct hdmi_bridge { --=20 2.39.5 From nobody Tue Dec 16 14:25:13 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 3DDBD1C4A10 for ; Mon, 5 May 2025 00:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404129; cv=none; b=UthSH5lG7kEp0wXcKymRVyuCNlfjrspJLaKXdz6RU+LMzhUoC0zJhZOKSS3ENPycrzNFq/ugzJ/MfHtrIBUEbE7Y0gN+BBCPg3GtWc93aWW6oexW6uTZrdNrRbJWvHP2aPp8Mooguv9CVzJGe6qUbpiOK0NdMRWDQSnt7KTq6Ro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404129; c=relaxed/simple; bh=bvIhvO1innwyRAbYHqCQ0x70uwNpoIP0GsrklKNFU/Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LjsSeAxoO+dHhNd7CzZOrEmmy7dr2CQOcKSbMU8GY51QnmePXVJh0IcVeN/7N+g68roqhaAhT8XM6djZHrOfAMb6VOlDKpnFCRBB1ocQaqol0IMlg/SHcM7/+rFA/O2O703wL1AhASM1NfaguF0++g5vuxr3qtC90+GtLwETo0A= 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=Mo2sEw2Z; arc=none smtp.client-ip=205.220.180.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="Mo2sEw2Z" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544LrsLm001425 for ; Mon, 5 May 2025 00:15:27 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= 4AojzG6jCxROBT7DQt2jv8yK6mPKIHDtAt836rfmBsY=; b=Mo2sEw2Z7bVvXTJd Okv6W6bM4rmdKV0ks2shTdfFmmSMhuz12Hv2wMT+W7FcA6GOWSik4QlGudbf9TnN OXnRX0xnyLtCNKx/OBZimZy3bQ55AIHZMNafJ77/xrd7uVMgqeITFveG+C2QMilC gd7wnO88dh6tYFO60Al6q6eELAs7Bg0yFiDDZw1EVzyAtYWP9UBZhVxPzhogi+gK 0zmuKqMQ9vs0VUlE4bKYgGBbHODwpFHQ96ASAc3jHEEVJgfuT4PstEdZgy9t1HG2 7sqQ/yuZiI2bmwhFAhNlqEmS9Ln3YJ3uVc68VwjnUsVOr6xfvS1KWiZpTwPeZyy7 uey8eg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46d9ep2qty-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:27 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5bb68b386so573574785a.3 for ; Sun, 04 May 2025 17:15:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404124; x=1747008924; 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=4AojzG6jCxROBT7DQt2jv8yK6mPKIHDtAt836rfmBsY=; b=O4r25S5IZ0ttc1b1AWPjx2wsS3daDGSZ6nBCez9oSADNJF/LAWkG3ZbQdHFdhxQH86 mp+C4kuMCMX2EaD8QQpvG+sf55NikghHNTx04SVDs41Ew45HLKqIpX1DBmDRbQ1kmuiw jb8Cnt9liLfjvVIPR5LeTiMQXsKYTUTsa2LjiUcSYQCkqOsQk3NQl8dzAS4Z+vntg73A yh5M5vSPR14Gy5x3hYw88tUfyAuPBNHLpd/ttej/WOmZQ+x9U+uLUtcF8EWHemprV7jD 4NYpTfwSvJlqz6GXwkq04M/QWOKm2o+Xs8yAOOO0immj27XyzcQKvFRXZvxKElAAtrJC k0aA== X-Forwarded-Encrypted: i=1; AJvYcCXUm2CheSlkYYZOEMN4HtUv8ZhTQyXPzXc7eX0cN7CVjfqy6MRj5vnad88fkA9CrOyy3yHQ8Jl1nSkx9aM=@vger.kernel.org X-Gm-Message-State: AOJu0Yyt8Yt/gSpflKEurieF1DuAaEd7of2yqbM1CCt9Y/RZ8mNyBf/P do3bla5Q2zuY0J5yfvTNObnylGD5qoFCl7qKDU9h+yQayVZv5e3DTd0gG8ADojUX9FJ/bA5ls9/ W2DunNKHGYKINeXmKEAe5+3bVvp/RHIxBM8bQtXAUOZzgear73c2AJTItwebEnM0= X-Gm-Gg: ASbGnctJmvnIDdxS0wLVbysIJ/qWgd0fcErs14TYbyEUkA72Omq5pRVyZ4RMQ1yLrcD PBALB0RpXqBuErK6ZcF5Z48MhiY7ui1gIs/sfjVnqcxtHjBX3YeUZs7c5sGRM4G6usD1Yc6YxqG 1X8siB+OiNh/YjWtU/KNDpNlNBKXQ59fT/4g+i6ICLSLPXOOWQuCNPd92OvS+tmH/1w14OHHFKu tuC+NXbWq+zl6Yyh995rGQLFqs8QWnmM8tDsl8B7hZlr3hSKEnzFz3eMQsVPIAA87gaZVqhi3Kw x7kA/WHmvHRkAXs9dQmwTRcir7GFyXlEc0yE6FWekDnYqCUor7sV++0RB1jYzuVD3Jr1WJlV+6d HyS401aFeb39QXW88dAm1WXkb X-Received: by 2002:a05:620a:410c:b0:7c5:43c2:a907 with SMTP id af79cd13be357-7cae3aa39bcmr693002085a.26.1746404124147; Sun, 04 May 2025 17:15:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGB8NTXM8sLgxQ5EDQiBqnHjvBehzk0c2YXdh0OUwFkg8Bd4jMJXvp8mozV1nZ8OQOYX3W3Jw== X-Received: by 2002:a05:620a:410c:b0:7c5:43c2:a907 with SMTP id af79cd13be357-7cae3aa39bcmr692997185a.26.1746404123665; Sun, 04 May 2025 17:15:23 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:22 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:55 +0300 Subject: [PATCH v5 11/13] drm/msm/hdmi: expand the HDMI_CFG macro 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: <20250505-fd-hdmi-hpd-v5-11-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2467; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=7KB7IcHxi0VqX9I5ufq901Xoeq2I7R2imjBgnmx5DoY=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ4YE099AvsjXwWoLAwuWa7JorxAvWKQiHmbIEXFrqcPSa w+U1eZ3MhqzMDByMciKKbL4FLRMjdmUHPZhx9R6mEGsTCBTGLg4BWAii6o4GPpeW2a/vS/6uk9U Ke9z+qI9/16cupf4P1fU+l7I3hldCjkbE1ZI3j75gdlvod1S/zuJQrMyyr0XdM9KO/Tce9IBgf0 a06rEpnGW7d71VuiiNeNS9xP+5TGf+Rca20dZK7Q7/np177vE+Wlrpi7Xl+MxtuOTW91ar/fLRf HJs9qmVDlT7W38Jtuus5mom6QtXrU7hGd1rjHzNiUl5/wd1Qv/tDbn/NN4fkj235TIj8IxUVnlC WGvGKvtnp06/cCqOWq6ebAla19Wthd33IQjn0OX3v//WiB9O4NH4dHClAmLn3QdUlXh+O6xT/LJ 8twS1/D3JwUSpYPetP/XuPqpxHD1p7QNpfv4LZRTQ60UAQ== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=EOUG00ZC c=1 sm=1 tr=0 ts=6818031f cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=Pd00KUci3bVIrXXMz04A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: pd5RWLRCr7a0xdy-kddbYhR9JpgB3mAW X-Proofpoint-GUID: pd5RWLRCr7a0xdy-kddbYhR9JpgB3mAW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfXw32twK/YaoW1 UBX7F0JenoctZm2pe4pAfNtW0AJPJYSk2uIn8LRrO+f3BRR/ZmB5zuzpSz7ICHdKMvNkJwQq2en 561lNtjTgoEgyboGspwmYnGiPpFuFDg9yX5WRH1vOc3AcbmL03qNW8MyEXQCCtCoQdZMFGbJFD5 nAhFJlNvx1OsBMJxdWUwXVT3c3me35pMS7+rkdhbkesjp4V6u1Q3Spf43n44ouVljEkEFG/gMf3 IzoOkDYrfEMNYFINizRm7MTWcR96GkqhjMHR9uCAHpLaF7bgvHoWmyd4yGBavh8jDxzBb5auDVr Q3k+/aGPsILlk1EnHG4MUSG2Ok6JRooljrvAsLoVK7f6LjGQvXwu27fSy2FlFz3/XlSetijcpyO JAUDQFu8Kp5epmmHQO4DY0lkkBV9Vl24ZDDgsxLav3zGyHip8fJvEjcOWYonoPR74iBVSIzX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 impostorscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 priorityscore=1501 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov Expand the HDMI_CFG() macro in HDMI config description. It has no added value other than hiding some boilerplate declarations. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 16 ++++++++-------- drivers/gpu/drm/msm/hdmi/hdmi.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 8e6e3e6a04bd2d86bcbd23c110f3533f56c17887..3d10fe6f8545198365a047b2f56= 52081703101aa 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -221,24 +221,24 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, * The hdmi device: */ =20 -#define HDMI_CFG(item, entry) \ - .item ## _names =3D item ##_names_ ## entry, \ - .item ## _cnt =3D ARRAY_SIZE(item ## _names_ ## entry) - static const char * const pwr_reg_names_8960[] =3D {"core-vdda"}; static const char * const pwr_clk_names_8960[] =3D {"core", "master_iface"= , "slave_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8960_config =3D { - HDMI_CFG(pwr_reg, 8960), - HDMI_CFG(pwr_clk, 8960), + .pwr_reg_names =3D pwr_reg_names_8960, + .pwr_reg_cnt =3D ARRAY_SIZE(pwr_reg_names_8960), + .pwr_clk_names =3D pwr_clk_names_8960, + .pwr_clk_cnt =3D ARRAY_SIZE(pwr_clk_names_8960), }; =20 static const char * const pwr_reg_names_8x74[] =3D {"core-vdda", "core-vcc= "}; static const char * const pwr_clk_names_8x74[] =3D {"iface", "core", "mdp_= core", "alt_iface"}; =20 static const struct hdmi_platform_config hdmi_tx_8974_config =3D { - HDMI_CFG(pwr_reg, 8x74), - HDMI_CFG(pwr_clk, 8x74), + .pwr_reg_names =3D pwr_reg_names_8x74, + .pwr_reg_cnt =3D ARRAY_SIZE(pwr_reg_names_8x74), + .pwr_clk_names =3D pwr_clk_names_8x74, + .pwr_clk_cnt =3D ARRAY_SIZE(pwr_clk_names_8x74), }; =20 static int msm_hdmi_bind(struct device *dev, struct device *master, void *= data) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index a28437beb1574553c1dc00a0c693b390389353e0..fb64652162b6c5e6e2fe3357b89= c40e2a28aa47e 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -86,7 +86,7 @@ struct hdmi_platform_config { const char * const *pwr_reg_names; int pwr_reg_cnt; =20 - /* clks that need to be on for hpd: */ + /* clks that need to be on: */ const char * const *pwr_clk_names; int pwr_clk_cnt; }; --=20 2.39.5 From nobody Tue Dec 16 14:25:13 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 8BEC486334 for ; Mon, 5 May 2025 00:15:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404136; cv=none; b=m1HT6hYLwe/5C5B4URZ6HQFMr7S9Ukg4ULoMwiBGPJH7cpzPXslNiTv2EFIyXYahds+oli2UEuT40vSkj0E/xGAoZbMzXis4dv9Kz3VGGyOHDj9RUPYPSXFAysCIwmTPEjZ0jQoSlBexv2YFY61ltWVrt9tahW46ghg/5gG0184= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746404136; c=relaxed/simple; bh=jTItL6rn6MEGbChCA19R+W2E7GjvMxF1yKAj1cTPzpI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FqDgzW2CiWeBV/e/65OwGyDEAfN5AiTfMAFhaliaNelerg72PC8sJz4/K+SeqoFOWRGjpZD8Md+54fBU5N4bGk4uwVKsy828rMDKw+PJ3/27DYxGvQTGNnZ+DkWQ0HtCnQWqgPTcOB1RVYqwIgz90t0iZkfGC1cZA6A5vAneBNI= 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=lHuhT8N0; arc=none smtp.client-ip=205.220.180.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="lHuhT8N0" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Npi2H006487 for ; Mon, 5 May 2025 00:15:33 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= WKq/kT9g+DsNZXb0KT7/tMrmhMgiNcjrVqoX/ddWVuw=; b=lHuhT8N0IpzXrWhj qzyJ2So0umzKv7CWy9gtumN6Zh86h5S30Cg+mK4beZ/BVZMFa0LGcdC1Rlh03Rhm A+Y5FNkzOJa93xox7oshmytcGAD7JP4Mo2IwS66smZQ7Jwow3m4qSqnjNJyx7GhJ YFauxb5yGsHIDvznsuzf1G37sSnTtzxfXkZ2anFomQVWFm8C3u5Y7H7asQwTkQ2Z HsHuOTOlmkeN9LG8A0YHBANvMG/JCbwrTcaXqctwZgn08hAmXHWt4ol9zjSKWNHK 7660FJZzUVCnnGhC2EfYz/r1Fnsm45jPyxMPuDHl8iEB7urN3qB+34cxageN4Tcn nQg7Ew== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46da55tnvx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:15:33 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-476623ba226so70323641cf.0 for ; Sun, 04 May 2025 17:15:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746404129; x=1747008929; 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=WKq/kT9g+DsNZXb0KT7/tMrmhMgiNcjrVqoX/ddWVuw=; b=L+kH25DVgHvU+WejxboT+nbilDeQlOFHjZgDhuKcbZThC3oQ0dnBHT81rOJuXonLwp k4l03OZoEvNEgXYWOAkNs6U9RgwEpMVPXqQ2io5/4SF4uh0ljsUd2Cf+yW2oeKJOnK9X O+DDjurSmVrhukUt7ID3fv7o4l4/v2e8RYbnWiK7+dk4l6CPGIo6hbTDbLNlVb2rl0c/ f2OelJDQSveOprwJE4ARdN5yQFQHR2j7i26AubO6CaJZNftZaoOM6nhqWqtUL7Vnn7JA QArGwuVXS57kZH6U21TaUZSS6RqAAZVno9no8KLpoMjXxRiVURiutKWC17A6hHcJG0JA 2Aqw== X-Forwarded-Encrypted: i=1; AJvYcCWKKfYARlab8CtjmsIncWAWuAQh+45BwNQ7ykq2ywfRgHRy4SS7j+5SV6tSRxernMONwdT3Tp6LFPwnCeM=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8ZeIkxZY26eLP92dO91aBULMZTSe+dGzv+sKAhcVmt6lbkZnE Ak1Wzsv9721HC2WPxMDIOrnf76QLmrZgl8Wd4qmtvS42UniwsJ3HqFH/uUijiRM67D3XHuMMqMf lymaBHkDotd9b7EpMqWRX7mscyUHQHASRQkoKIgZjiDNXVM4oqomRoe9IIZF0zRc= X-Gm-Gg: ASbGnct6uwOc0xnLI3Xc69s6Cpi50k2nxJc3OZGOrxmBXtQsMPup5P6IN2RTfHWiSrG Y+/PnoSGlzjjbvaYgsSEzazolBF9koOzD993Yj09/r9OxCn0Rphg+TySzxj8e0Q5TBaPQIk5chM p6FQ5VluAgwLRr4GOVUWKcgt0ZRyvBNog3k6ntytwNVgCbATw7b/wU/06GznCpg0qPvoLLePDi3 SrFc+DsRDzj5no2szfUQUiZMVp0dXKZmdcJyuCOPuWPTLAyAfwAyZzJCqB0JJD41kIqeRDHTtMu fT/QMh1QrfXi1o3yVj05aQTB427cIIpVle1Q98EDslNU66NqSHXeqw6Fr30c/Sjnif71+/9UAgo tKRuvoVoAtpwv4aKhLJP1rigV X-Received: by 2002:a05:622a:1101:b0:476:afd2:5b5e with SMTP id d75a77b69052e-48d5c072eb3mr105036861cf.13.1746404129020; Sun, 04 May 2025 17:15:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHp/OhsqgAG8SJaelWw/DfK2Sdqi7I0XDMO57EtM6QoFMTFIiepxIj9H3pi7rYjCKkFGpknVA== X-Received: by 2002:a05:622a:1101:b0:476:afd2:5b5e with SMTP id d75a77b69052e-48d5c072eb3mr105036461cf.13.1746404128675; Sun, 04 May 2025 17:15:28 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ce656sm1454066e87.105.2025.05.04.17.15.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:15:24 -0700 (PDT) From: Dmitry Baryshkov Date: Mon, 05 May 2025 03:14:56 +0300 Subject: [PATCH v5 12/13] drm/msm/hdmi: ensure that HDMI is up if HPD is requested 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: <20250505-fd-hdmi-hpd-v5-12-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3985; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=pJMJhJs0UAB/ZtDoYbq6HHPuMctlMC/J56x/3ZZQZmw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAL9ltAr7WIgRdaYsly84l2U9p1Mkv0qRemKG VIzqb4aVIKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgC/QAKCRCLPIo+Aiko 1RA+CACSefjj1PpWQEvfYkqg7JtJJa0X1TdSZiQO09nfDMqSPYfWz/ASkUmG4t1PV4zHcx5aOjy iCoYcQWcbGfRbbVIBwG/P09LhdRzNv4qZH/Y3TLB2TxJER7d+vAgpWZJ82G9stzKWJpeDDJ5HlN XM2vUJXLo+iwTNeVf0pf6ID2Zz7G22ezGbF1rZ/eNZTvx+C9MmJ110v2XSOc/IeyWg7EVjlZIB2 /6UiJykd+FvNCWLn1wmoj7TbJlfsXBo4LxyACOwienD3/M7KyGdA1T+W69jnsAA2jazDSwyO5oz R3QYXW0ihyh7XCKH7VYXGGYgA4Q1Bew1NYoCy/mldxveus6C X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwMCBTYWx0ZWRfX+xUrW1pOFIrY 9Z4akPNonDff1JZ88KTP7W+fTNoQVNJ5892WBv3W46eYgmiVdfOB0Ml5eV7xIuJcGeLiqNRMwKx xVLKcCDdAQPjeq8+o6y1HyPyrqxaC+OIas0nmVVadIjmCdWw/Y6E56ETfAV8xYtXzXxAdGuexVd ZNaIoGy7W1tooZL6UWyFwBPSjHxtZg1gNiD0Zrqtb2C0++kmNqNm6V63ivQbLEUPsCWjfCKlXOQ Y+ucB1ScsX44+RW+1Er1fv6l63giRRiy13Lpo/wyWNoowAGq30x79XFvnoxJ9WkZ6Afh8y+6D0z JG2mBX2Fyegea2obqtQ2wUPHkQBBhDe0iX1ZKa1gtQzwD29M10H6e6T+mRmxmxDDZfW3eWcu+/j 7ir6D4kNae/7lC+T9//Z6bs3wf5BR7wFvyw3qoO5UuY7+A8rq1h3bYPRPTnKLUxf/rASqA9n X-Authority-Analysis: v=2.4 cv=M9RNKzws c=1 sm=1 tr=0 ts=68180325 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=YSH6xZ7kgCKePGnQ2WoA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: BaelCFo_2H-I8odV2e6HfK9z4bRjq3MK X-Proofpoint-ORIG-GUID: BaelCFo_2H-I8odV2e6HfK9z4bRjq3MK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-04_09,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 mlxlogscore=999 priorityscore=1501 malwarescore=0 mlxscore=0 bulkscore=0 adultscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050000 From: Dmitry Baryshkov The HDMI block needs to be enabled to properly generate HPD events. Make sure it is not turned off in the disable paths if HPD delivery is enabled. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 1 + drivers/gpu/drm/msm/hdmi/hdmi.h | 2 ++ drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 8 +++++++- drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 9 ++++++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 3d10fe6f8545198365a047b2f5652081703101aa..5355cfd391c5cc3053f771dd03e= 24dfde16733bf 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -293,6 +293,7 @@ static int msm_hdmi_dev_probe(struct platform_device *p= dev) hdmi->pdev =3D pdev; hdmi->config =3D config; spin_lock_init(&hdmi->reg_lock); + mutex_init(&hdmi->state_mutex); =20 ret =3D drm_of_find_panel_or_bridge(pdev->dev.of_node, 1, 0, NULL, &hdmi-= >next_bridge); if (ret && ret !=3D -ENODEV) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index fb64652162b6c5e6e2fe3357b89c40e2a28aa47e..e488ee31cc865b4eee9d486d978= 217c00f7816bf 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -41,6 +41,8 @@ struct hdmi { =20 /* video state: */ bool power_on; + bool hpd_enabled; + struct mutex state_mutex; /* protects two booleans */ unsigned long int pixclock; =20 void __iomem *mmio; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index 665c5e1323d09513621429a6f184fb89bae0a37d..8ff0079abc801448e96b73ebea4= 730edea55ea6c 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -302,11 +302,13 @@ static void msm_hdmi_bridge_atomic_pre_enable(struct = drm_bridge *bridge, =20 msm_hdmi_set_timings(hdmi, &crtc_state->adjusted_mode); =20 + mutex_lock(&hdmi->state_mutex); if (!hdmi->power_on) { msm_hdmi_phy_resource_enable(phy); msm_hdmi_power_on(bridge); hdmi->power_on =3D true; } + mutex_unlock(&hdmi->state_mutex); =20 if (connector->display_info.is_hdmi) msm_hdmi_audio_update(hdmi); @@ -332,7 +334,10 @@ static void msm_hdmi_bridge_atomic_post_disable(struct= drm_bridge *bridge, msm_hdmi_hdcp_off(hdmi->hdcp_ctrl); =20 DBG("power down"); - msm_hdmi_set_mode(hdmi, false); + + /* Keep the HDMI enabled if the HPD is enabled */ + mutex_lock(&hdmi->state_mutex); + msm_hdmi_set_mode(hdmi, hdmi->hpd_enabled); =20 msm_hdmi_phy_powerdown(phy); =20 @@ -343,6 +348,7 @@ static void msm_hdmi_bridge_atomic_post_disable(struct = drm_bridge *bridge, msm_hdmi_audio_update(hdmi); msm_hdmi_phy_resource_disable(phy); } + mutex_unlock(&hdmi->state_mutex); } =20 static void msm_hdmi_set_timings(struct hdmi *hdmi, diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index a42ed26a5b7c7d916d543aa2920754347903062a..e03d0ca230e64d7675534074d6e= 14587815119b6 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -76,10 +76,14 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) if (ret) return ret; =20 + mutex_lock(&hdmi->state_mutex); msm_hdmi_set_mode(hdmi, false); msm_hdmi_phy_reset(hdmi); msm_hdmi_set_mode(hdmi, true); =20 + hdmi->hpd_enabled =3D true; + mutex_unlock(&hdmi->state_mutex); + hdmi_write(hdmi, REG_HDMI_USEC_REFTIMER, 0x0001001b); =20 /* enable HPD events: */ @@ -109,7 +113,10 @@ void msm_hdmi_hpd_disable(struct hdmi *hdmi) /* Disable HPD interrupt */ hdmi_write(hdmi, REG_HDMI_HPD_INT_CTRL, 0); =20 - msm_hdmi_set_mode(hdmi, false); + mutex_lock(&hdmi->state_mutex); + hdmi->hpd_enabled =3D false; + msm_hdmi_set_mode(hdmi, hdmi->power_on); + mutex_unlock(&hdmi->state_mutex); =20 pm_runtime_put(dev); } --=20 2.39.5 From nobody Tue Dec 16 14:25:13 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 EAB8E2566 for ; Mon, 5 May 2025 00:55:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746406558; cv=none; b=sztIXepF3bp+bItpIRDZ73Jndv6SB+6ulINegvvHvw5CG6P9qU4YcG93pcXQj68Pv5T7qhLkT7ntR964yMnVzyT0kd98fCryqHE/xDmErSXnJvhX7Jq51vzeUaHbWmdCIUYIzsZRYHt9Kjh/zELjlugDK234tkJYg0/tZcG5X0k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746406558; c=relaxed/simple; bh=LTzdshEjjoz+1Q0aHVyGR35UqGnAioQQQ1+XdoWfeZo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=iamQFMF2RftmOi9vCYZ1tJW/2cYAFPFba2zVRwIOUgsO0/fypJ5UgH8yb2kgsWu4uYKijZDQ0ckVKR3LXsSbMh85ebA1BPCXXZQ/5h1lDS3DCFCvPUJLlKz2mkSiqe0t1vH5Di6PjmMnjvqeRUnV22ZYfnk4/CJmt2cc16Uizuo= 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=B9QjX2PV; arc=none smtp.client-ip=205.220.180.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="B9QjX2PV" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NCGJY017933 for ; Mon, 5 May 2025 00:55:56 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= bScMRW/t/S7USpvl8/Meg4mWuCwC1biGFJfQYK3oMHw=; b=B9QjX2PV9v3su2oR Qz6Pmc11VsUlu7mHg3jkjzPPtZwgAk7MIeImGSDS7wmaIiaYk2aQcCNx+x+QrZxe eCld8VOJ3yVVzkQWnEmtObXhk8QntuDYyJX7yXHz5rS/yLiAv9hNicN0udVMWfBc 6vmk0kCpZ5M1Z/IUrW6Wzs7ifqodPbeAsgvMaYsziRNoN3xvNUUpoqf1RWxOQ/9K VUgExHscnNKrsWKVPZfqHCojoYNAj8POUE6pnQ6EX13ZnZM1/fOH07NJ8NZxtkmX 0GvhawBdYR0XIwa2kXDofsvBi69Fqe1gociwgldwt8qBrronl96Lli8blthvqgre zLFIFg== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46dafg2pvu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 05 May 2025 00:55:55 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5cd0f8961so884134785a.1 for ; Sun, 04 May 2025 17:55:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746406550; x=1747011350; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bScMRW/t/S7USpvl8/Meg4mWuCwC1biGFJfQYK3oMHw=; b=Y/iCl86/+5Yd7AAhd+y04ci5SNfywJcrOzbNHTAL4xwLb8Jm4FGzZInoRr5GzKoU02 WRhEX0yLTIHifFkmEY6y2E8gNEoo5y5dhZMKAvOf9hzZHcXU69Rj8RXExxhMS8T+V4Pq 0vSlLmxHcKNE3d1KkmjtL5LZ5sYea4AokSUmFP6vP5tObdm8hlfU1JcnKSfYn9rZAI0L E1DkanNABgx04ywKARJCEVsavcjFlmvpSwwq5pWmuI+JT44FzgnRckgmfbOpfh0uY3fn OGlUH8vRIV4F7GFqW5PBVSHaI9wTFHrgTcK1nen+qBZy1WqZ+TkhidgofcLn8461hptW 7rKw== X-Forwarded-Encrypted: i=1; AJvYcCX8NwDZ647A6JAv/GF8fjPQUIgru+8cDU4BXd4uU26UNSxLw0qEE+338h+9Xbf2j0dAb44G6a0mcFFvdbg=@vger.kernel.org X-Gm-Message-State: AOJu0YyYw9fUYU66nGU68XOlGTup6MMUgek8sfenZT6fUNMXMJM/oRyM A2DhSIuRbmW+uDZBmYbZ5Hhwl3iSJk3jjZWXleRkEe2srzpPoB2y6zfGl/Q4klJReCH+MJknjz2 OT/EQRAa8zSDdN5CzLxCCL9Vni9agpPiacBEVhvtgaCByKnpMZX2K9Nsn3FXgnH0= X-Gm-Gg: ASbGncubuZN0U7RGguuY8PRV9H9EmjVPSOrS4H10kx+7Ae39VrcqXhbY59kY+6btLsO RXr3EtVMfg8in0qFz5cs3fJFytdrBw+bTqTVNskS55pTOg7eQEkK+xJM/VgbbNI4/fUhfVp8220 X9IF3gTL/altJa6oZQpU4p+g6vQ8rSu8Nu/WLScoTAUtnTPXshXVV3ZOhMROcZGZYoSQIKD8f1C RJiljS/w6qK0+axrtTXz4aMBLKCIJ5Ht14lQKS76MA/Y7S+QLgWN9ovbYy9Ogx5h6LsmB/r8v0p 9DSYII8xgpnWWrQnA/cjNFP7I9UihUsrtpUUJYMAr/i/Za83Ryya0cLEVrwIjaeMSA4ItDySkKt rXOkCjOxFF4VqDEMdLeFjVjPw X-Received: by 2002:a05:620a:288f:b0:7c5:9c13:2858 with SMTP id af79cd13be357-7cae39e4d94mr562790185a.0.1746406549846; Sun, 04 May 2025 17:55:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGR1BnB1bqJFNML5KMH4T4Sx/W6dCdj2CMTT7+fkvXjPRs+15OY5IAA/zDDkF5eHXUukTln3A== X-Received: by 2002:a05:620a:288f:b0:7c5:9c13:2858 with SMTP id af79cd13be357-7cae39e4d94mr562787485a.0.1746406549425; Sun, 04 May 2025 17:55:49 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ee07asm1501118e87.118.2025.05.04.17.55.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 May 2025 17:55:48 -0700 (PDT) From: Dmitry Baryshkov To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jessica Zhang Subject: [PATCH v5 13/13] drm/msm/hdmi: wire in hpd_enable/hpd_disable bridge ops Date: Mon, 5 May 2025 03:55:47 +0300 Message-Id: <20250505-fd-hdmi-hpd-v5-13-48541f76318c@oss.qualcomm.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> References: <20250505-fd-hdmi-hpd-v5-0-48541f76318c@oss.qualcomm.com> 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" X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4345; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=SzYbiSJHs1yMPXj6OmRiDQC/Js3KF24ybXscune0PUw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoGAuq8oeBoszbBJhsuHgaf/J9Vn91t4s2pFa0L KQP44Y9ZyeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaBgLqgAKCRCLPIo+Aiko 1QeeCACVtDaCnd61a6+aWoQBYA37uOTTFipnJMx09Bimgk5R2wDPo3W5QQ9KQblYw/JuXRrS6NT 3aI52WYS5+oANdWEfOynFa8FsoAVcef2bIl8BdPgY94UnlS8qrPjC8C6tgbFrnXOSJPGTY6KIIo +Zjizl/URZ6sL+KZaRISQ1ADm4DGNVZrqopTlz9P/zSWFEHT2UTb5hDS2ai8l+0qopAbDeS/vrz JJI8jqTUHbUwMJsI5B1n/XEgyuzvdgLm+5tZ7RBSK4tY0fZ35pYkpF508xGDG+L269aLDALkxmN OeVPWNQoA1xEI+khIRrkdkbqQmwpqUoXD9p2sM53CqDpTTQd X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: Vbk3JdIMhx1UDiDt1W73aRQy5TrKYsYW X-Proofpoint-ORIG-GUID: Vbk3JdIMhx1UDiDt1W73aRQy5TrKYsYW X-Authority-Analysis: v=2.4 cv=atqyCTZV c=1 sm=1 tr=0 ts=68180c9b cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=6oMmD3cprD66TWOKKWcA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDAwNyBTYWx0ZWRfX8tcbZKm00AWe TEtbFj5CY3+WWGCJvklkniDLZEjnO3V6NJD2BrK4aeL4fosXacePz8FAY2agVd0NJnYdgyOAGGq iBPLopQ7UjHy6AqeIRsf0ihs4ZmSF/ta8wVmSzPZQCTwU7eXJHA1EVtfAsEISxeH5aQZaqG0ast In/reg8hNRxxqYisAdU4ioZxq7rgx9Wm9Jb8QsQTVhQrkVNqCf0KWUugPhGFraz36CZtCEk9qjU k3qGR4rPk6jTn2vpXhTY5M0uHKBJIs2PUZp6ZPDR2QzzOZTvaHCOCSNOQ/Y+eeJPhp/uzkqYi1V 0xulzKx3xs2Q8jQzwhW9PyvkEjEjNrPM6r5fKVKDDkVb1QqV+l+xqUU+rREAOyJrV0s5KC2Jyx+ fcwrWEsJFBBmv/YN91I7udtda0FBU9pXBKDtKATwioM9fmzA3cUVEt+xJdJt8qQDw3B+25UD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_01,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 phishscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=999 mlxscore=0 impostorscore=0 adultscore=0 clxscore=1015 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050007 From: Dmitry Baryshkov The HDMI driver already has msm_hdmi_hpd_enable() and msm_hdmi_hpd_disable() functions. Wire them into the msm_hdmi_bridge_funcs, so that HPD can be enabled and disabled dynamically rather than always having HPD events generation enabled. Reviewed-by: Jessica Zhang Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/hdmi/hdmi.c | 9 --------- drivers/gpu/drm/msm/hdmi/hdmi.h | 4 ++-- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 2 ++ drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 12 ++++++------ 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdm= i.c index 5355cfd391c5cc3053f771dd03e24dfde16733bf..2fd388b892dcb3d83cf57b4616b= 7a65f9ff674d1 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -200,12 +200,6 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi, goto fail; } =20 - ret =3D msm_hdmi_hpd_enable(hdmi->bridge); - if (ret < 0) { - DRM_DEV_ERROR(&hdmi->pdev->dev, "failed to enable HPD: %d\n", ret); - goto fail; - } - return 0; =20 fail: @@ -261,9 +255,6 @@ static void msm_hdmi_unbind(struct device *dev, struct = device *master, struct msm_drm_private *priv =3D dev_get_drvdata(master); =20 if (priv->hdmi) { - if (priv->hdmi->bridge) - msm_hdmi_hpd_disable(priv->hdmi); - msm_hdmi_destroy(priv->hdmi); priv->hdmi =3D NULL; } diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.h b/drivers/gpu/drm/msm/hdmi/hdm= i.h index e488ee31cc865b4eee9d486d978217c00f7816bf..d5e572d10d6a14b866f13c3a0d6= 63cc6ae435ef5 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi.h +++ b/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -216,8 +216,8 @@ int msm_hdmi_bridge_init(struct hdmi *hdmi); void msm_hdmi_hpd_irq(struct drm_bridge *bridge); enum drm_connector_status msm_hdmi_bridge_detect( struct drm_bridge *bridge); -int msm_hdmi_hpd_enable(struct drm_bridge *bridge); -void msm_hdmi_hpd_disable(struct hdmi *hdmi); +void msm_hdmi_hpd_enable(struct drm_bridge *bridge); +void msm_hdmi_hpd_disable(struct drm_bridge *bridge); =20 /* * i2c adapter for ddc: diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/h= dmi/hdmi_bridge.c index 8ff0079abc801448e96b73ebea4730edea55ea6c..53a7ce8cc7bc7b6278eae2cbc42= c3fda8d697f6d 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c @@ -459,6 +459,8 @@ static const struct drm_bridge_funcs msm_hdmi_bridge_fu= ncs =3D { .atomic_post_disable =3D msm_hdmi_bridge_atomic_post_disable, .edid_read =3D msm_hdmi_bridge_edid_read, .detect =3D msm_hdmi_bridge_detect, + .hpd_enable =3D msm_hdmi_hpd_enable, + .hpd_disable =3D msm_hdmi_hpd_disable, .hdmi_tmds_char_rate_valid =3D msm_hdmi_bridge_tmds_char_rate_valid, .hdmi_clear_infoframe =3D msm_hdmi_bridge_clear_infoframe, .hdmi_write_infoframe =3D msm_hdmi_bridge_write_infoframe, diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c b/drivers/gpu/drm/msm/hdmi= /hdmi_hpd.c index e03d0ca230e64d7675534074d6e14587815119b6..407e6c449ee0d84628e4cae9dd4= 3c1b1f2c0090f 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -60,7 +60,7 @@ static void msm_hdmi_phy_reset(struct hdmi *hdmi) } } =20 -int msm_hdmi_hpd_enable(struct drm_bridge *bridge) +void msm_hdmi_hpd_enable(struct drm_bridge *bridge) { struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); struct hdmi *hdmi =3D hdmi_bridge->hdmi; @@ -73,8 +73,8 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); =20 ret =3D pm_runtime_resume_and_get(dev); - if (ret) - return ret; + if (WARN_ON(ret)) + return; =20 mutex_lock(&hdmi->state_mutex); msm_hdmi_set_mode(hdmi, false); @@ -102,12 +102,12 @@ int msm_hdmi_hpd_enable(struct drm_bridge *bridge) hdmi_write(hdmi, REG_HDMI_HPD_CTRL, HDMI_HPD_CTRL_ENABLE | hpd_ctrl); spin_unlock_irqrestore(&hdmi->reg_lock, flags); - - return 0; } =20 -void msm_hdmi_hpd_disable(struct hdmi *hdmi) +void msm_hdmi_hpd_disable(struct drm_bridge *bridge) { + struct hdmi_bridge *hdmi_bridge =3D to_hdmi_bridge(bridge); + struct hdmi *hdmi =3D hdmi_bridge->hdmi; struct device *dev =3D &hdmi->pdev->dev; =20 /* Disable HPD interrupt */ --=20 2.39.5