Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3551702pxb; Mon, 9 Nov 2020 14:25:46 -0800 (PST) X-Google-Smtp-Source: ABdhPJzK0FIci941EvqgGf18hoDYLUmIoOBirPebFOvVfbjNWvBiEtGpvr6BRq4IfEaTNjN7UsJ6 X-Received: by 2002:a50:fe98:: with SMTP id d24mr17356151edt.223.1604960746412; Mon, 09 Nov 2020 14:25:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604960746; cv=none; d=google.com; s=arc-20160816; b=KetNeZ0xdYHQ2w5Ii2h5L76ifE7D01EEQzgqKx3oNPD7mQJ5StExdBRTzOtuQggUSk K22aa/RR2hihLW1F9FFEKu0CXCLv4kgkHVUrYCu7XS7zV4E+03/odXpiUtG2kISSMIrw GQH0Csm8SUZWoDE5e5y6Am5jtgjTFxj1ivwW8LT7bYpD1akHRJP2K3mKp8h5sFtZACb8 uS2CqsxrA4U/sv0Ev8nIq3r/hGZGNengkYx1XDuVWTdqhsiYncnJFZgDcAh7cME+G+61 AcQneE4GHM3DDFsizuthwn+BSM0mwrYtpSJbIMcVuLrly0xWwzmkypOOCxt3JmdtPjxf T3zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dmarc-filter:sender :dkim-signature; bh=h4kLvDOrgWdJbJRz3YUB6R5KJh03EMAS6v5CqdFVeFw=; b=0QZFPylslRSkGORt2X1ADXxu7lpHnER2OVY5dw4QNkXJ0iWqfEJWC8vpFY9n6B2zY7 9aiypMCAqSroAQ1oaxPDuH2B2uipqkvGsNefqQZOoEXYygfkYn/S54kiK8W8xDDKHvCz JHEUDW9DWHfVwqxTIaT7DNavIfPh1o+SDNLTJ99KmT6pKB4ku5uz1RKiwvPPxez6bkLd vV1bmAkaTOzDfq19ser+K1mdZT+zTR+76PIhAl3ygn74zK+oDFvZ1NlZTswlfpWPcGL1 gTP/sZCqnkfxHkvcvTjRQF2l0VqK2/OiGcPC030zJ39aJN4otGkMMtRtkhSWXCnvOkvO wcZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b="Q/lvwV7M"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hr12si2107554ejc.562.2020.11.09.14.25.23; Mon, 09 Nov 2020 14:25:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b="Q/lvwV7M"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731337AbgKIWXg (ORCPT + 99 others); Mon, 9 Nov 2020 17:23:36 -0500 Received: from m42-4.mailgun.net ([69.72.42.4]:15807 "EHLO m42-4.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730087AbgKIWXf (ORCPT ); Mon, 9 Nov 2020 17:23:35 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1604960614; h=Content-Transfer-Encoding: MIME-Version: Message-Id: Date: Subject: Cc: To: From: Sender; bh=h4kLvDOrgWdJbJRz3YUB6R5KJh03EMAS6v5CqdFVeFw=; b=Q/lvwV7Mjvyj1WRkLalkXv9DJgFeWHgmLvhTg9mtFA4060SyvTqeYiondR/H96Jo+WN7V7NQ eCuYrpdX9kEZms2c2PukT3IO+R5aFDorYjMGp3HeN4z35nuW+9ybugLg6T81jTbx7EWceEtu Gf2mgNsiEUVHqRg3Jxr3xyzaIWQ= X-Mailgun-Sending-Ip: 69.72.42.4 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n04.prod.us-east-1.postgun.com with SMTP id 5fa9c16102f4ee38017b815f (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Mon, 09 Nov 2020 22:23:29 GMT Sender: jcrouse=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 3D9FBC433B2; Mon, 9 Nov 2020 22:23:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00,SPF_FAIL autolearn=no autolearn_force=no version=3.4.0 Received: from jordan-laptop.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jcrouse) by smtp.codeaurora.org (Postfix) with ESMTPSA id 255EBC433C6; Mon, 9 Nov 2020 22:23:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 255EBC433C6 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=jcrouse@codeaurora.org From: Jordan Crouse To: linux-arm-msm@vger.kernel.org Cc: Robin Murphy , Will Deacon , iommu@lists.linux-foundation.org, Bjorn Andersson , Daniel Vetter , David Airlie , Emil Velikov , Eric Anholt , Greg Kroah-Hartman , "Gustavo A. R. Silva" , Joerg Roedel , Jonathan Marek , Krishna Reddy , Rob Clark , Rob Clark , Sai Prakash Ranjan , Sam Ravnborg , Sean Paul , Sharat Masetty , dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH v1 0/3] iommu/arm-smmu: adreno-smmu page fault handling Date: Mon, 9 Nov 2020 15:23:16 -0700 Message-Id: <20201109222319.2630557-1-jcrouse@codeaurora.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an RFC to add an Adreno GPU specific handler for pagefaults. The first patch starts by wiring up report_iommu_fault for arm-smmu. The next patch adds a adreno-smmu-priv function hook to capture a handful of important debugging registers such as TTBR0, CONTEXTIDR, FSYNR0 and others. This is used by the third patch to print more detailed information on page fault such as the TTBR0 for the pagetable that caused the fault and the source of the fault as determined by a combination of the FSYNR1 register and an internal GPU register. This code provides a solid base that we can expand on later for even more extensive GPU side page fault debugging capabilities. Jordan Crouse (3): iommu/arm-smmu: Add support for driver IOMMU fault handlers drm/msm: Add an adreno-smmu-priv callback to get pagefault info drm/msm: Improve the a6xx page fault handler drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 4 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 76 +++++++++++++++++++++- drivers/gpu/drm/msm/msm_iommu.c | 11 +++- drivers/gpu/drm/msm/msm_mmu.h | 4 +- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 19 ++++++ drivers/iommu/arm/arm-smmu/arm-smmu.c | 16 ++++- drivers/iommu/arm/arm-smmu/arm-smmu.h | 2 + include/linux/adreno-smmu-priv.h | 31 ++++++++- 8 files changed, 151 insertions(+), 12 deletions(-) -- 2.25.1