Commit bb8d7ef6 authored by Ikjoon Jang's avatar Ikjoon Jang Committed by Greg Kroah-Hartman
Browse files

usb: xhci-mtk: remove unnecessary assignments in periodic TT scheduler



Remove unnecessary variables in check_sch_bw().
No functional changes, just for better readability.

Signed-off-by: default avatarIkjoon Jang <ikjn@chromium.org>
Signed-off-by: default avatarChunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210507021127.54717-3-chunfeng.yun@mediatek.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e56e60f7
Loading
Loading
Loading
Loading
+14 −23
Original line number Diff line number Diff line
@@ -476,6 +476,9 @@ static int check_sch_tt(struct mu3h_sch_ep_info *sch_ep, u32 offset)
	u32 start_cs, last_cs;
	int i;

	if (!sch_ep->sch_tt)
		return 0;

	start_ss = offset % 8;

	if (sch_ep->ep_type == ISOC_OUT_EP) {
@@ -603,54 +606,42 @@ static u32 get_esit_boundary(struct mu3h_sch_ep_info *sch_ep)
static int check_sch_bw(struct mu3h_sch_bw_info *sch_bw,
			struct mu3h_sch_ep_info *sch_ep)
{
	const u32 esit_boundary = get_esit_boundary(sch_ep);
	const u32 bw_boundary = get_bw_boundary(sch_ep->speed);
	u32 offset;
	u32 min_bw;
	u32 min_index;
	u32 worst_bw;
	u32 bw_boundary;
	u32 esit_boundary;
	u32 min_num_budget;
	u32 min_cs_count;
	u32 min_bw = ~0;
	int min_index = -1;
	int ret = 0;

	/*
	 * Search through all possible schedule microframes.
	 * and find a microframe where its worst bandwidth is minimum.
	 */
	min_bw = ~0;
	min_index = 0;
	min_cs_count = sch_ep->cs_count;
	min_num_budget = sch_ep->num_budget_microframes;
	esit_boundary = get_esit_boundary(sch_ep);
	for (offset = 0; offset < sch_ep->esit; offset++) {
		if (sch_ep->sch_tt) {
		ret = check_sch_tt(sch_ep, offset);
		if (ret)
			continue;
		}

		if ((offset + sch_ep->num_budget_microframes) > esit_boundary)
			break;

		worst_bw = get_max_bw(sch_bw, sch_ep, offset);
		if (worst_bw > bw_boundary)
			continue;

		if (min_bw > worst_bw) {
			min_bw = worst_bw;
			min_index = offset;
			min_cs_count = sch_ep->cs_count;
			min_num_budget = sch_ep->num_budget_microframes;
		}
		if (min_bw == 0)
			break;
	}

	bw_boundary = get_bw_boundary(sch_ep->speed);
	/* check bandwidth */
	if (min_bw > bw_boundary)
	if (min_index < 0)
		return ret ? ret : -ESCH_BW_OVERFLOW;

	sch_ep->offset = min_index;
	sch_ep->cs_count = min_cs_count;
	sch_ep->num_budget_microframes = min_num_budget;

	return load_ep_bw(sch_bw, sch_ep, true);
}