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 981C237E5FD for ; Fri, 17 Jul 2026 20:48: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=1784321340; cv=none; b=BDcfeeJwklWyrSiCIT/N+TYA/AczAsX/dsqE3gP3YsUNJz02WffOls6Bjbi2Cbdojt8h8XJ7YDrZQ92UFyEzEgvmPPD4JMg7fR9PuKYRmZZFf73oPyIzQVCv4jvYB8j4xtWRAwIeSV+CDUUyBcML9SnpouqFqPDIFY5yfop4lpY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321340; c=relaxed/simple; bh=haNJTpsgx0TlfqzWawzbQIaFPz/UgQjWPCitxeNqB0U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HcuHVVR6Ib0Ya/PQ6Ciy10l1+6bwEejrvvLGfWUf5IGmGB9mozY2xTKRlR5bB9k7zPxg4WWGP3Cnc9XuNcKrTSE17fnB5zf6tsqYBCYxEIbjHrzOZarDH99i4vMn16oO5iTAdwIbTYaNa33/e2xMpGeBl1iQX54ZI1D2XnHoF3Q= 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=k8vPbl+3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UpOrkmKZ; 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="k8vPbl+3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UpOrkmKZ" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtdXJ2906447 for ; Fri, 17 Jul 2026 20:48:55 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=k8vPbl+3ghmkQzJz6iXYBtAIFzB hTY5NspubI+xmijA/Xe3jfLpI881J1FrfyPE1wvkgdUxVK4EZ/JSnL8xV0vEfMV7 VcQlbncZuSERz3uTa2Mn5CUUVnWv+t4wHX0wE7GVkGUSLFXPm2G29DD70yToP58R PkY8X36l1TTTRPwXisAPJod7bCu4zfISwMMm4+XnpOY8auUpDcaHRRBHY9rDPluG qQCb5C3sXvpRDrn/HIW1CPuQdb8nu8+LWK5WGQfMR5D7sEHTez9SQDTGPUHij8Mj xLvrT6Vco/GC3kbtQ6kkskRNWfri7JgIEy9a7ZJ6A2i8dRK3lBmKm5U4wzw== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrsq8rd3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:55 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c9667280edeso9502200a12.2 for ; Fri, 17 Jul 2026 13:48:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321334; x=1784926134; 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=UpOrkmKZ++HG9PpulzBADq2RZVHz1b6lBznUjTSLw2Wo8jmqSjahDNoB2owtjhqHj0 R1Qz0Vn4GTZpqHune8rNE4+gzC9Mr8EkM7j1xcRLRGnlIUZ/sbuorw4J8VFWQaJPmi/T JHL1Ht8e4gscMJqLqcA+r8ZqzW4yu0BGMnyJh6PaSuLOZ585VoGCdB6DKer8ovw9u8su J5P6m1NVClXj9ic2Z6Pmwo/wphNrfx4PdhNdM0kUbaZRd0hK5VpYHwRTluTElQzLCkHD kt14E92Cb1RW1ZCOk1tmK+zIiwuIjvsCxVAK4klFNISykVqeovrT8cictCcnKq4Hqj4P G0Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321334; x=1784926134; 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=WY7G3TeasB8+5bGsUkNNS1FwuJ1RoDmqoJRHlFbenJux1BAHcn5A6VrnivFtEth6FO svW1Xfst1GcoHkbQ3w3isGtRTxwbLmtaBXgZPlFKwDw47B/d+A801BXLHA1r1tQ/vpgK aVy/vGdY32v058P+430QdeAvYMJxvzRRPk9Zn1zmC+25ntfFqUMxnqMKl6NKq2vyPwXk lnPyyaWGDJnaDPsTJwqMKGewlXm71K/0VVoejKMWIvKLRyB2gwf5ChkobCLuLqNOV07n sLXQ5Prmp5qAtlLz5WOcB5Pkq7xWo83CEvA0iHpFYUZjJeo2Af7ra8ohKCnQEA/iJBPk FRqQ== X-Forwarded-Encrypted: i=1; AHgh+RqjyYIjAbUJzIgTT2t+fez51R+PlLqeKoQZ0h02RJiAIPSNfKcj9ynZO1d4oEDsTIcO3mEuY9PRvKPw0aI=@vger.kernel.org X-Gm-Message-State: AOJu0Yzo4NXzPtmsee2DtCSdB1S3YPFKj1p53xo+KPi+wYx8lDmvsHEp aZXgRDkT4J1J00D6uuy5EmzmJa1hxdgGHtkqTc6nbPYPmvBRtqyiJWX4cMPr+XDXmBl4igKCbXd 9XsqTv/BTYXP9WRJGY1TIhFT1xTIEd7ocHuMU5O/+ski2OLq7V9b/dM2UgXpHy2xTsSg= X-Gm-Gg: AfdE7cmC5uzcmGtWewB1jv/PHPLKtqrznR0v3FZMFDAMXR14uFe1wd5fAGcywb/cnLR sFOBhQDqU8mASPSz0K5cTV3f1ZDdZ/6lIn6JpowxEVRxP922fDXdopQgEKiOG1ZwejG2Ul16vB5 4rEK8BdPDDgjbrWtCRneoMyhz41Mcdia/iget8j1mTMyngdD+oy7YqTtKnHijFodij5r011C1vw Xdj2MWBjZl1e/10Oupqcn2rTx2GaKiaOU7hNxzBPIHtswONuU2xPcyRktVjtpiHMqZ34uw6m4ik sNIm0DRKyFcZLis756oV8aKvfDaz15bzFWaRP60RJhCVn0lhd6sCnWiS+x+Mt0zElzjLbZFI/y+ AKtqlwbJrNSLXQxCSnbtm/yV7xdQ4W/03IWcw3/TRmnlClHk= X-Received: by 2002:a05:6a20:430f:b0:3c0:9c18:d5a4 with SMTP id adf61e73a8af0-3c3ad997edbmr4549942637.65.1784321334282; Fri, 17 Jul 2026 13:48:54 -0700 (PDT) X-Received: by 2002:a05:6a20:430f:b0:3c0:9c18:d5a4 with SMTP id adf61e73a8af0-3c3ad997edbmr4549915637.65.1784321333859; Fri, 17 Jul 2026 13:48:53 -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 41be03b00d2f7-cb517f8f77dsm1397778a12.11.2026.07.17.13.48.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48: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 v6 03/16] drm/msm: Synchronize VM creation on ctxlock Date: Fri, 17 Jul 2026 13:48:19 -0700 Message-ID: <20260717204841.26120-4-robin.clark@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260717204841.26120-1-robin.clark@oss.qualcomm.com> References: <20260717204841.26120-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-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX1EEylThZxp8e Ifp9tGlBaf8xSuOCr18NKqk3KEHbQrszy8kUdPdA69fDHeaao7S559AXBoZOnreDvkQ1O4gVt2X 6V59190EILKE1MXKWwRmsRaqbifZqD8= X-Proofpoint-ORIG-GUID: HPCxq5rybVSSinIyVJYi70-yOWod9S-U X-Proofpoint-GUID: HPCxq5rybVSSinIyVJYi70-yOWod9S-U X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0gJo1/e/qVXI 29wrvO2bZGuMFfFmpQRb7jU6j/af6jk7PqvuC57ZpxXUXYiGvSqYZTEYGRMF5QEeYHMG2SWWO8N /uBDu111BCoC/iCR2ORhpbzAP1C7ArleZ42DLq8jGOd5SwJGM0G6uMjL93XAy5afsCzG5FnBz2j MJsG9e293L2gPtzx6JMg4G6md9YRQPnZ4bFtMauX07jDv0l3t0XIXYrjFtIL8aJf5yHS8JBT5M5 /OXR+Uzy61/2ImyliWswI0640UQ5QFq8jq6+8BTHlSnzSMFRoN0ImjaSqYpCZx3m6PRuwUTVRFP NDiH5lmBWbGwE6xUar3N63GLLXDtz6eW76PQR/6f8KK1X1tiX69vkqqrNy3PcR5RVahzPJrm1ID d82LbG701GWPuPeX4cpLdWCX7TkNnn3kCQkixJp27y2iPcREWX+qiuuFUJkaDiyMgGCM5WJrVPe lV6oSUsKDYmolQHY3gQ== X-Authority-Analysis: v=2.4 cv=OJIXGyaB c=1 sm=1 tr=0 ts=6a5a9537 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=Hu6Oc1eQfK70imYNBQsA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=x9snwWr2DeNwDh03kgHS:22 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-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 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