Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753130AbcD2JFU (ORCPT ); Fri, 29 Apr 2016 05:05:20 -0400 Received: from e23smtp08.au.ibm.com ([202.81.31.141]:37980 "EHLO e23smtp08.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752738AbcD2JFR (ORCPT ); Fri, 29 Apr 2016 05:05:17 -0400 X-IBM-Helo: d23dlp03.au.ibm.com X-IBM-MailFrom: aik@ozlabs.ru X-IBM-RcptTo: kvm@vger.kernel.org;linux-kernel@vger.kernel.org From: Alexey Kardashevskiy To: linuxppc-dev@lists.ozlabs.org Cc: Alexey Kardashevskiy , Alex Williamson , Alistair Popple , Benjamin Herrenschmidt , Dan Carpenter , Daniel Axtens , David Gibson , Gavin Shan , Russell Currey , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH kernel v4 00/11] powerpc/powernv/npu: Enable PCI pass through for NVLink Date: Fri, 29 Apr 2016 18:55:13 +1000 Message-Id: <1461920124-21719-1-git-send-email-aik@ozlabs.ru> X-Mailer: git-send-email 2.5.0.rc3 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16042909-0029-0000-0000-0000457CB934 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1899 Lines: 48 IBM POWER8 NVlink systems contain usual Tesla K40-ish GPUs but also contain a couple of really fast links between GPU and CPU. These links are exposed to the userspace by the OPAL firmware as bridges. In order to make these links work when GPU is passed to the guest, these bridges need to be passed as well; otherwise performance will degrade. More details are in 11/11. This reworks the existing NPU support in the powernv platform and adds VFIO support on top of that. v4 has new patch "powerpc/powernv/npu: Add set/unset window" and bunch of cleanups. "vfio_pci: Test for extended capabilities if config space > 256 bytes" is included here if anyone decides to test the patchset which will crash without it. This was tested on POWER8NVL platform; pvr=0x004c0100. Please comment. Thanks. Alex, I guess we will need your "acked-by" for "vfio/spapr: Relax the IOMMU compatibility check" to proceed. Alexey Kardashevskiy (11): vfio_pci: Test for extended capabilities if config space > 256 bytes vfio/spapr: Relax the IOMMU compatibility check powerpc/powernv: Rename pnv_pci_ioda2_tce_invalidate_entire powerpc/powernv: Define TCE Kill flags powerpc/powernv/npu: TCE Kill helpers cleanup powerpc/powernv/npu: Use the correct IOMMU page size powerpc/powernv/npu: Simplify DMA setup powerpc/powernv/ioda2: Export debug helper pe_level_printk() powerpc/powernv/npu: Add set/unset window helpers powerpc/powernv/npu: Rework TCE Kill handling powerpc/powernv/npu: Enable NVLink pass through arch/powerpc/platforms/powernv/npu-dma.c | 287 ++++++++++++++++-------------- arch/powerpc/platforms/powernv/pci-ioda.c | 224 +++++++++++++++-------- arch/powerpc/platforms/powernv/pci.h | 31 ++-- drivers/vfio/pci/vfio_pci_config.c | 17 +- drivers/vfio/vfio_iommu_spapr_tce.c | 3 +- 5 files changed, 327 insertions(+), 235 deletions(-) -- 2.5.0.rc3