Received: by 2002:a05:6358:4e97:b0:b3:742d:4702 with SMTP id ce23csp9635rwb; Wed, 17 Aug 2022 21:29:28 -0700 (PDT) X-Google-Smtp-Source: AA6agR4awcvLAaoURsV68AJx2s4LLe8FxILx/Lbi0vjE/NhtJovDoAUgFex1BCLqYUJQY8L7YP6I X-Received: by 2002:a17:90b:3008:b0:1fa:be55:d1bc with SMTP id hg8-20020a17090b300800b001fabe55d1bcmr4408785pjb.114.1660796968576; Wed, 17 Aug 2022 21:29:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660796968; cv=none; d=google.com; s=arc-20160816; b=W16LAIe4LBGvatn0ujDyEgKYgGOf7OTiACxaKm3DXqRWIw2NKJo+zDcYfTOpYfMWDe 2w5UP6GSWoXIEGpDYraLK0Bc4M2jUj8dj3QT8hl2L3gOMFCePlFEdfVcBRMsEJGWwGGW Io/el5NTy9+S/S8nugpf8l2ZT3OQ4XUPiAxRiWvAJeS2Caq64fSaq7uKMWmCT2Ri2HS5 nwBQmivCgp6Utkxe6U5uqgnCzCffJmNGBnGV9uGN88gqTh+eNtK+K0wTVng1CDYXr6Tw rhQrROLYnQ8ITQzteXkvZx/sgc6CqEX/BuKQzlmupt1Fcc93A7Hj3G+jpUnil0jNPScr vgsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=12kXdZRBTG5i3DXr6DYowut10y2IN98X+YP+fIDvAdo=; b=Ob8QUNuq0C+FFRawemg3zuj5mqUVs5IRsBKoVcRvXBJZCOhu7DDA05ADrbcTje7kpH 96vTiMsj4a5YjMlhbpH7gwTuAEYMuCEl4Of1KOOeRnE1qfImQb9UQca6CnHi3gkZk1nq eRXMrzOuTLFSF6VO3t2d6hw8AKOY9nGZIxSOv6H4bCkgqPFPje0Pc9X8hfNzgUmnAgNy XAnj7vlUwd7d9SqCQc49bwaaHnoHiCt6fjD6YLgplIHSkqo68WPDblWWvMWa41EL1vqC z9dCT++3ddSQ6QpTyDTak3lyn36Vfllp0LP7zH9dXRNVQTZHb1DGZy8YTscAgzO0JJvn 1XKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=jFJuTG1+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s33-20020a634521000000b0041bd351f349si525327pga.173.2022.08.17.21.29.17; Wed, 17 Aug 2022 21:29:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=jFJuTG1+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243141AbiHRERe (ORCPT + 99 others); Thu, 18 Aug 2022 00:17:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46414 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243105AbiHRERa (ORCPT ); Thu, 18 Aug 2022 00:17:30 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8AB594EF6; Wed, 17 Aug 2022 21:17:28 -0700 (PDT) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 27HMafKE019156; Thu, 18 Aug 2022 04:17:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=12kXdZRBTG5i3DXr6DYowut10y2IN98X+YP+fIDvAdo=; b=jFJuTG1+qthcjM954/gk0+/JoeeJGuAEpiJxuBh+fJAgrxKhF//Ls6Xwf9ae5nevAqBB JASam/DWsf2UGw7n71SKSIgJdpJfxZ5jwoubxvuZFydFpOc2j3Q4RdS9sohFG6Z5cB+q u6qZQJzObIyi3SWW8rx0yxfslKAPsZSycL6zhntUJdXV/73G4xZl8fGelSqKtc8qayWf Rayt7jk36PEjpC23AIoWfCmnnzgx3l0OymhDqk/1gmPSZREbH8969EfSx5qNPzQphJT6 SrdWffm9976CN3Ku0uz2pWPkdATqZz71Tf9SCpQvQ2KdKT/QrZxcZzGYtllFH0UAI7PV Kg== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3j12hhjkrd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 Aug 2022 04:17:22 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 27I4HL3d010012 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 18 Aug 2022 04:17:21 GMT Received: from hyd-lnxbld559.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 17 Aug 2022 08:14:40 -0700 From: Akhil P Oommen To: freedreno , , , Rob Clark , Bjorn Andersson , "Dmitry Baryshkov" CC: Matthias Kaehlcke , Jonathan Marek , Jordan Crouse , Douglas Anderson , Akhil P Oommen , "Abhinav Kumar" , Daniel Vetter , "David Airlie" , Sean Paul , Subject: [PATCH v4 2/7] drm/msm: Take single rpm refcount on behalf of all submits Date: Wed, 17 Aug 2022 20:44:15 +0530 Message-ID: <20220817204224.v4.2.Ifee853f6d8217a0fdacc459092bbc9e81a8a7ac7@changeid> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1660749261-7602-1-git-send-email-quic_akhilpo@quicinc.com> References: <1660749261-7602-1-git-send-email-quic_akhilpo@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: R-FzBrRi5uAcAGAViQgzjb20RsSqQLSN X-Proofpoint-ORIG-GUID: R-FzBrRi5uAcAGAViQgzjb20RsSqQLSN X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-18_02,2022-08-16_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 bulkscore=0 lowpriorityscore=0 spamscore=0 priorityscore=1501 adultscore=0 suspectscore=0 mlxscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000 definitions=main-2208180014 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instead of separate refcount for each submit, take single rpm refcount on behalf of all the submits. This makes it easier to drop the rpm refcount during recovery in an upcoming patch. Signed-off-by: Akhil P Oommen --- (no changes since v3) Changes in v3: - New patch drivers/gpu/drm/msm/msm_gpu.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index c8cd9bf..e1dd3cc 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -663,11 +663,12 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, mutex_lock(&gpu->active_lock); gpu->active_submits--; WARN_ON(gpu->active_submits < 0); - if (!gpu->active_submits) + if (!gpu->active_submits) { msm_devfreq_idle(gpu); - mutex_unlock(&gpu->active_lock); + pm_runtime_put_autosuspend(&gpu->pdev->dev); + } - pm_runtime_put_autosuspend(&gpu->pdev->dev); + mutex_unlock(&gpu->active_lock); msm_gem_submit_put(submit); } @@ -756,14 +757,17 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) /* Update devfreq on transition from idle->active: */ mutex_lock(&gpu->active_lock); - if (!gpu->active_submits) + if (!gpu->active_submits) { + pm_runtime_get(&gpu->pdev->dev); msm_devfreq_active(gpu); + } gpu->active_submits++; mutex_unlock(&gpu->active_lock); gpu->funcs->submit(gpu, submit); gpu->cur_ctx_seqno = submit->queue->ctx->seqno; + pm_runtime_put(&gpu->pdev->dev); hangcheck_timer_reset(gpu); } -- 2.7.4