• Alexey Kardashevskiy's avatar
    powerpc/powernv/npu: Move OPAL calls away from context manipulation · 0e759bd7
    Alexey Kardashevskiy authored
    When introduced, the NPU context init/destroy helpers called OPAL which
    enabled/disabled PID (a userspace memory context ID) filtering in an NPU
    per a GPU; this was a requirement for P9 DD1.0. However newer chip
    revision added a PID wildcard support so there is no more need to
    call OPAL every time a new context is initialized. Also, since the PID
    wildcard support was added, skiboot does not clear wildcard entries
    in the NPU so these remain in the hardware till the system reboot.
    
    This moves LPID and wildcard programming to the PE setup code which
    executes once during the booting process so NPU2 context init/destroy
    won't need to do additional configuration.
    
    This replaces the check for FW_FEATURE_OPAL with a check for npu!=NULL as
    this is the way to tell if the NPU support is present and configured.
    
    This moves pnv_npu2_init() declaration as pseries should be able to use it.
    This keeps pnv_npu2_map_lpar() in powernv as pseries is not allowed to
    call that. This exports pnv_npu2_map_lpar_dev() as following patches
    will use it from the VFIO driver.
    
    While at it, replace redundant list_for_each_entry_safe() with
    a simpler list_for_each_entry().
    Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    0e759bd7
pci-ioda.c 108 KB