From nobody Tue Dec 2 01:26:45 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 62EF32C08D0 for ; Sat, 22 Nov 2025 05:01:40 +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=1763787701; cv=none; b=gRPMUkRS2eogaeEycejrKkimw4poL8iQv2lxtyd1vqkMMfLjafIC5y33SWQ2ZYOzAPPN3ZzhniVE009V0pvo8k3E0KuKCmzZvJkRUi5Zhx8A7dP6Js4IkX0c40K8Mpj6096INiewxsxEGrsObe4jx8bpaTgKetjGgVsMLklNBzc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763787701; c=relaxed/simple; bh=pjl6cY91tXoDWcWfEEAwSSE3Iw/3tG+J8zq8C/zS7lg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TlZZLV419FNXigCM9jVlIADMbL8GUditFQJ4mQ++zE8dPp2xURFwaBiVEB4ubxmxV4Siml1wNv6KFfW3z8NQgGyerYm4x1j2Q6VxNanO3wxc+wJT5JmyuM/bLh40Y1zRu19aqiBQ8rqEc/CqddVyszj4qAWMmz7yRoqFlHXBdtE= 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=nuwjSvey; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cEpuEePf; 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="nuwjSvey"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cEpuEePf" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5AM4YWL81478455 for ; Sat, 22 Nov 2025 05:01:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=2E9YZHi8mVm UUCdAPl94Gdnvp6FNNgZ6ghFgArKR1ZM=; b=nuwjSveyM24yjI0jH+ly7AvqFFV kFOOcKUa2Ew4+4dqZDTWoyWLNmzZmAthMontcHTIWFlShtS675ZHYcLpnn0bPUDJ 8Qyuf2PVA0RbbF9CTvsQSkXD97s4U8suXPiqktrQziF8CZQNQefYY153hPxcUSeE D6E9XRuK62ToM558lis8m9LxTI36UlclqCREKXlEFmrzL2ftU3kv3Gk9wz1T5fb0 pTyWefuGFWVLKFHjKG0VfO4qdhxOcFIEwZJmNf7FvT8PVlEXNGSzOKdcVZRLnKxm MTwm6FiCpwH1+twCni6hN20aiB79Zxv2jrlzUa+6ZBMi/uruw/Lth9eEiIw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ak694r1ag-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 22 Nov 2025 05:01:39 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-295fbc7d4abso41334005ad.1 for ; Fri, 21 Nov 2025 21:01:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1763787699; x=1764392499; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2E9YZHi8mVmUUCdAPl94Gdnvp6FNNgZ6ghFgArKR1ZM=; b=cEpuEePfdyKRJQv3NMe2tkTkHwoWpQUwzLHHYhfQk0WjxVw3HPHDEAlju45bBFvkAO 09J5htsrGRsTWL1I7Ayp7ROWJj7aVkuYxn4jZfd7pZdrXTcZ/C9lHDR64/PfdUbqLosm UiCeMQAW3UK8Y0f1p1itdFWAiDEO53jolcWvES5kFZ4ulNo9nWkGO0rGyhT9d37/gu8X J76HNgxsQMrCtgt0+wDS2S1td9pFHHhfjL8qmz6kaSsyznxxbsll3Mj9UDsjGJ8z7JYs HwfLikcAe2NGa9X7bGQIQ+PwdWyqhhGzl18mQAE2kwCL/a131zIJLQZrKATs+YDLE21J MHfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763787699; x=1764392499; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2E9YZHi8mVmUUCdAPl94Gdnvp6FNNgZ6ghFgArKR1ZM=; b=hs+Hqughr/4Za6GXjnvvLHkccHFbqn2Dpqs7E9YfW1eax//RL0jDYfz+Nt5VBScsvk UqipR1n80/msKlKeECY2EauR9SkvdCVyLx3Avuj6lpLhVgT0XSUsaKlEYfsBV78/eshj cZ0YBuuqyBz9ggqSyXk2qBlHxxpA7RcP/lWaTYyad2TuEzt07OVOJ09ofQOM/pwS/uYA nBjYI4Cu0iRu8YC6CTvZ/yIrQ0QkhAsWNUKFSYfJsNyVkk7ENAbIPcmIaZg9Mnu3S+g5 0BDjmby4DR+CRDGt90Nw4MUUkaOb4+VhRgZ2MPymc4I1DjdP4OE1lBYOUjzz4VVEwsZ8 46ig== X-Forwarded-Encrypted: i=1; AJvYcCUo2u5v70YChNmGw57i2w32aagOpl2rEfxRUyuP/90YeC7VBBJ5TKjKgavHhqT6mY4PAbyLY7dah8CUSv0=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+wDVbF+gkdNLCNAKb9788yN6n0SPnM6tGRErIdD7FzXCN+M94 F6BYiOGHEY2jaTeclqrQh1in2uL85KGdgNFzyBlW32x38AlWZwcU5bBuMW8ESLWVrcK6bnHTQq1 9erJUk7wYgAGUGGrZTYsj0G9cFZiGbBM/G3zFewjnNB0OcXrZNUymr4CI4ljdEMUWAHs= X-Gm-Gg: ASbGnct70JetSBt1FtGkqPMnOz9jPSldR5hBrtk78jsgQpo9Qyrj6n8xLP3HZczt+Vr /eJWyWcPm+owjdolrMrggbe1JFiHcyornty2Lj9+nSDRXo9isq4GHae+AiZGYn0+fJ69hyPyKpY DaOKiY1vdUY4cKbITasmNcVnEUhvQL75Ye0z5xYK0/9v2PqItw+Sg8v/wVx9MI+qQF/dvyw+C4a m/XB7Q9Y9G6f/g3MTZfs7t8Jw0gtEMZ/T97BKnN5Z4ikxvqDPVM/GKTZimhoN5hXROxcOsLlWQ+ 90BjkY83KK+7mP6NmyZ317RIJy4YdogToOMKUWSYaaCrqXOsUdI4rneuKTBlD5NmPAI1SOT/kYd +nDluiVASkAyOnYSjaAgIwUcWGh5ZK5Y+U+Y4tgFQ/nM= X-Received: by 2002:a17:902:fc43:b0:295:73f:90d0 with SMTP id d9443c01a7336-29b6bf76f59mr57983835ad.50.1763787699085; Fri, 21 Nov 2025 21:01:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IFoRvXLUuA8WOlFW5EjeyHiUFDI6eRZdYMUcLr1xpYwDsGXQPm3VjjJU/KUwQK2LYPNTZeJhA== X-Received: by 2002:a17:902:fc43:b0:295:73f:90d0 with SMTP id d9443c01a7336-29b6bf76f59mr57983435ad.50.1763787698469; Fri, 21 Nov 2025 21:01:38 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29b5b138c08sm70688725ad.25.2025.11.21.21.01.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Nov 2025 21:01:38 -0800 (PST) From: Praveen Talari To: Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Mukesh Kumar Savaliya , Viken Dadhaniya , Bjorn Andersson , Konrad Dybcio , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: psodagud@quicinc.com, djaggi@quicinc.com, quic_msavaliy@quicinc.com, quic_vtanuku@quicinc.com, quic_arandive@quicinc.com, quic_shazhuss@quicinc.com Subject: [PATCH v1 10/12] i2c: qcom-geni: Use geni_se_resources_state() API in runtime PM functions Date: Sat, 22 Nov 2025 10:30:16 +0530 Message-Id: <20251122050018.283669-11-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251122050018.283669-1-praveen.talari@oss.qualcomm.com> References: <20251122050018.283669-1-praveen.talari@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTIyMDAzNyBTYWx0ZWRfX3EzPId3UDgu2 +0GHpPqqk5GszdPx/t6QEZcv2uBmQVT8Z5FMt4ZRYlsfu8Y/fneGTQoTIMRlGAyhbu7/dTm+FGm iY23Lrrbd5fNFErxi2Cug58aGofsTcEeiMTxA7WdtfG38ig6a3o+3e/wZkjjdHKJWjPspFMEkGr yUOd1KVXj6eRd/3GbqY7y1uF8cNmR02mEoEWcAjMCFK1EOg57lUCrCbi1htyNlwiFetTHPLdFrk Jc4Nx7JKKniXi2WbHsS/YBPZmXiqxyrvFArC32ZxzOrsYskNLlZ3LVjasYZrJiIRWJVHPgv3JR/ z98LWXh0Cp5/dxy3GVlISaDnA98S5Wp6zMi7q0hrDWest2lrksLzbJ18j1ra7gfTBySzEBLfkAC qA/IwGlXuwQDCptCHnyPmqA815PMjA== X-Authority-Analysis: v=2.4 cv=YJqSCBGx c=1 sm=1 tr=0 ts=692143b3 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=6UeiqGixMTsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=467v_uBPdO_cN_CSUdMA:9 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: 30DQLVE3qJsRYDjqv2w6O0RClAEfPFhk X-Proofpoint-ORIG-GUID: 30DQLVE3qJsRYDjqv2w6O0RClAEfPFhk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-22_01,2025-11-21_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 impostorscore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2511220037 Content-Type: text/plain; charset="utf-8" To manage GENI serial engine resources during runtime power management, drivers currently need to call functions for ICC, clock, and SE resource operations in both suspend and resume paths, resulting in code duplication across drivers. The new geni_se_resources_state() helper API addresses this issue by providing a streamlined method to enable or disable all resources based on a boolean parameter, thereby eliminating redundancy across drivers. Signed-off-by: Praveen Talari --- drivers/i2c/busses/i2c-qcom-geni.c | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qc= om-geni.c index 790cbca2c22e..ea117a4667e0 100644 --- a/drivers/i2c/busses/i2c-qcom-geni.c +++ b/drivers/i2c/busses/i2c-qcom-geni.c @@ -1166,18 +1166,15 @@ static int __maybe_unused geni_i2c_runtime_suspend(= struct device *dev) struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); =20 disable_irq(gi2c->irq); - ret =3D geni_se_resources_off(&gi2c->se); + + ret =3D geni_se_resources_state(&gi2c->se, false); if (ret) { enable_irq(gi2c->irq); return ret; - - } else { - gi2c->suspended =3D 1; } =20 - clk_disable_unprepare(gi2c->core_clk); - - return geni_icc_disable(&gi2c->se); + gi2c->suspended =3D 1; + return ret; } =20 static int __maybe_unused geni_i2c_runtime_resume(struct device *dev) @@ -1185,28 +1182,13 @@ static int __maybe_unused geni_i2c_runtime_resume(s= truct device *dev) int ret; struct geni_i2c_dev *gi2c =3D dev_get_drvdata(dev); =20 - ret =3D geni_icc_enable(&gi2c->se); + ret =3D geni_se_resources_state(&gi2c->se, true); if (ret) return ret; =20 - ret =3D clk_prepare_enable(gi2c->core_clk); - if (ret) - goto out_icc_disable; - - ret =3D geni_se_resources_on(&gi2c->se); - if (ret) - goto out_clk_disable; - enable_irq(gi2c->irq); gi2c->suspended =3D 0; =20 - return 0; - -out_clk_disable: - clk_disable_unprepare(gi2c->core_clk); -out_icc_disable: - geni_icc_disable(&gi2c->se); - return ret; } =20 --=20 2.34.1