From mboxrd@z Thu Jan 1 00:00:00 1970 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 4E24134751B for ; Thu, 16 Jul 2026 20:15:55 +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=1784232958; cv=none; b=m3lKo5mYXhxux+jvT8Mpsceb9/e/FvT5ufzLcAPnIpi1ylDGwpMiVBrVB0/QKFwnYxMhFISfBO2UBMdS9Dsqj2oR6LZ9PQ+0pDCTUkT4MDCRoY0SLT1PtB5Xks6ol0/YzRy5UWEgbzIrUiQ78I20UOBtHfv8UHEPnw5grs8z/+o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784232958; c=relaxed/simple; bh=haNJTpsgx0TlfqzWawzbQIaFPz/UgQjWPCitxeNqB0U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nPQz5CwHJT+1ndjUn3px6xB4Df9WOxa/PkYOE8M/cEvlsmNoouj942dwaDRtRRfap1mN+SVSrfk6FRdUzA3ZbL/qE24+9rIxAV1vlQnug3GbP06UM1jvVtWLJN3BM4MQOkrDPHerJxrDpcZZ8EYqQf39bVYb4/Am6wQZRiE36VE= 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=hF2Za22D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WXTxcVDt; 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="hF2Za22D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WXTxcVDt" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66GJoPNX3753253 for ; Thu, 16 Jul 2026 20:15:54 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=mmTWztalT6h ryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=hF2Za22DHpjLJxSlXR3pOV+0nlJ CTYSTNk4kovuw+27nQ7r7V+SMur652gblaBaxhNdMdnJNmGmySLgDR/4LrfwlLbQ eqKEXKKwOWBYZoO1E49pk0R/bzGXleN/gX2SMOdh1yzJb/sFV37Hqzw2b7y7+ztT xL6rYCJac+ap7zfxxG77/NNxrDMg03I3asPx3cBMN+OKH6DHt45fRVdOpNlwSd35 wuWcOd70vqxZFT18AcCjsbrCN3jHRxkP7SfSNJoNLBTz6MNnZW55XDvHFgQMsnzH MR9p1u3AfCU3IGBTrw5QmWowBFRIrG6kIy79EXAYaHUAv8v5LvhS2EgvB2A== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4feuex35n3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 16 Jul 2026 20:15:53 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-38dde0df80bso8720663a91.3 for ; Thu, 16 Jul 2026 13:15:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784232953; x=1784837753; 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:content-type; bh=mmTWztalT6hryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=WXTxcVDtOxXToJQS2Cv+Nq9Zx6hwcFEMc8aUa4fd8J7bBQwobl4vFCchLNgdobWk2U 38+aP6+lMbC4QxgLQQhNKxcBCdXo8jPSJT4j8ix9itBphg2hUbBcSa8M8PanKaRE4cXL c7SRQwkunIe9nJGdq9Yz9iSFUwgwWTanITzXKHdh7PRwo+Yes99t8u7q7v7QNU+Q7+rv Pp1jOhRPhDMfirw7DtLTW2nVTLkPBH5UvnBrmydh5IDvYlDzYZRHbYv05bSOcPO/kVY4 q+UtwZM6YIRsW3c5Z2Y7PU/Rgu4NGR9tSPiPP1q6X+lBLRvPN2ke5zvmPXL78x6hmf2U oNSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784232953; x=1784837753; 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:content-type; bh=mmTWztalT6hryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=P8v2wWNkRAP+qiAaeEmpu+VzIFrAv+TGjAq2FJnWvPuARQig4LQCp5lzOlYC3hd8cU xVyunN29nGGm6kXr+cjmqmvn0XGtYfQwXVxaoy0q9SGaQwfq6ZG+v9oOTe+FCMoSyfPY zLgpBBa2cMRxS0+FQF3BbAPrQtF0tHckJn11x4mrmaYYNetABe20YdC5XFx4pvoEVU4x iLj80ai5sY/emCoKwTTvPEI2xARFTz3ARZ1beHeUiS2VVpn+NKdjjPEY8m/KnYQiMeon qLWMSZ21+/s/ywEUUypTSAG712cUtHCOhy/Bzl/uDfHm+fBYscUzBz63fy50jLU4hYHi +rIw== X-Forwarded-Encrypted: i=1; AHgh+RohFAfOGiNqJolV5jlRJqbdiYnhbTx9jZnz2NcXK5kNAuLSYSjUr3HRTIwlpGAtiPd69FKnHEoyTgN1gBk=@vger.kernel.org X-Gm-Message-State: AOJu0YxffSsC2WaBi3iYnXJHne+rvQdaF9CVhFEVAwglPOMFNGRJdFWs GtGIHS03rBVD5R0GInz9kMtMCucxkMqVkXq/8TEfEAQQ+pZPD7eEoNCmLAGaOjiix8/C2E2fliM l+z1rKune+OdWaEjiwMt+N1j7IK0i3ebcYx6v7C0f/DSFc6LuqmYu3/T2t27SX7rqinxLNaAY8a M= X-Gm-Gg: AfdE7cmj94OFasVRTZ9h9kQXkQmwqxVSV/RDmjvCYRy2ilcDogEBvrLeutovwCpAoKk h3VC4qN6TkMUS4c9pkMJRYVxQrUJuKDEMxdcaW5XEsVL9JOsFIltFgFiSl1MuMmq3r7HNquwJwt baFEYYmmV7vY3Gg0PmmAZUJKVcxFjbPPOnh3ufZ8fkoaO2eL5r4L0q6J5oY8G70OQbPNq7QB1W8 fSEWNdqptGE33oh9kllfmeh4ukgG1O61g2amDH1Hhm/IblsOA1o867vd8x1vmMM38xHoF4sunoT yFGKe1JZvfTJdlNkupRAtq3TsQ82TFPEHj2lPfgJMVX8s9VrzCf3C2HSOuIpZAgPKsybTHNaYEY WqDC94YcOV6AghHPMnfyjysxyGXfL5mBcFYYNwriBICDjPPM= X-Received: by 2002:a17:90b:3a4b:b0:387:e0cb:7f5 with SMTP id 98e67ed59e1d1-38e17fab248mr14071720a91.41.1784232953039; Thu, 16 Jul 2026 13:15:53 -0700 (PDT) X-Received: by 2002:a17:90b:3a4b:b0:387:e0cb:7f5 with SMTP id 98e67ed59e1d1-38e17fab248mr14071670a91.41.1784232952484; Thu, 16 Jul 2026 13:15:52 -0700 (PDT) Received: from localhost (c-73-37-105-206.hsd1.or.comcast.net. [73.37.105.206]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-38e3a0d7a5bsm1826785a91.9.2026.07.16.13.15.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jul 2026 13:15:52 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v5 03/10] drm/msm: Synchronize VM creation on ctxlock Date: Thu, 16 Jul 2026 13:15:26 -0700 Message-ID: <20260716201538.365824-4-robin.clark@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260716201538.365824-1-robin.clark@oss.qualcomm.com> References: <20260716201538.365824-1-robin.clark@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: 8bit X-Authority-Analysis: v=2.4 cv=JeeMa0KV c=1 sm=1 tr=0 ts=6a593bfa cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=Hu6Oc1eQfK70imYNBQsA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-ORIG-GUID: WeHzkGHTZvMbpYynJGkgjtx85hwehPNg X-Proofpoint-GUID: WeHzkGHTZvMbpYynJGkgjtx85hwehPNg X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE2MDIwNiBTYWx0ZWRfX+FWkSjGTMqRY Ud2zyiPKVxIkMgkwULJqWN2U1XHtqmP+ez5/qjZxWzQHyl6JyPeFzP/aELyxqqxM9BmT5F16LA1 vAyFNR91Que2JE08gyPtCFcF1wLuW5Q= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE2MDIwNiBTYWx0ZWRfX5C8Lltmd2mae 11m9IB21X+96hJNnQd1s2XatWnifuaHakxYENM4hfgWrFGiSvLI55r+g6vES/BqnQv9v6CrZ6wC hIAyvNRqQSVn5waCjGCyuusIHP6DlJvdiwRYCbz6/0Vu+UnAtxEIkyO6MBQKfF9JK6VW6exQHD2 7fzYO94QSgDbtT4iMU8spMEjFS0/mhikrgwkFYw1cLE8El8XoQarTHHkiQKN/f3NCyvPEp5d/n1 lYtTr4Fn7ZzH0lDe/bRCggIVkFvTph/4afPsVyNXTj94/BuxjKjEWbLrmae7Svci2+XcyHFP4/N apRQFUQzbFlZQyjHwv89yBw9EAddlv2b7uN7Znp+GFkdVNMFxhAWraxz6hrH9gBUz4HnhiTDXEX E1mdpyeES0BBCTrzzIma3m1EVwYUkxlPOHlfDdFUShIK0x3i8E72B3CHcfaK306zdemWAD/2lHL LYKWJLZQF0B0j9t71Vg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-16_07,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607160206 And serialize setting EN_VM_BIND against VM creation. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 5 ++++- drivers/gpu/drm/msm/msm_drv.c | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index c62c45bb0ddb..0d54141ff089 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -503,7 +503,9 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_context *ctx, if (!perfmon_capable()) return UERR(EPERM, drm, "invalid permissions"); return msm_context_set_sysprof(ctx, gpu, value); - case MSM_PARAM_EN_VM_BIND: + case MSM_PARAM_EN_VM_BIND: { + guard(rwsem_read)(&ctx->ctxlock); + /* We can only support VM_BIND with per-process pgtables: */ if (ctx->vm == gpu->vm) return UERR(EINVAL, drm, "requires per-process pgtables"); @@ -518,6 +520,7 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_context *ctx, ctx->userspace_managed_vm = value; return 0; + } default: return UERR(EINVAL, drm, "%s: invalid param: %u", gpu->name, param); } diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 384f32f4d0c2..2fd1b717d8e6 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -222,7 +222,6 @@ static void load_gpu(struct drm_device *dev) */ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_context *ctx) { - static DEFINE_MUTEX(init_lock); struct msm_drm_private *priv = dev->dev_private; struct drm_gpuvm *vm = smp_load_acquire(&ctx->vm); @@ -230,7 +229,7 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_context *ctx if (vm) return vm; - guard(mutex)(&init_lock); + guard(rwsem_write)(&ctx->ctxlock); if (!ctx->vm) { vm = msm_gpu_create_private_vm( -- 2.55.0