From patchwork Wed Feb 10 16:13:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Derrick X-Patchwork-Id: 12081125 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4747C433E0 for ; Wed, 10 Feb 2021 16:14:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9713A64E77 for ; Wed, 10 Feb 2021 16:14:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232014AbhBJQOJ (ORCPT ); Wed, 10 Feb 2021 11:14:09 -0500 Received: from mga04.intel.com ([192.55.52.120]:47934 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231868AbhBJQOI (ORCPT ); Wed, 10 Feb 2021 11:14:08 -0500 IronPort-SDR: brOpo4J7Sz4XGvwe7MtUNv2Or/tCFepqrAajPx+CIz4NnrZIgFjUV7f+t5PuCD5rVkGYRLGFD5 mCvwVFoUN7cQ== X-IronPort-AV: E=McAfee;i="6000,8403,9891"; a="179543641" X-IronPort-AV: E=Sophos;i="5.81,168,1610438400"; d="scan'208";a="179543641" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2021 08:13:26 -0800 IronPort-SDR: /xiRUGXUeGLG1htggB11SM/yhLjN57OHzbzANld9rmCFnmfriA8pYZshYsZdZlrHoHdgGJmXyF OSJned8nDOdQ== X-IronPort-AV: E=Sophos;i="5.81,168,1610438400"; d="scan'208";a="380191372" Received: from mjyalung-mobl.amr.corp.intel.com (HELO jderrick-mobl.amr.corp.intel.com) ([10.209.178.245]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2021 08:13:25 -0800 From: Jon Derrick To: , Cc: Bjorn Helgaas , Lorenzo Pieralisi , Lu Baolu , Joerg Roedel , Nirmal Patel , Kapil Karkra , Krzysztof Wilczynski , Jon Derrick Subject: [PATCH v4 0/2] VMD MSI Remapping Bypass Date: Wed, 10 Feb 2021 09:13:13 -0700 Message-Id: <20210210161315.316097-1-jonathan.derrick@intel.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org The Intel Volume Management Device acts similar to a PCI-to-PCI bridge in that it changes downstream devices' requester-ids to its own. As VMD supports PCIe devices, it has its own MSI-X table and transmits child device MSI-X by remapping child device MSI-X and handling like a demultiplexer. Some newer VMD devices (Icelake Server) have an option to bypass the VMD MSI-X remapping table. This allows for better performance scaling as the child device MSI-X won't be limited by VMD's MSI-X count and IRQ handler. V3->V4: Integrated wording suggestions; no functional changes V2->V3: Trivial comment fixes Added acks V1->V2: Updated for 5.12-next Moved IRQ allocation and remapping enable/disable to a more logical location V1 patches 1-4 were already merged V1, 5/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-6-jonathan.derrick@intel.com/ V1, 6/6: https://patchwork.kernel.org/project/linux-pci/patch/20200728194945.14126-7-jonathan.derrick@intel.com/ Jon Derrick (2): iommu/vt-d: Use Real PCI DMA device for IRTE PCI: vmd: Disable MSI-X remapping when possible drivers/iommu/intel/irq_remapping.c | 3 +- drivers/pci/controller/vmd.c | 63 +++++++++++++++++++++++------ 2 files changed, 53 insertions(+), 13 deletions(-)