GP_PASSED
wait_event(rsp->gp_wait, READ_ONCE(rsp->gp_state) >= GP_PASSED);
if (rsp->gp_state == GP_PASSED) {
WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED);
WARN_ON_ONCE(READ_ONCE(rsp->gp_state) == GP_PASSED);
WRITE_ONCE(rsp->gp_state, GP_PASSED);