Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Apr 2016 10:36:50 +0000 (UTC)
From:      Zbigniew Bodek <zbb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r297664 - head/sys/arm64/arm64
Message-ID:  <201604071036.u37Aaoud033970@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: zbb
Date: Thu Apr  7 10:36:50 2016
New Revision: 297664
URL: https://svnweb.freebsd.org/changeset/base/297664

Log:
  Fix interrupts delivery on ThunderX for VF IDs beyond 8
  
  SR-IOV devices usually use Alternative Routing ID (ARI).
  In that case slot/device is always assumed to be 0 and
  function/identifier is extended to 8 bits.
  
  Fix interrupts delivery to VF IDs beyond 8 by using a correct
  DevID if ARI is enabled.
  
  Reviewed by:   jhb, wma
  Obtained from: Semihalf
  Sponsored by:  Cavium
  Differential Revision: https://reviews.freebsd.org/D5855

Modified:
  head/sys/arm64/arm64/gic_v3_its.c

Modified: head/sys/arm64/arm64/gic_v3_its.c
==============================================================================
--- head/sys/arm64/arm64/gic_v3_its.c	Thu Apr  7 09:34:41 2016	(r297663)
+++ head/sys/arm64/arm64/gic_v3_its.c	Thu Apr  7 10:36:50 2016	(r297664)
@@ -1579,9 +1579,7 @@ its_get_devid_thunder(device_t pci_dev)
 	uint32_t bus;
 
 	bus = pci_get_bus(pci_dev);
-
-	bsf = PCI_RID(pci_get_bus(pci_dev), pci_get_slot(pci_dev),
-	    pci_get_function(pci_dev));
+	bsf = pci_get_rid(pci_dev);
 
 	/* Check if accessing internal PCIe (low bus numbers) */
 	if (bus < GIC_V3_ITS_QUIRK_THUNDERX_PEM_BUS_OFFSET) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604071036.u37Aaoud033970>