summaryrefslogtreecommitdiff
path: root/arch/sparc/kernel/pci_sun4v_asm.S
diff options
context:
space:
mode:
authorTushar Dave <tushar.n.dave@oracle.com>2016-10-28 10:12:43 -0700
committerDavid S. Miller <davem@davemloft.net>2016-11-18 11:16:59 -0800
commit5116ab4eabed575b7cca61a6e89b7d6fb7440970 (patch)
treecaa1c853c629845f71228a52899013b7c474497f /arch/sparc/kernel/pci_sun4v_asm.S
parent31f077dc7dffd4a444932a9fe7fe84d9c7b90b73 (diff)
sparc64: Bind PCIe devices to use IOMMU v2 service
In order to use Hypervisor (HV) IOMMU v2 API for map/demap, each PCIe device has to be bound to IOTSB using HV API pci_iotsb_bind(). Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com> Reviewed-by: chris hyser <chris.hyser@oracle.com> Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/pci_sun4v_asm.S')
-rw-r--r--arch/sparc/kernel/pci_sun4v_asm.S14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/sparc/kernel/pci_sun4v_asm.S b/arch/sparc/kernel/pci_sun4v_asm.S
index fd94d0e4a41d..22024a96c317 100644
--- a/arch/sparc/kernel/pci_sun4v_asm.S
+++ b/arch/sparc/kernel/pci_sun4v_asm.S
@@ -378,3 +378,17 @@ ENTRY(pci_sun4v_iotsb_conf)
retl
stx %o1, [%g1]
ENDPROC(pci_sun4v_iotsb_conf)
+
+ /*
+ * %o0: devhandle
+ * %o1: iotsb_num/iotsb_handle
+ * %o2: pci_device
+ *
+ * returns %o0: status
+ */
+ENTRY(pci_sun4v_iotsb_bind)
+ mov HV_FAST_PCI_IOTSB_BIND, %o5
+ ta HV_FAST_TRAP
+ retl
+ nop
+ENDPROC(pci_sun4v_iotsb_bind)