From nobody Fri Oct 3 08:53:15 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 B03002F39C9 for ; Wed, 3 Sep 2025 10:51:57 +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=1756896719; cv=none; b=L4sJ9KM+5YfvKO3KBXxIdzGID8U1/DZrDRvQStFnJ93X1RBOXoYhsWvcbm4VFYWVk08mzWp2FGkvT/8lx+N0EYImCEb5U4evvNdUlzCM6C6O4bCZVhq24rhfBBLzDbOlmSIc8vqQUSc94nZYTJhP7AEVacTwRBK4JDkG9vC2Jlw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756896719; c=relaxed/simple; bh=DOxzGa5ln47R7OKiLfYSQ6PXX1PmidXuqgERtNEvWGQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QSya5MzgLKXiMR0vF2cQ0zDCu9NMTjx9p/bkDUXSLTz1qa1qrx7J05jP8L62B/YEHEBkWdaHcfGyeRlgtyPoa0UTlrgOmEA22EEU+IwjqKYhW+GpmvyunEvzVTuvcfq81qxc0CzHhCmeQscluEGshh5ZmG9uS5XJiSY8DRvKnJs= 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=TTApY0W9; 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="TTApY0W9" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 583AKkhp021298 for ; Wed, 3 Sep 2025 10:51:57 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= LOqF21CE1uDjWwhsOc9+y9QDvjUZ79AdnXqgs80Rfxg=; b=TTApY0W982Io0a/7 5WaFtnPrDL2iRHZskZUwbk3zX5R0GRvG/p9mg2JlJ9BGRXZuqmTm/BdsZs81vc7a Io/UD4DHRejY11M1LEYH4bnAJKb6/BM9PJXhSBGKzasnCKcq1/8/G4WnnAeUu0iP H7vvLfN0ihBYhFFRk3fc+Ac4h/J7xS7sUyn+RdZnubhvAqMMClm1cExtULUemQpS vubmHmFLT3LXFgKvFGq1rro70fGnwntv3iMRfJEjuQSasPXFdbotNbWZCb6K8zPQ hIU80hCaRWyESWQs7xls7AQJCZFvb4w9QXhONW/Wq/3J5RN33tH9N/DjTiUtHQ8Q fRASCQ== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48ur8s3dx8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 03 Sep 2025 10:51:56 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-70dfd87a763so72174696d6.2 for ; Wed, 03 Sep 2025 03:51:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756896715; x=1757501515; 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=LOqF21CE1uDjWwhsOc9+y9QDvjUZ79AdnXqgs80Rfxg=; b=IQOwegiyYd3n5MuQYfF3t5cKxSTgL5Ow46yKP/uOF7j1HWRdC932+YfFRzDbFBkRd+ Sqaz+NN9nX3xtmSoz5pE7H4silpX7jWpr50w3kQ9+7c6I+x6AuotDe8ojBQpuI/Pg7RH i3o0q3XWwDBOliqNMTa5JupT0o1kwTa0z+I/5NCXaqfpKcrrdClKcqzk9/t+/dIKN2m3 t0TgNIVVrZtoQZH8+AWBB/7mfawpxOP/r9BoYR6incEYmqo4xePH49VLZ/LNnkgVyHSG TznMFpDB65TWQTfO1+7tnmp8SFIbQZMnGP+/eT8h+3AQrmzgtQPSETYhb88Cv/jYW4ms 4JVg== X-Forwarded-Encrypted: i=1; AJvYcCUdA1LQ4jRkazEx3zbDARB9vIJtS9O5DAOJXUOY5dd70bR8XSZ8ObY0Ln2cnXnmdNjPXY8eXit0Qntylhk=@vger.kernel.org X-Gm-Message-State: AOJu0YzhfYb3S4kv2VoYFQmTsihPWkdf/SJNC5Thj85hUmTry1mxRvmy YrmRFxlH4e+zBgyQ3sCfQtmp6ct0WWsv09TVPXrDSU6yFdvr8f4i/lIDkVwl4D7s+bx+yPNhosu HTxNWDWqIwYRwBlTNPRt4O8oUhiZmRJ5X7d04+M2CgRWJyBf4YyllooVM/Zf5i8VbXRU= X-Gm-Gg: ASbGncvNf74s/fbH632nbVwOyEMHASphFS2AwT+KxDGyTQf77vYhPjTuaFMmHdVqZeI SObjt7P0fKzYf5JDoKqzfJDUb3juWOrj2BFzlgds3HwB78P75KJ0Ft/EkS6vnDsLqU5TyWMcQlG JpXt6jtQMQ+P+mGlpU+zuSo4Rj2jIAWOYZ1EW+L9EOA5zA2O2PsagZPY5+S5L/qSnYeh64MZSQC iylcw+Q/Kh55gHpmAxgkYF4QKG7btWgsNoLIwPveWccuk1tiMpX3EPlv2uP+SOMca99XwUYzyb5 pufSt0N9yETCH5nGN0nbgVSt2bxpXl48DefzZw61jdkqMUA72A0qF+8MsTOK9b8GhhZW/F2dDCs Dfzy7Mvce4yObGW4edY7NZM6lP1iiq0Q9qbMT7iu8ubWSzacFqP4T X-Received: by 2002:a05:6214:765:b0:709:e251:c29e with SMTP id 6a1803df08f44-70fac6f8965mr187559146d6.10.1756896715392; Wed, 03 Sep 2025 03:51:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHpI7x7MnFeM18AkGfzBg+64o8SGEKu+2rsvamRjKqa+LRpXTTcPOES7lO8eSmbXmRIaaIuKQ== X-Received: by 2002:a05:6214:765:b0:709:e251:c29e with SMTP id 6a1803df08f44-70fac6f8965mr187558846d6.10.1756896714885; Wed, 03 Sep 2025 03:51:54 -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 38308e7fff4ca-337f5032df6sm9373431fa.39.2025.09.03.03.51.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Sep 2025 03:51:52 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 03 Sep 2025 13:51:49 +0300 Subject: [PATCH v2 1/4] drm/msm/mdp4: stop supporting no-IOMMU configuration 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: <20250903-msm-no-iommu-v2-1-993016250104@oss.qualcomm.com> References: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> In-Reply-To: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Antonino Maniscalco , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1164; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=DOxzGa5ln47R7OKiLfYSQ6PXX1PmidXuqgERtNEvWGQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBouB3GCYkst6B7Vxs59unZZ9OWKVDoBqiuhqLC0 Ad4ZcOrmJSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaLgdxgAKCRCLPIo+Aiko 1ZcgB/wIRfe3wD4L2wCQMTy+OxGPZlV6SmutRvWdRPLCSQp30ykvoaG1Ed+6wQruZao1GvSijCJ orcOb6USxUZZxw63Mfp1G+ybUU9Tj3tfzkG6fKuQSGwc6GyAwW8583XlCql0de54kaT3+Z+oYN0 okuAymJbOPK6yEBncCgmM5y6SOrv9LsQyd2VcJYYZLAXt9cv3ojsX8+Y1SZ8BKMp6Vcaauelz7M EW1dHqy73TPNShxN5UdgVrL2iH6FND7OHToV5llWfafKG+xzR/L8NsgiyfSK+lL7JIQ/YlQM5xr ys3pID7GzsNL4GX6q0nLPx9t5Unu9DrwctpnWmwyAzpLutPL X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODMwMDAxOSBTYWx0ZWRfX06x71+79Q3TJ qoHyjSunX4PxIP+xtjd1vSXXdCZemmm1CN7GTlv3MfTF+VSRoHFiSr0Wde2OkZZnFC0ruicXyRj +Vbs13VeJm4VXWQOyUliKbFD5ZXytUpklsLarS52wVelBNFuwJG1vt9Hc4Jlodd1KMVlFYExF6p 77k2iyNvZx1naEn06m+8YxtyAwa83jkkqDVgQ9u85WvPVsSfQ+oME9/VB6fKMpRy2ge5zkIJOGQ rSCTOP/XiUFQc57iamNSbUNiwDupVW7IzWCSCKKE5xRIozr9wyGJdfA6H/sz1PrKgGWYueVHXmc D8uKcYF7S7VQZlyPkKrK7ULQgBF1dX3YOIbN2xpCzqmyiD/5B51lJDsB/vcn2S0+X+NZnEqq2cp 0jHNKe88 X-Proofpoint-GUID: 3BYqIZgK8esmSnQs61dkgVsvBIZbjVbe X-Proofpoint-ORIG-GUID: 3BYqIZgK8esmSnQs61dkgVsvBIZbjVbe X-Authority-Analysis: v=2.4 cv=PNkP+eqC c=1 sm=1 tr=0 ts=68b81dcc cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=5Zp61nms7guAxvsrN5oA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-03_06,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508300019 With the switch to GPUVM the msm driver no longer supports the no-IOMMU configurations (even without the actual GPU). Return an error in case we face the lack of the IOMMU for an MDP4 device. Fixes: 111fdd2198e6 ("drm/msm: drm_gpuvm conversion") Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.c index 0952c7f18abdca4a7e24e5af8a7132456bfec129..4d1ea9b2619170335ab4d2a2ee4= 6f31e785b2c02 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -463,9 +463,9 @@ static int mdp4_kms_init(struct drm_device *dev) ret =3D PTR_ERR(mmu); goto fail; } else if (!mmu) { - DRM_DEV_INFO(dev->dev, "no iommu, fallback to phys " - "contig buffers for scanout\n"); - vm =3D NULL; + DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n"); + ret =3D -ENODEV; + goto fail; } else { vm =3D msm_gem_vm_create(dev, mmu, "mdp4", 0x1000, 0x100000000 - 0x1000, --=20 2.47.2 From nobody Fri Oct 3 08:53:15 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 38C8D2F3C0A for ; Wed, 3 Sep 2025 10:51:58 +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=1756896721; cv=none; b=PjUwxGzjtuabiR21pfQ0V4YsBtPo2MxDxdd7iuytOE3qnYjBtYJWHcgJgVR0pKR7aTC2FaX5CnyDqbYqE9Wk+HsiPgTM4ikAfQ8Ge68YXT0IMtuhOMKnf1zCWha+yw/iqg6A9bdajtuUwcUAXcDwTm8xzFMuCpvilb+4PaLyPUI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756896721; c=relaxed/simple; bh=VVcVNBxTp77RP3lwxz41p40biwqdBr8Vq4owPjMXldU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZLQ5bqw0aKWRsbvqKOJPTcXZ/eAPihO1UNr4YrKNqjGnXUWg/mgjXfgxyRVP1GvYYLuFdS+aqcZl3RUdfvCbtGxn2isH+6aes4tQcPyGuRifyruTHiacSeW9/YOAI/QjWZsiWIIeTrxDiB6Qm15IPXyFZWesghOPjAI6jwXXiac= 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=CaIZcbKX; 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="CaIZcbKX" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 583AMLdM024031 for ; Wed, 3 Sep 2025 10:51:58 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= W+Fa5j+SX+JfM1Vod9bwyFNqvrYwDkttQ9oWzqXY34U=; b=CaIZcbKXWECiS5OQ MmeFWv6gFsrU3AVys1QT7S+kvuEomX4yJ5AjI+Tc3p+bVFpcNL4T4JA2zcHeNF/E kNorE3Y+kWGNSnDqtq9ena4quKt552GrN5VsM9CJJeBHG2FFJIpHu54dL452NvDh LiCh6jBFbCkcNlOa/sDUo35jRwS+TkMT0Wy5vnlsBMM2IMoP3EKtvHJc6MS1uesB zXF3YTf7U16yKnRjCAO+Xbczldu1IeA4MxALD9PxEpuXUSTu5h3/YDI/nktyJObt MpcvicV7Us+hajupksmw7FhOEcfc/KlKbVoFcWUNBlYpGd29vgDvdCeG+daHJ067 dmEqaw== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48ush33751-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 03 Sep 2025 10:51:58 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-7222232866aso16721586d6.0 for ; Wed, 03 Sep 2025 03:51:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756896717; x=1757501517; 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=W+Fa5j+SX+JfM1Vod9bwyFNqvrYwDkttQ9oWzqXY34U=; b=ClgCFhitSdoV+HtJw79NTL96Jo/sMOEH+zTr/zIrODmdSoq4WhqCFGsw0DeeIuovi+ UMYMcuYny++RJKQ5RnQvrIVjmgXqFRxH+D6vf/pzQBdHXrPYR30dwH26nb49IG4ntiou 3nXvR7jHtPHeKgWSONbK04ua5ItULP+Zx653qGY4UrZHQ+tZSCIiRDnWBoTYuZ+G8KUw bgMY4GV6jhpnrY/mWBWKjcZ8Mz1SecxbR3fmiSHxhzZ8jL4mP7eawxR7qTgyAOQ4wQc1 ov2YqezpDM8tQSYcB2neiIm29pv9IAp99HsjaEFjoFKAKZnhwg/q53iozTEmRAMs3k2x sJLA== X-Forwarded-Encrypted: i=1; AJvYcCVxLVJ7TVkiiAyIjZXAbC/Mi5XiskUuvbRGG13XuU+O6rlQYJJISdPXLXXFHeNmIUYhTF6CmoypxTmQlQ0=@vger.kernel.org X-Gm-Message-State: AOJu0YwsuVA6CVzOtCPvVKGycdvMTSOinj2HaC8TGeA7No/kLgwk8uTN eDTPNYnsc4BZS3nDErwX/RTw3Jwgo1ZspFhmdVURBvLa8ns5URp0exfEWzrEtCKnOTwAC5WjVp6 /JXYZqUbYKL12kVV+2mcx23F85KqIXZiiiU3dRtATmYn++j2EDqloeMR1pQW5XaF+Uuk= X-Gm-Gg: ASbGncv66nSOiUIlMkttmePMvrFzWMQCZO7VW25k6oo2LJ0Xht227VqOXi5n+XDtmgW EN77FUcuzHfDvtY68a8CKeZv0n8s5qw7r11xUVvJgGA8Pyy0zcj3wSbLvEN9vF1KukYV/xmq9lq LKS2vGE0uoEaKry/KL1v6ixmM6je3+RgYV07gIupYOCHmyXbo1Ga7KW6Ia6Sze7C4mHk3DvpQ0d HdYiGwmy3ZIsGEECA9sOX8Pc64H8kbeu64vMlTqStfAoXQxTbvd8kkBK5Ho9DJ2Fb8D8/7saOuT rciMKIZ+zLbNgRG9xjeZm6sDZDN80xQgc1fvUQPJTMImWkQMbzU7USynFGNWMMP1bT3dAvmFRBK UuWDrkFDRsqbfvzR9JE6BCZZA93lpd1Lvuy6H4STmYaNlA+iUR63l X-Received: by 2002:a05:6214:5005:b0:721:93da:1071 with SMTP id 6a1803df08f44-72193da141amr56362756d6.34.1756896716990; Wed, 03 Sep 2025 03:51:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IExVl9GBAf8uXT9a8bpVa29NuOzWFwU6sdfVsGQld/IevSNRhQnIWf4CLWyosX6NvmXF0Tlaw== X-Received: by 2002:a05:6214:5005:b0:721:93da:1071 with SMTP id 6a1803df08f44-72193da141amr56362476d6.34.1756896716456; Wed, 03 Sep 2025 03:51:56 -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 38308e7fff4ca-337f5032df6sm9373431fa.39.2025.09.03.03.51.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Sep 2025 03:51:55 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 03 Sep 2025 13:51:50 +0300 Subject: [PATCH v2 2/4] drm/msm: stop supporting no-IOMMU configuration 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: <20250903-msm-no-iommu-v2-2-993016250104@oss.qualcomm.com> References: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> In-Reply-To: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Antonino Maniscalco , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1138; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=VVcVNBxTp77RP3lwxz41p40biwqdBr8Vq4owPjMXldU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBouB3GdCx4xIfhZaEHEPNvhz+Nhq0FHAFd+JqVM hN82WJGwZeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaLgdxgAKCRCLPIo+Aiko 1QDjB/4zbCpsE9Fapn0XIU3XUXuutlBGlGPfODt0yYr1IF7hO8FNc+gXhAPhbcemMkO4je6iUqb aYGyplYUcCTYuPaGRX3ot14Yksn6QNBF9ljJkoSmhHR9/GGcacndWC7L05c2vqgSE+SRJRfFG2W Zn+JG44gcPcJ7Wh0bCL5tXMjCttXjwY5VR/DN1QesdUuAx8ZMlvqdB/INnQc22yZ+0rJ+usDuIK tu5/Xivh7lZpD6vLk3G5ojERUsV3k8V0Wr4XWfsZrtG2GKtWa7OoG7j1cQ1ZWxSkMfWTgPPot+p GcLUTZOAMGTKDJLemyZzj4bxZC+N37L/0pVsp2wlLN5xVUEe X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODMwMDAzMiBTYWx0ZWRfXyJ4QBFlSIGNG xf+YPgb/EMc/F5OM30SbiWve7QMoaCSYFQt+YyKSBSAUhSfY3c3Vu8PLLlu+zQKMshadv/xPGBL rnQE4Dksl9OlpByumg4mVakOCK1VkzSAYCbkMVct6xHigpFf24QDRI/X6bPdIAf/8D15S8+1LV4 cIOWqj87NzbVEr1osHt69VyHz9e5gQVyxMbV7rJC5SOUccWmAiS1mB4aO9nrkhfgMQwtefUSAqM lU7HzUSQj73VylijcSqMGKBPYBpHqVRZPrlV7j+Lks83n86OwCLlzSNzuJcmB7pWv8wRSlBN435 kh9llLTcmb7OcMLeMAVXAzVWEeKPWX1wWDApH/Dsg79t3/LR/DImJcPdgP32Sxu6Emyh1JgWmc9 Fe/OOukg X-Proofpoint-ORIG-GUID: dP_TXUAsvFhUD8LEp7ETUNrn6CHYd6WX X-Proofpoint-GUID: dP_TXUAsvFhUD8LEp7ETUNrn6CHYd6WX X-Authority-Analysis: v=2.4 cv=M9NNKzws c=1 sm=1 tr=0 ts=68b81dce cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=Y8FF1qk0yU6lqu3lwJcA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-03_06,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 spamscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 suspectscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508300032 With the switch to GPUVM the msm driver no longer supports the no-IOMMU configurations (even without the actual GPU). Return an error in case we face the lack of the IOMMU. Fixes: 111fdd2198e6 ("drm/msm: drm_gpuvm conversion") Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/msm_kms.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_kms.c b/drivers/gpu/drm/msm/msm_kms.c index 56828d218e88a5fa597755c8ea20da781929386c..4c4dcb095c4df97de42d0673aa2= 842010a249dca 100644 --- a/drivers/gpu/drm/msm/msm_kms.c +++ b/drivers/gpu/drm/msm/msm_kms.c @@ -195,14 +195,13 @@ struct drm_gpuvm *msm_kms_init_vm(struct drm_device *= dev) iommu_dev =3D mdp_dev; else iommu_dev =3D mdss_dev; - mmu =3D msm_iommu_disp_new(iommu_dev, 0); if (IS_ERR(mmu)) return ERR_CAST(mmu); =20 if (!mmu) { - drm_info(dev, "no IOMMU, fallback to phys contig buffers for scanout\n"); - return NULL; + drm_info(dev, "no IOMMU, bailing out\n"); + return ERR_PTR(-ENODEV); } =20 vm =3D msm_gem_vm_create(dev, mmu, "mdp_kms", --=20 2.47.2 From nobody Fri Oct 3 08:53:15 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 D72D82F5321 for ; Wed, 3 Sep 2025 10:52: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=1756896723; cv=none; b=OWS0Y7EHInYWGZP59GUPPu+B3cdsAZJmKnLcbrLrkr6E4H4wMjtngcKFtcgSBQuzjkCi38yPDwbGrp/9xaRXzXBc8ayKNg6ndYbDU+dgxN8V33DFUQPOEHDdQ8q0niZj1Dx9Lf2Ormtsc8/2etg0veS/+gciyBLhWKmD3GhcEUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756896723; c=relaxed/simple; bh=XgvG3m5kSIBDKvpU4SYyvFSPfDje3qBYowIpQvtgTjo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jBmaogPgwA+bzO3mpOC+VgjMeC5SAYgVY5dAdlIcf+F9j90vLAFa2q9P2VtfD87dmKv5C8BJ5AuoIOBC/cez4xQ8+xx6ICF7Zwk5VSwSBHeeTjOqnqfTYfXTpOxeJ9fPqgEGQvoQk8juVhdchbDCQI4uNFjtr0QKsBYaCRj4CB0= 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=g4XdVORX; 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="g4XdVORX" 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 583AXM89012933 for ; Wed, 3 Sep 2025 10:52: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= Nz0DTYoq2i1CypDl+WSyYUknuifhStAAoZEZnTeJyVE=; b=g4XdVORXPXalDxYT xHKedkTlqNwsdYuYFkmVtOESx11F2WRIjdrPIYqsd9Cm2XE/WXdHs4L8PcfoDJm+ iM32KMkh6FqEvaWr8ZdLwVdr05u82vzfKT7Og72cfBxpEHWCZKCw4nsF4onHnNJO fLsI5g3wU9LzDntvLmCIegVQGaAKXJxdBhEzNxKSkSeFHIe/7B27+0TGbnaBwX6i RBbOGEGg+8/9dj3/CEDbGkJ3FnXyujyuSr+yOL7LqRHetnYFHbV1J4ZOkyHAhfBg AFrGsKK7fR5/nLpSp0L6vpINOKHUj8QxraUixbWXSm6iBI1xuxw/5tDgS+NDk4gV jU1x3w== 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 48utk9350t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 03 Sep 2025 10:52:01 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4b325446155so69196701cf.1 for ; Wed, 03 Sep 2025 03:52:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756896720; x=1757501520; 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=Nz0DTYoq2i1CypDl+WSyYUknuifhStAAoZEZnTeJyVE=; b=edhmMhG6HWNSjnD/lrqPtLMqp6G7ZFuSCrTXnwMnnLuNmE+b5zVfzu8q77NoQk9YGm D5pvwx2rGsoTEAq0UHyzA9pyxoYFMqvGeS/uKx9CMt/a+OeTQjca+wIhcI9jZqEVzK7s cBgO3vbL+9y4BECd5FXCx+zRT8UfurV3rzbYKwgDl+bECyDS71cVX/moDUV725Kj1fpT GH5Nh99IbVDjfVc8J3O3FKFAklJ+a/I+UDc238U7D8W7Mzz/atsfxVj2UXtBUVIhiepv +2OfweAcghQotr4a+JoJ/pAhBM/SGeOye4KNNdTxm0BxcDcHxZPlqpxqb7hiG5jlonjT mjQQ== X-Forwarded-Encrypted: i=1; AJvYcCU0fgdyIG7mUDNINFp+Wu4RW0YyvWyWsjlzHhEQTWh7BRGFBscUux51lrZwAPoIgcZMxOMUuv/HZiR/F94=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2+fUSTKOAh/ZNkeywn8LAuv1QGxQb7dhnm1cdnnAGzPDr+CCQ b10/8zB8PFuwxhYns2CZAauvLEsWAoRKcy6Z3wdKaK2b7qTE2DtbJmaxLzQfDQXR9WnFLJ6TyoA 9/1wtS72Hsr9AvMzW0VYkbvUfYiC+o5mgeEEc7BpOcymh+iFi9avwtBaXI/UoGnG71sM= X-Gm-Gg: ASbGncvHD5aSNdu8d3mYMnM6gpZ8voCnxCya3vgz9Tb8r7R4Mek0qr7L1it5v9Ol4MT 97jyktiRVYfBS9kn4RZZz0E6hitRYka4ZtjzeNtr9BkcytRYVx7jb6Y3kKwfSd2MAiOYkA0tM1p ZdRpTg73mlewVAc/y3dzzz3DAmfxT3ssVhaE4DXbRztp0BIOwmravdJ7AXgplUt1QGgj0h8S9bW bYo59MG5gJxhjD6FIhwapFaNQgsO/l72NCWtF9jhbUYSJ/gzyaTcQP9NCxofveTX1sIY7Cln3ac GZ4JaEuSMesMNw8Jkd5I5dCDSFuqAWsJrtYetfoizrrZ3hTse6wpmLfSCw10FCNW9yzqus5mxsu KYFIIHLhUJSB4ywT3g8NDci/oSCPztAahLT/zpbE+npw214Mng3Zz X-Received: by 2002:a05:6214:27c1:b0:70d:fa79:badd with SMTP id 6a1803df08f44-70fac700e4dmr162312986d6.1.1756896719410; Wed, 03 Sep 2025 03:51:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IERcNbMyHymKYRYhD2rXGN/580BVDxHjeOBLjwZjYoJp/uEY6W4pidzM5XwJifmWBn/ESGhkw== X-Received: by 2002:a05:6214:27c1:b0:70d:fa79:badd with SMTP id 6a1803df08f44-70fac700e4dmr162312756d6.1.1756896718906; Wed, 03 Sep 2025 03:51:58 -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 38308e7fff4ca-337f5032df6sm9373431fa.39.2025.09.03.03.51.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Sep 2025 03:51:58 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 03 Sep 2025 13:51:51 +0300 Subject: [PATCH v2 3/4] drm/msm: don't return NULL from msm_iommu_new() 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: <20250903-msm-no-iommu-v2-3-993016250104@oss.qualcomm.com> References: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> In-Reply-To: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Antonino Maniscalco , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4554; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=XgvG3m5kSIBDKvpU4SYyvFSPfDje3qBYowIpQvtgTjo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBouB3HK7G1Yelqfd4C1ZDrJRWMaMOxFqX5XwrED QRcuPRwkSKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaLgdxwAKCRCLPIo+Aiko 1a8CB/0Uqt4GrHsw8xZtlnCX9pyJGsEBV8fKm0L56473WWEkh714PrHlEu3qR6UJ3HBqcPeobKN W5pI/lyTMICWIaBakSGJzQ94qY69IH2XeyK3QeM/SR9Kd15yOMg66JzarcObQH0kD3X/4k0nfVL 8HfK2gfSo7MXnNq5RQkWjtbTAvaM+sU8OIqNYNMu4zza/n1SodXUFt+dGkiPos+XIdBmbXBph7S LSmLsxTlZlpV4yYmC2JMR8S/0dpdZuiZT5RjeZcjX95xVPYUqUACts87Ujih4VQeV8K6+xnm/aE EL/m/Z+POW2Ry0x6IXPwgP9s6+4Hw2gC9dA4Zc5X5ogkxQT7 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 3n-4N4sv9BP3_bnIGVY5MaU4WbmSthnh X-Proofpoint-ORIG-GUID: 3n-4N4sv9BP3_bnIGVY5MaU4WbmSthnh X-Authority-Analysis: v=2.4 cv=ccnSrmDM c=1 sm=1 tr=0 ts=68b81dd1 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=jfHkAfN2M7vHvxOhuUUA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODMwMDA0MiBTYWx0ZWRfX2x4YurLWb1yb m7C7WuQ0mkWQNwiPuMnldCWdQP5u2yU31o82/ihARMkjEJqDjfVa9N+xFTY6NNEMbcyJLWOIoys y8NDlpLKh0BfbROAWetw4eQ3tBNHvqmU5YErLc7gvcwzFqh7XKDIzUMKJ531hQR6pm/tB0I+jBV i+u7fzWUS8oCs11ahI63eHobqh6f2d1tddGcmB5HU8XZh5ESfilj1rXxRi/R9LHJsmfTEd3OGI5 AD/IB0Fq5sjqj8AVDJe3MQykFRycj6a1H4rfUuz7dnALpudtwACyoeUGLehPkD/As9D6Z/ryYrv xpyLiut7ZTZb2JfpnFjPZVdISCo65zmRCdTDv238ngwgFxuqQ4isEbv5ZHLrn97vrfVimfz8Nj8 WigygC9/ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-03_06,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 clxscore=1015 suspectscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508300042 As we've dropped no-IOMMU support, there is no reason to specially handle the no-IOMMU case inside msm_iommu_new(). Make it return -ENODEV if there is no IOMMU (instead of returning NULL) and simplify all calling sites accordingly. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 -- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 +--- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 10 ++++++---- drivers/gpu/drm/msm/msm_iommu.c | 6 +++--- drivers/gpu/drm/msm/msm_kms.c | 12 ++++++------ 5 files changed, 16 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gmu.c index 28e6705c6da682c7b41c748e375dda59a6551898..92958c73a5ee605a45314ebbcf2= 136754fe2fae7 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -1318,8 +1318,6 @@ static int a6xx_gmu_memory_probe(struct drm_device *d= rm, struct a6xx_gmu *gmu) struct msm_mmu *mmu; =20 mmu =3D msm_iommu_new(gmu->dev, 0); - if (!mmu) - return -ENODEV; if (IS_ERR(mmu)) return PTR_ERR(mmu); =20 diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index f1230465bf0d0840274a6eb03a10c4df3a7a68d3..21b4951b065ba51b2a4d1bcf63f= 912f220d3a1f0 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -209,9 +209,7 @@ adreno_iommu_create_vm(struct msm_gpu *gpu, u64 start, size; =20 mmu =3D msm_iommu_gpu_new(&pdev->dev, gpu, quirks); - if (!mmu) - return ERR_PTR(-ENODEV); - else if (IS_ERR_OR_NULL(mmu)) + if (IS_ERR(mmu)) return ERR_CAST(mmu); =20 geometry =3D msm_iommu_get_geometry(mmu); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.c index 4d1ea9b2619170335ab4d2a2ee46f31e785b2c02..66bfa96965be275270751cba770= 521cfde2a7004 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -458,14 +458,16 @@ static int mdp4_kms_init(struct drm_device *dev) mdp4_disable(mdp4_kms); mdelay(16); =20 + if (!device_iommu_mapped(&pdev->dev)) { + DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n"); + ret =3D -ENODEV; + goto fail; + } + mmu =3D msm_iommu_new(&pdev->dev, 0); if (IS_ERR(mmu)) { ret =3D PTR_ERR(mmu); goto fail; - } else if (!mmu) { - DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n"); - ret =3D -ENODEV; - goto fail; } else { vm =3D msm_gem_vm_create(dev, mmu, "mdp4", 0x1000, 0x100000000 - 0x1000, diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iomm= u.c index 76cdd5ea06a02eafa6f76e1c3fb03e0cdc7fd469..6b3d840d8d6786e60b0cb6670f6= 2605969db6a9a 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -721,7 +721,7 @@ struct msm_mmu *msm_iommu_new(struct device *dev, unsig= ned long quirks) int ret; =20 if (!device_iommu_mapped(dev)) - return NULL; + return ERR_PTR(-ENODEV); =20 domain =3D iommu_paging_domain_alloc(dev); if (IS_ERR(domain)) @@ -756,7 +756,7 @@ struct msm_mmu *msm_iommu_disp_new(struct device *dev, = unsigned long quirks) struct msm_mmu *mmu; =20 mmu =3D msm_iommu_new(dev, quirks); - if (IS_ERR_OR_NULL(mmu)) + if (IS_ERR(mmu)) return mmu; =20 iommu =3D to_msm_iommu(mmu); @@ -772,7 +772,7 @@ struct msm_mmu *msm_iommu_gpu_new(struct device *dev, s= truct msm_gpu *gpu, unsig struct msm_mmu *mmu; =20 mmu =3D msm_iommu_new(dev, quirks); - if (IS_ERR_OR_NULL(mmu)) + if (IS_ERR(mmu)) return mmu; =20 iommu =3D to_msm_iommu(mmu); diff --git a/drivers/gpu/drm/msm/msm_kms.c b/drivers/gpu/drm/msm/msm_kms.c index 4c4dcb095c4df97de42d0673aa2842010a249dca..725367157d90e45854cb8a22ea2= 5a3fa3bb218be 100644 --- a/drivers/gpu/drm/msm/msm_kms.c +++ b/drivers/gpu/drm/msm/msm_kms.c @@ -193,17 +193,17 @@ struct drm_gpuvm *msm_kms_init_vm(struct drm_device *= dev) */ if (device_iommu_mapped(mdp_dev)) iommu_dev =3D mdp_dev; - else + else if (device_iommu_mapped(mdss_dev)) iommu_dev =3D mdss_dev; - mmu =3D msm_iommu_disp_new(iommu_dev, 0); - if (IS_ERR(mmu)) - return ERR_CAST(mmu); - - if (!mmu) { + else { drm_info(dev, "no IOMMU, bailing out\n"); return ERR_PTR(-ENODEV); } =20 + mmu =3D msm_iommu_disp_new(iommu_dev, 0); + if (IS_ERR(mmu)) + return ERR_CAST(mmu); + vm =3D msm_gem_vm_create(dev, mmu, "mdp_kms", 0x1000, 0x100000000 - 0x1000, true); if (IS_ERR(vm)) { --=20 2.47.2 From nobody Fri Oct 3 08:53:15 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 C744E2F6192 for ; Wed, 3 Sep 2025 10:52:02 +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=1756896724; cv=none; b=WnSMbHvEMTCF/kTneWzgvX9TR5b6yRTFqzKVSu+m4XH116/UF3YpsRVZYseye1McCd3BSrW/Crs4WDFH0bNFKjnfuNLvHzfiJXko7QAORXTYr6th/DHWAmV4tnHDZNbJlW84jzE9I/ErAvb6V+17D3B/2RI0xISW1Uxk8eVe0qE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756896724; c=relaxed/simple; bh=AgKTuTphksgFdjbRBscbGOKdDdsPzucjkQBsXfU1L0U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=biabY5WVL/fazMlf3QK2992uVfOKoT1T6gEGoYD0N2c3wSN8f1iI4iYZNtsDv193MUB02enc8MOqFonv8HHXPUiKoIPmksEKy9W1kiiWyTnP4EyTioURL3RsXo7xOOo2GdCDayXXKoFgdKdx0v9UkOeF9iar+SvaHJbLQWOBRtE= 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=e6U74QPb; 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="e6U74QPb" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 583AWEYg021299 for ; Wed, 3 Sep 2025 10:52:02 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= OwmE1FNHyvfTAhAmN4j1rp824OtCLZj2GOAqHhiwg4A=; b=e6U74QPb/N7zGnP6 s+sxCMTohZzHnMvhKBWCdKwxmvW/SDpeKZGnK4VO5JfFiIfQa2YleN9/hqDoPtLl 0B5SsETXDzYGzN+nSMmC53mJWDK9AEh7a6PCezm6mNT+ix3zDu5NFRROVuYEBsTY 0DO2KD7bsPiLae0KI7Kq02d+Hnxn41JX5BZUJ+dCVaW9JTI4MO3duHeD3k3FADnY JkoMZ7/uiI9aYBApmN8aG9N32PUuLx7W2Y2/xX0sw4JQ5z2x/Sq/yCk75TvSQFXv Tv+Bvh9MlvzzLdqYt9JFuK5Ek7UtX0zXywJG/xz1TvRaKa/z1DsmLNO/B1SWBqvn CMlyBQ== 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 48ur8s3dxj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Wed, 03 Sep 2025 10:52:02 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7e870623cdaso1181043185a.2 for ; Wed, 03 Sep 2025 03:52:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756896721; x=1757501521; 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=OwmE1FNHyvfTAhAmN4j1rp824OtCLZj2GOAqHhiwg4A=; b=b+j1OID2fiJWiQkx3bQubS828dvDtEyc9TvKWpCQrkNNOZNqEU13iuKJP3srOGeox6 Y+GL3KaloDg7KxQ55ZfUWxu5+FvOsf7NBoaDsPRuR/OteDNLhlYsTE3X5+aukm2AJWAU LAeK2Mm08KkHt+PyAJ/QaoHfMfYkgPq4VE2heZTnLcvdNjJ6g8bTEQS9qinaT8SOKLU/ CRo4j9zt/vcbulepUwC2l1dpLdAGg5lLE0eagFpcXAbP0RtK1rhvBmYYL74ai6VYgQ96 QwyV5zHW+N4sfE1eQdpJebdQLdVZNeB5+//6urr4wON187gTUtyFx6ELLjpaMUg4ukCf gp+A== X-Forwarded-Encrypted: i=1; AJvYcCWuxnIO1U06eswufU14KPLJMBQgPcaiOmsytBUKQmGVHy1YWAXIc7r4bwia83VJvYCsWx82lnHSn7U8rQQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwMq8VPkdN5B4EDayn7LqFe+mlOWmTsyTlGGb5R7BcLVQpMWlfh 30nVS0JxlVh59IRvZaVz7aimcBn8Gye3hQRLMB7skweTQNWa92EV1aurZAy92qzXrepRfLoMAC/ bPOmqnss35EqYr9HooTw07uMNhojGWU5/QhthrifYaDNXyO7wkMQzM/E1iuwQJqOWaMo= X-Gm-Gg: ASbGncsTOaqB9t+UtOG0rGNyJObQNpz6DfYa9KqVtaPU4aaf/8hKcBfrXjSRTUzZCJe 6QPdTOGtXHp7L41o5UxSa3zu5GdfkNp2lV2TdZYD81aeYM/Ot5cmdd8oCmXsYv4ZEio/nhqt/cg sKb1fKaKfNdFzcHSwp4ljLiBGvwRQu0vADa/LVrctM3y0izge/yE23BGyflaN8HM/2nMfPixVqi NOpiC579NoGyX6jR92AQqZp5nK+5kNSMb8p6uRXa+nSyCxVwFv13ulD+j5oW6xPwCzIEvWd6Qbq fPu7FusKs22R0mVUczpT68lE3LiUF+BbWdzqAHiACmcByNqFL7J/qMdswx6gBhTUNgnVvNSvnw5 Uyuz7wffw2CAKGif0kaRIOoPdpIu7mUZyTIS00qZmgb4NSUmj+Na+ X-Received: by 2002:a05:6214:1245:b0:704:f7d8:7030 with SMTP id 6a1803df08f44-70fac8e562fmr189976646d6.50.1756896720621; Wed, 03 Sep 2025 03:52:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFz3YLnuQheLnctM3oOo4lxrx9NLlPPW3v2YzHyl9FZ5QeuhI/S48AL9YBg7OeJCK0FwoFezQ== X-Received: by 2002:a05:6214:1245:b0:704:f7d8:7030 with SMTP id 6a1803df08f44-70fac8e562fmr189976356d6.50.1756896720171; Wed, 03 Sep 2025 03:52:00 -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 38308e7fff4ca-337f5032df6sm9373431fa.39.2025.09.03.03.51.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Sep 2025 03:51:59 -0700 (PDT) From: Dmitry Baryshkov Date: Wed, 03 Sep 2025 13:51:52 +0300 Subject: [PATCH v2 4/4] drm/msm/mdp4: use msm_kms_init_vm() instead of duplicating it 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: <20250903-msm-no-iommu-v2-4-993016250104@oss.qualcomm.com> References: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> In-Reply-To: <20250903-msm-no-iommu-v2-0-993016250104@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Antonino Maniscalco , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5112; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=AgKTuTphksgFdjbRBscbGOKdDdsPzucjkQBsXfU1L0U=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBouB3Hyns3bJmUAeJWzCRLgAN6ruv2VcZVu6b1W St6rwyfI9mJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaLgdxwAKCRCLPIo+Aiko 1ZmICACBatdifNHq+RNnmtvLJqxuWiOBZ0gmol+G/G31x1B9tK7hwPbFI/ZneQuj9aQuFtTQt68 r+Is4bOuwuS53H25Zj9SIWKWFbUgwvg23l117x+Se9C8FYpg/Vi8y9aYRzMYNfrHamGQcqxH8Qp XMyRMpe2S9c+V1fRmxXb/4wlAceycYENzRnheqQu8mqxmDPDxA5Y85trDxynmALGTXpvoAOtSRf GCPGbkOUUM4fDSbNtVJW1sH21f5S1BELVF4oVChcnBrV1etTzBO82HkD5YpzdmNrOC3WDe6akkH wp6m+DF960c+UGTRu5NK+u5kbu09PuQjrEtaBqJPKMBNoGPU X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODMwMDAxOSBTYWx0ZWRfX3DKMhLv6K8Cm tUy9gNaM9vOghSq3wBdoXLvFC9eOImy83tWnKLQWuWFw8tAksxhZNg9xNFAVNVzeBAxTtQyQSjS TtuKIVwm/ND1vjKdaZ8KuVEaxEZmdwYckdiLwm7S6v9MoLFeXo0VybT0cWcaJEKg2K7EICO1c8P LK4HDwpGC9GLq2rvvgar2GiVGM3qsMm9WbMrQh3mF3kjmZENxXkbtR8S4zKwVcwo7BN3zejHNpy LEjrAeu/hSMm6pLtYg2RY8SY9c54k6i8pMEdGUbrx5VpPFq1vP2LFzt6o2Wv8EDVMk1JP1qntav 6yg9E8K16bHHvKswX3SyKrwlchBMiHEGhDUwch9Vm575YxhZGLj0m1ho3WwdbtyLXv7hgjovCck S1qXB+sS X-Proofpoint-GUID: 3B3l3Xv_mtqgKN7m8cuhrj2QU3YsfpYd X-Proofpoint-ORIG-GUID: 3B3l3Xv_mtqgKN7m8cuhrj2QU3YsfpYd X-Authority-Analysis: v=2.4 cv=PNkP+eqC c=1 sm=1 tr=0 ts=68b81dd2 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=gwGsY3v9svKR4hS8clgA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-03_06,2025-08-28_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508300019 Use the msm_kms_init_vm() function to allocate memory manager instead of hand-coding a copy of it. Although MDP4 platforms don't have MDSS device, it's still safe to use the function as all MDP4 devices have IOMMU and the parent of the MDP4 is the root SoC device. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 27 ++++----------------------- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 2 +- drivers/gpu/drm/msm/msm_drv.h | 2 +- drivers/gpu/drm/msm/msm_kms.c | 5 ++--- 5 files changed, 9 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/= disp/dpu1/dpu_kms.c index a306077647c317af9345eeff13082230906b5767..4e5a8ecd31f7570beb45fd1629a= 131e70aaefea8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -1110,7 +1110,7 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms) { struct drm_gpuvm *vm; =20 - vm =3D msm_kms_init_vm(dpu_kms->dev); + vm =3D msm_kms_init_vm(dpu_kms->dev, dpu_kms->dev->dev->parent); if (IS_ERR(vm)) return PTR_ERR(vm); =20 diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.c index 66bfa96965be275270751cba770521cfde2a7004..1d2a1e4f6ce7d02516b9497a494= bb1e46297f55a 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -391,11 +391,9 @@ static void read_mdp_hw_revision(struct mdp4_kms *mdp4= _kms, =20 static int mdp4_kms_init(struct drm_device *dev) { - struct platform_device *pdev =3D to_platform_device(dev->dev); struct msm_drm_private *priv =3D dev->dev_private; struct mdp4_kms *mdp4_kms =3D to_mdp4_kms(to_mdp_kms(priv->kms)); struct msm_kms *kms =3D NULL; - struct msm_mmu *mmu; struct drm_gpuvm *vm; int ret; u32 major, minor; @@ -458,30 +456,13 @@ static int mdp4_kms_init(struct drm_device *dev) mdp4_disable(mdp4_kms); mdelay(16); =20 - if (!device_iommu_mapped(&pdev->dev)) { - DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n"); - ret =3D -ENODEV; + vm =3D msm_kms_init_vm(mdp4_kms->dev, NULL); + if (IS_ERR(vm)) { + ret =3D PTR_ERR(vm); goto fail; } =20 - mmu =3D msm_iommu_new(&pdev->dev, 0); - if (IS_ERR(mmu)) { - ret =3D PTR_ERR(mmu); - goto fail; - } else { - vm =3D msm_gem_vm_create(dev, mmu, "mdp4", - 0x1000, 0x100000000 - 0x1000, - true); - - if (IS_ERR(vm)) { - if (!IS_ERR(mmu)) - mmu->funcs->destroy(mmu); - ret =3D PTR_ERR(vm); - goto fail; - } - - kms->vm =3D vm; - } + kms->vm =3D vm; =20 ret =3D modeset_init(mdp4_kms); if (ret) { diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm= /disp/mdp5/mdp5_kms.c index 5b6ca8dd929e1870b7228af93da03886524f5f20..61edf6864092664afe474cc8d1f= d097ca495ebb8 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c @@ -534,7 +534,7 @@ static int mdp5_kms_init(struct drm_device *dev) } mdelay(16); =20 - vm =3D msm_kms_init_vm(mdp5_kms->dev); + vm =3D msm_kms_init_vm(mdp5_kms->dev, pdev->dev.parent); if (IS_ERR(vm)) { ret =3D PTR_ERR(vm); goto fail; diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index 9875ca62e9adb12dca9bcc74e2825b0364372a54..f4c20dc91cc600d8ab72bce002c= be6b9fdf9a720 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -229,7 +229,7 @@ void msm_crtc_disable_vblank(struct drm_crtc *crtc); int msm_register_mmu(struct drm_device *dev, struct msm_mmu *mmu); void msm_unregister_mmu(struct drm_device *dev, struct msm_mmu *mmu); =20 -struct drm_gpuvm *msm_kms_init_vm(struct drm_device *dev); +struct drm_gpuvm *msm_kms_init_vm(struct drm_device *dev, struct device *m= dss_dev); bool msm_use_mmu(struct drm_device *dev); =20 int msm_ioctl_gem_submit(struct drm_device *dev, void *data, diff --git a/drivers/gpu/drm/msm/msm_kms.c b/drivers/gpu/drm/msm/msm_kms.c index 725367157d90e45854cb8a22ea25a3fa3bb218be..6e5e94f5c9a7474d014e73b0b7b= d06a94939ed1e 100644 --- a/drivers/gpu/drm/msm/msm_kms.c +++ b/drivers/gpu/drm/msm/msm_kms.c @@ -177,12 +177,11 @@ static int msm_kms_fault_handler(void *arg, unsigned = long iova, int flags, void return -ENOSYS; } =20 -struct drm_gpuvm *msm_kms_init_vm(struct drm_device *dev) +struct drm_gpuvm *msm_kms_init_vm(struct drm_device *dev, struct device *m= dss_dev) { struct drm_gpuvm *vm; struct msm_mmu *mmu; struct device *mdp_dev =3D dev->dev; - struct device *mdss_dev =3D mdp_dev->parent; struct msm_drm_private *priv =3D dev->dev_private; struct msm_kms *kms =3D priv->kms; struct device *iommu_dev; @@ -193,7 +192,7 @@ struct drm_gpuvm *msm_kms_init_vm(struct drm_device *de= v) */ if (device_iommu_mapped(mdp_dev)) iommu_dev =3D mdp_dev; - else if (device_iommu_mapped(mdss_dev)) + else if (mdss_dev && device_iommu_mapped(mdss_dev)) iommu_dev =3D mdss_dev; else { drm_info(dev, "no IOMMU, bailing out\n"); --=20 2.47.2