• Ian Munsie's avatar
    cxl: Workaround PE=0 hardware limitation in Mellanox CX4 · f67a6722
    Ian Munsie authored
    The CX4 card cannot cope with a context with PE=0 due to a hardware
    limitation, resulting in:
    
    [   34.166577] command failed, status limits exceeded(0x8), syndrome 0x5a7939
    [   34.166580] mlx5_core 0000:01:00.1: Failed allocating uar, aborting
    
    Since the kernel API allocates a default context very early during
    device init that will almost certainly get Process Element ID 0 there is
    no easy way for us to extend the API to allow the Mellanox to inform us
    of this limitation ahead of time.
    
    Instead, work around the issue by extending the XSL structure to include
    a minimum PE to allocate. Although the bug is not in the XSL, it is the
    easiest place to work around this limitation given that the CX4 is
    currently the only card that uses an XSL.
    Signed-off-by: default avatarIan Munsie <imunsie@au1.ibm.com>
    Reviewed-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
    Reviewed-by: default avatarFrederic Barrat <fbarrat@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    f67a6722
context.c 8.04 KB