From patchwork Mon Dec 12 07:42:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: You-Sheng Yang X-Patchwork-Id: 1714828 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NVtrn06rqz23np for ; Mon, 12 Dec 2022 18:42:49 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1p4dSU-0002Ai-O2; Mon, 12 Dec 2022 07:42:42 +0000 Received: from mail-pl1-f173.google.com ([209.85.214.173]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1p4dSR-00028s-LY for kernel-team@lists.ubuntu.com; Mon, 12 Dec 2022 07:42:39 +0000 Received: by mail-pl1-f173.google.com with SMTP id 4so5247230plj.3 for ; Sun, 11 Dec 2022 23:42:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mIELx4n7+tgvC8iukSQhxfzkabjYne5vVzGhtMhrnTI=; b=NYD+d4qV0SVT2FhBtqYo9NOPJrLckOwOt7chCFaY0470B4tfDaSnvvFQrESuPnjWVD nRFX4A/6ZI/DN0lh399BxXKSy5S/GTXva2U40/ITMbDf8/kc+qLRsr3A+jMMBedSgZ+Q 5PXZouf3ib4zGyNSJFNVdTnujaNGJ/q4bbYnO88Q6GHXnRf/oHSPqlYN4G4afcM0NgFD kNi/YldCpzTDfvKHFSv6aKyKpmSAzQnGYwNtG1qRtHhBTxDXs+D22XtCdt0BlfDBWY80 uaEUj/voriayIGAlXRi0/Fvqy29fTFdXImvZfB9Rfz/OgqAkJZHljPWaSvURTcolSlpU HNwQ== X-Gm-Message-State: ANoB5pnd0iX1dnMPrNzqO/sF/nMz8u8R1jQhC/d+trTEtWWWuJ280bOi WFRdSO96+NHEwpbHOPr3VY8ZLDnCdxs= X-Google-Smtp-Source: AA0mqf7AQb1LyF8mYT+cWVMGY0oIn//td1UH0S3NEtnb4+CSSkEYoATXq0ETuLA6d2mHsuTgU5Sj3w== X-Received: by 2002:a17:902:a406:b0:18f:a5fa:ca21 with SMTP id p6-20020a170902a40600b0018fa5faca21mr591440plq.43.1670830957346; Sun, 11 Dec 2022 23:42:37 -0800 (PST) Received: from yewun.. (61-227-116-5.dynamic-ip.hinet.net. [61.227.116.5]) by smtp.gmail.com with ESMTPSA id q10-20020a170902daca00b00186b7443082sm5571338plx.195.2022.12.11.23.42.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Dec 2022 23:42:36 -0800 (PST) From: You-Sheng Yang To: kernel-team@lists.ubuntu.com Subject: [PATCH 1/1][SRU][OEM-6.1] UBUNTU: SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs on Raptor Lake Date: Mon, 12 Dec 2022 15:42:31 +0800 Message-Id: <20221212074231.3151958-2-vicamo.yang@canonical.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20221212074231.3151958-1-vicamo.yang@canonical.com> References: <20221212074231.3151958-1-vicamo.yang@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.214.173; envelope-from=vicamo@gmail.com; helo=mail-pl1-f173.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: zouxiaoh BugLink: https://bugs.launchpad.net/bugs/1989041 Intel IPU(Image Processing Unit) has its own (IO)MMU hardware, The IPU driver allocates its own page table that is not mapped via the DMA, and thus the Intel IOMMU driver blocks access giving this error: DMAR: DRHD: handling fault status reg 3 DMAR: [DMA Read] Request device [00:05.0] PASID ffffffff fault addr 76406000 [fault reason 06] PTE Read access is not set As IPU is not an external facing device which is not risky, so use IOMMU passthrough mode for Intel IPUs. (backported from https://github.com/intel/ipu6-drivers/blob/89c6b99e4bec00a04b53f37cd8c3c01ce824a4ab/patch/IOMMU-passthrough-for-intel-ipu.diff) Signed-off-by: You-Sheng Yang --- drivers/iommu/intel/iommu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c index 5894a2ad638f..b602fd5084cd 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -38,7 +38,8 @@ #define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB) #define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA) #define IS_INTEL_IPU(pdev) ((pdev)->vendor == PCI_VENDOR_ID_INTEL && \ - ((pdev)->device == 0x9a19 || \ + ((pdev)->device == 0xa75d || \ + (pdev)->device == 0x9a19 || \ (pdev)->device == 0x9a39 || \ (pdev)->device == 0x4e19 || \ (pdev)->device == 0x465d || \