Le 02/03/2018 à 10:56, Philippe Bergheaud a écrit :
P9 supports PCI tunneled operations (atomics and as_notify). This
patch adds support for tunneled operations on powernv, with a new
API, to be called by device drivers:

pnv_pci_enable_tunnel()
    Enable tunnel operations, tell driver the 16-bit ASN indication
    used by kernel.

pnv_pci_disable_tunnel()
    Disable tunnel operations.

pnv_pci_set_tunnel_bar()
    Tell kernel the Tunnel BAR Response address used by driver.
    This function uses two new OPAL calls, as the PBCQ Tunnel BAR
    register is configured by skiboot.

pnv_pci_get_as_notify_info()
    Return the ASN info of the thread to be woken up.

Signed-off-by: Philippe Bergheaud <fe...@linux.vnet.ibm.com>
Reviewed-by: Frederic Barrat <fbar...@linux.vnet.ibm.com>
---
Changelog:

v2: Do not set the ASN indication. Get it from the device tree.

v3: Make pnv_pci_get_phb_node() available when compiling without cxl.

v4: Add pnv_pci_get_as_notify_info().
     Rebase opal call numbers on skiboot 5.9.6.

v5: pnv_pci_get_tunnel_ind():
       - fix node reference count
     pnv_pci_get_as_notify_info():
       - fail if task == NULL
       - read pid from mm->context.id
       - explain that thread.tidr require CONFIG_PPC64

v6: pnv_pci_get_tunnel_ind():
       - check if radix is enabled, or else return an error
     pnv_pci_get_as_notify_info():
       - remove a capi-specific comment, irrelevant for pci

v7: pnv_pci_set_tunnel_bar():
       - setting the tunnel bar more than once with the same value
         is not an error

v8: No change

v9: Rename pnv_pci_get_tunnel_ind() into pnv_pci_enable_tunnel():
       - Increase real window size to accept as_notify messages.
     New api pnv_pci_disable_tunnel():
       - Restore real window size to its default value.
     Adjust opal call numbers.

v10: Adjust opal call numbers to their final values.
---

Reviewed-by: Christophe Lombard <clomb...@linux.vnet.ibm.com>

Reply via email to