• farah kassabri's avatar
    accel/habanalabs: add pcie reset prepare/done hooks · f64fa332
    farah kassabri authored
    When working on a bare-metal system, if FLR will happen the firmware
    will handle it and driver will have no knowledge of it, and this will
    cause two issues:
    
    1.The driver will be in operational state while it should be in reset.
      This will cause the heartbeat mechanism to keep sending messages to FW
      while pci device is in reset. Eventually heartbeat will fail and
      the device will end up in non-operational state.
    
    2. After FW handles the FLR, and due to the reset it'll go back to
       preboot stage, and driver need to perform hard reset in order to
       load the boot fit binary.
    
    This patch will add reset_prepare hook that will set the device to
    be in disabled state, so it'll be not operational, and also
    reset_done hook which will be called after the actual FLR handling,
    then it will perform hard reset.
    Signed-off-by: default avatarfarah kassabri <fkassabri@habana.ai>
    Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
    Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
    f64fa332
habanalabs_drv.c 17.9 KB