Lines Matching refs:sd_dp

352 	struct sdebug_defer *sd_dp;  member
4924 static void sdebug_q_cmd_complete(struct sdebug_defer *sd_dp) in sdebug_q_cmd_complete() argument
4926 bool aborted = sd_dp->aborted; in sdebug_q_cmd_complete()
4936 sd_dp->aborted = false; in sdebug_q_cmd_complete()
4937 qc_idx = sd_dp->qc_idx; in sdebug_q_cmd_complete()
4938 sqp = sdebug_q_arr + sd_dp->sqa_idx; in sdebug_q_cmd_complete()
4941 if (raw_smp_processor_id() != sd_dp->issuing_cpu) in sdebug_q_cmd_complete()
4949 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_NONE); in sdebug_q_cmd_complete()
4955 sd_dp->sqa_idx, qc_idx, sd_dp->hc_idx); in sdebug_q_cmd_complete()
5000 struct sdebug_defer *sd_dp = container_of(timer, struct sdebug_defer, in sdebug_q_cmd_hrt_complete() local
5002 sdebug_q_cmd_complete(sd_dp); in sdebug_q_cmd_hrt_complete()
5009 struct sdebug_defer *sd_dp = container_of(work, struct sdebug_defer, in sdebug_q_cmd_wq_complete() local
5011 sdebug_q_cmd_complete(sd_dp); in sdebug_q_cmd_wq_complete()
5250 static void stop_qc_helper(struct sdebug_defer *sd_dp, in stop_qc_helper() argument
5253 if (!sd_dp) in stop_qc_helper()
5256 hrtimer_cancel(&sd_dp->hrt); in stop_qc_helper()
5258 cancel_work_sync(&sd_dp->ew.work); in stop_qc_helper()
5271 struct sdebug_defer *sd_dp; in stop_queued_cmnd() local
5290 sd_dp = sqcp->sd_dp; in stop_queued_cmnd()
5291 if (sd_dp) { in stop_queued_cmnd()
5292 l_defer_t = READ_ONCE(sd_dp->defer_t); in stop_queued_cmnd()
5293 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_NONE); in stop_queued_cmnd()
5297 stop_qc_helper(sd_dp, l_defer_t); in stop_queued_cmnd()
5316 struct sdebug_defer *sd_dp; in stop_all_queued() local
5330 sd_dp = sqcp->sd_dp; in stop_all_queued()
5331 if (sd_dp) { in stop_all_queued()
5332 l_defer_t = READ_ONCE(sd_dp->defer_t); in stop_all_queued()
5333 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_NONE); in stop_all_queued()
5337 stop_qc_helper(sd_dp, l_defer_t); in stop_all_queued()
5356 kfree(sqcp->sd_dp); in free_all_queued()
5357 sqcp->sd_dp = NULL; in free_all_queued()
5602 struct sdebug_defer *sd_dp; in schedule_resp() local
5656 sd_dp = sqcp->sd_dp; in schedule_resp()
5659 if (!sd_dp) { in schedule_resp()
5660 sd_dp = kzalloc(sizeof(*sd_dp), GFP_ATOMIC); in schedule_resp()
5661 if (!sd_dp) { in schedule_resp()
5673 sd_dp->hc_idx = get_tag(cmnd); in schedule_resp()
5726 kfree(sd_dp); in schedule_resp()
5736 sd_dp->cmpl_ts = ktime_add(ns_to_ktime(ns_from_boot), kt); in schedule_resp()
5738 if (!sd_dp->init_poll) { in schedule_resp()
5739 sd_dp->init_poll = true; in schedule_resp()
5740 sqcp->sd_dp = sd_dp; in schedule_resp()
5741 sd_dp->sqa_idx = sqp - sdebug_q_arr; in schedule_resp()
5742 sd_dp->qc_idx = k; in schedule_resp()
5744 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_POLL); in schedule_resp()
5747 if (!sd_dp->init_hrt) { in schedule_resp()
5748 sd_dp->init_hrt = true; in schedule_resp()
5749 sqcp->sd_dp = sd_dp; in schedule_resp()
5750 hrtimer_init(&sd_dp->hrt, CLOCK_MONOTONIC, in schedule_resp()
5752 sd_dp->hrt.function = sdebug_q_cmd_hrt_complete; in schedule_resp()
5753 sd_dp->sqa_idx = sqp - sdebug_q_arr; in schedule_resp()
5754 sd_dp->qc_idx = k; in schedule_resp()
5756 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_HRT); in schedule_resp()
5758 hrtimer_start(&sd_dp->hrt, kt, HRTIMER_MODE_REL_PINNED); in schedule_resp()
5761 sd_dp->issuing_cpu = raw_smp_processor_id(); in schedule_resp()
5765 sd_dp->aborted = true; in schedule_resp()
5767 sd_dp->cmpl_ts = ns_to_ktime(ns_from_boot); in schedule_resp()
5769 if (!sd_dp->init_poll) { in schedule_resp()
5770 sd_dp->init_poll = true; in schedule_resp()
5771 sqcp->sd_dp = sd_dp; in schedule_resp()
5772 sd_dp->sqa_idx = sqp - sdebug_q_arr; in schedule_resp()
5773 sd_dp->qc_idx = k; in schedule_resp()
5775 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_POLL); in schedule_resp()
5778 if (!sd_dp->init_wq) { in schedule_resp()
5779 sd_dp->init_wq = true; in schedule_resp()
5780 sqcp->sd_dp = sd_dp; in schedule_resp()
5781 sd_dp->sqa_idx = sqp - sdebug_q_arr; in schedule_resp()
5782 sd_dp->qc_idx = k; in schedule_resp()
5783 INIT_WORK(&sd_dp->ew.work, sdebug_q_cmd_wq_complete); in schedule_resp()
5785 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_WQ); in schedule_resp()
5786 schedule_work(&sd_dp->ew.work); in schedule_resp()
5789 sd_dp->issuing_cpu = raw_smp_processor_id(); in schedule_resp()
5790 if (unlikely(sd_dp->aborted)) { in schedule_resp()
5795 sd_dp->aborted = false; in schedule_resp()
7529 struct sdebug_defer *sd_dp; in sdebug_blk_mq_poll() local
7551 sd_dp = sqcp->sd_dp; in sdebug_blk_mq_poll()
7552 if (unlikely(!sd_dp)) in sdebug_blk_mq_poll()
7560 if (READ_ONCE(sd_dp->defer_t) == SDEB_DEFER_POLL) { in sdebug_blk_mq_poll()
7561 if (kt_from_boot < sd_dp->cmpl_ts) in sdebug_blk_mq_poll()
7594 WRITE_ONCE(sd_dp->defer_t, SDEB_DEFER_NONE); in sdebug_blk_mq_poll()