All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Rob Herring <robh+dt@kernel.org>,
	Mathias Nyman <mathias.nyman@intel.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	<linux-usb@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 08/11] usb: xhci-mtk: update fs bus bandwidth by bw_budget_table
Date: Fri, 30 Jul 2021 16:49:59 +0800	[thread overview]
Message-ID: <1627635002-24521-8-git-send-email-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <1627635002-24521-1-git-send-email-chunfeng.yun@mediatek.com>

Use @bw_budget_table[] to update fs bus bandwidth due to
not all microframes consume @bw_cost_per_microframe, see
setup_sch_info().

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/usb/host/xhci-mtk-sch.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index 0bb1a6295d64..10c0f0f6461f 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -458,8 +458,8 @@ static int check_fs_bus_bw(struct mu3h_sch_ep_info *sch_ep, int offset)
 		 * Compared with hs bus, no matter what ep type,
 		 * the hub will always delay one uframe to send data
 		 */
-		for (j = 0; j < sch_ep->cs_count; j++) {
-			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_cost_per_microframe;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++) {
+			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_budget_table[j];
 			if (tmp > FS_PAYLOAD_MAX)
 				return -ESCH_BW_OVERFLOW;
 		}
@@ -534,21 +534,18 @@ static void update_sch_tt(struct mu3h_sch_ep_info *sch_ep, bool used)
 {
 	struct mu3h_sch_tt *tt = sch_ep->sch_tt;
 	u32 base, num_esit;
-	int bw_updated;
 	int i, j;
 
 	num_esit = XHCI_MTK_MAX_ESIT / sch_ep->esit;
 
-	if (used)
-		bw_updated = sch_ep->bw_cost_per_microframe;
-	else
-		bw_updated = -sch_ep->bw_cost_per_microframe;
-
 	for (i = 0; i < num_esit; i++) {
 		base = sch_ep->offset + i * sch_ep->esit;
 
-		for (j = 0; j < sch_ep->cs_count; j++)
-			tt->fs_bus_bw[base + j] += bw_updated;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++)
+			if (used)
+				tt->fs_bus_bw[base + j] += sch_ep->bw_budget_table[j];
+			else
+				tt->fs_bus_bw[base + j] -= sch_ep->bw_budget_table[j];
 	}
 
 	if (used)
-- 
2.18.0


WARNING: multiple messages have this Message-ID (diff)
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Rob Herring <robh+dt@kernel.org>,
	Mathias Nyman <mathias.nyman@intel.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	<linux-usb@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 08/11] usb: xhci-mtk: update fs bus bandwidth by bw_budget_table
Date: Fri, 30 Jul 2021 16:49:59 +0800	[thread overview]
Message-ID: <1627635002-24521-8-git-send-email-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <1627635002-24521-1-git-send-email-chunfeng.yun@mediatek.com>

Use @bw_budget_table[] to update fs bus bandwidth due to
not all microframes consume @bw_cost_per_microframe, see
setup_sch_info().

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/usb/host/xhci-mtk-sch.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index 0bb1a6295d64..10c0f0f6461f 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -458,8 +458,8 @@ static int check_fs_bus_bw(struct mu3h_sch_ep_info *sch_ep, int offset)
 		 * Compared with hs bus, no matter what ep type,
 		 * the hub will always delay one uframe to send data
 		 */
-		for (j = 0; j < sch_ep->cs_count; j++) {
-			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_cost_per_microframe;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++) {
+			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_budget_table[j];
 			if (tmp > FS_PAYLOAD_MAX)
 				return -ESCH_BW_OVERFLOW;
 		}
@@ -534,21 +534,18 @@ static void update_sch_tt(struct mu3h_sch_ep_info *sch_ep, bool used)
 {
 	struct mu3h_sch_tt *tt = sch_ep->sch_tt;
 	u32 base, num_esit;
-	int bw_updated;
 	int i, j;
 
 	num_esit = XHCI_MTK_MAX_ESIT / sch_ep->esit;
 
-	if (used)
-		bw_updated = sch_ep->bw_cost_per_microframe;
-	else
-		bw_updated = -sch_ep->bw_cost_per_microframe;
-
 	for (i = 0; i < num_esit; i++) {
 		base = sch_ep->offset + i * sch_ep->esit;
 
-		for (j = 0; j < sch_ep->cs_count; j++)
-			tt->fs_bus_bw[base + j] += bw_updated;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++)
+			if (used)
+				tt->fs_bus_bw[base + j] += sch_ep->bw_budget_table[j];
+			else
+				tt->fs_bus_bw[base + j] -= sch_ep->bw_budget_table[j];
 	}
 
 	if (used)
-- 
2.18.0
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
To: Rob Herring <robh+dt@kernel.org>,
	Mathias Nyman <mathias.nyman@intel.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	<linux-usb@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Eddie Hung <eddie.hung@mediatek.com>
Subject: [PATCH 08/11] usb: xhci-mtk: update fs bus bandwidth by bw_budget_table
Date: Fri, 30 Jul 2021 16:49:59 +0800	[thread overview]
Message-ID: <1627635002-24521-8-git-send-email-chunfeng.yun@mediatek.com> (raw)
In-Reply-To: <1627635002-24521-1-git-send-email-chunfeng.yun@mediatek.com>

Use @bw_budget_table[] to update fs bus bandwidth due to
not all microframes consume @bw_cost_per_microframe, see
setup_sch_info().

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/usb/host/xhci-mtk-sch.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index 0bb1a6295d64..10c0f0f6461f 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -458,8 +458,8 @@ static int check_fs_bus_bw(struct mu3h_sch_ep_info *sch_ep, int offset)
 		 * Compared with hs bus, no matter what ep type,
 		 * the hub will always delay one uframe to send data
 		 */
-		for (j = 0; j < sch_ep->cs_count; j++) {
-			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_cost_per_microframe;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++) {
+			tmp = tt->fs_bus_bw[base + j] + sch_ep->bw_budget_table[j];
 			if (tmp > FS_PAYLOAD_MAX)
 				return -ESCH_BW_OVERFLOW;
 		}
@@ -534,21 +534,18 @@ static void update_sch_tt(struct mu3h_sch_ep_info *sch_ep, bool used)
 {
 	struct mu3h_sch_tt *tt = sch_ep->sch_tt;
 	u32 base, num_esit;
-	int bw_updated;
 	int i, j;
 
 	num_esit = XHCI_MTK_MAX_ESIT / sch_ep->esit;
 
-	if (used)
-		bw_updated = sch_ep->bw_cost_per_microframe;
-	else
-		bw_updated = -sch_ep->bw_cost_per_microframe;
-
 	for (i = 0; i < num_esit; i++) {
 		base = sch_ep->offset + i * sch_ep->esit;
 
-		for (j = 0; j < sch_ep->cs_count; j++)
-			tt->fs_bus_bw[base + j] += bw_updated;
+		for (j = 0; j < sch_ep->num_budget_microframes; j++)
+			if (used)
+				tt->fs_bus_bw[base + j] += sch_ep->bw_budget_table[j];
+			else
+				tt->fs_bus_bw[base + j] -= sch_ep->bw_budget_table[j];
 	}
 
 	if (used)
-- 
2.18.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-07-30  8:51 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-30  8:49 [PATCH 01/11] dt-bindings: usb: mtk-xhci: add support property 'tpl-support' Chunfeng Yun
2021-07-30  8:49 ` Chunfeng Yun
2021-07-30  8:49 ` Chunfeng Yun
2021-07-30  8:49 ` [PATCH 02/11] dt-bindings: usb: mtk-xhci: add optional property to disable usb2 ports Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-08-06 20:41   ` Rob Herring
2021-08-06 20:41     ` Rob Herring
2021-08-06 20:41     ` Rob Herring
2021-08-11  8:12     ` Chunfeng Yun (云春峰)
2021-07-30  8:49 ` [PATCH 03/11] dt-bindings: usb: mtk-xhci: add compatible for mt8195 Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-08-06 20:43   ` Rob Herring
2021-08-06 20:43     ` Rob Herring
2021-08-06 20:43     ` Rob Herring
2021-08-11  8:02     ` Chunfeng Yun (云春峰)
2021-08-18 14:20       ` Rob Herring
2021-08-18 14:20         ` Rob Herring
2021-08-18 14:20         ` Rob Herring
2021-08-19 11:36         ` Chunfeng Yun (云春峰)
2021-07-30  8:49 ` [PATCH 04/11] usb: xhci-mtk: fix use-after-free of mtk->hcd Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-08-13  5:26   ` Ikjoon Jang
2021-08-13  5:26     ` Ikjoon Jang
2021-08-13  5:26     ` Ikjoon Jang
2021-07-30  8:49 ` [PATCH 05/11] usb: xhci-mtk: add support 'tpl-support' Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49 ` [PATCH 06/11] usb: xhci-mtk: support option to disable usb2 ports Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49 ` [PATCH 07/11] usb: xhci-mtk: fix issue of out-of-bounds array access Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-07-30  8:49 ` Chunfeng Yun [this message]
2021-07-30  8:49   ` [PATCH 08/11] usb: xhci-mtk: update fs bus bandwidth by bw_budget_table Chunfeng Yun
2021-07-30  8:49   ` Chunfeng Yun
2021-08-03  6:05   ` Ikjoon Jang
2021-08-03  6:05     ` Ikjoon Jang
2021-08-03  6:05     ` Ikjoon Jang
2021-08-04  5:19     ` Chunfeng Yun
2021-08-04  5:19       ` Chunfeng Yun
2021-08-04  5:19       ` Chunfeng Yun
2021-08-04 14:06       ` Ikjoon Jang
2021-08-04 14:06         ` Ikjoon Jang
2021-08-04 14:06         ` Ikjoon Jang
2021-08-10  1:45         ` Chunfeng Yun (云春峰)
2021-07-30  8:50 ` [PATCH 09/11] usb: xhci-mtk: check boundary before check tt Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-08-09  7:32   ` Ikjoon Jang
2021-08-09  7:32     ` Ikjoon Jang
2021-08-09  7:32     ` Ikjoon Jang
2021-08-11  8:18     ` Chunfeng Yun (云春峰)
2021-07-30  8:50 ` [PATCH 10/11] usb: xhci-mtk: add a member of num_esit Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-07-30  8:50 ` [PATCH 11/11] usb: xhci-mtk: modify the SOF/ITP interval for mt8195 Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-07-30  8:50   ` Chunfeng Yun
2021-08-06 20:37 ` [PATCH 01/11] dt-bindings: usb: mtk-xhci: add support property 'tpl-support' Rob Herring
2021-08-06 20:37   ` Rob Herring
2021-08-06 20:37   ` Rob Herring
2021-08-11  7:54   ` Chunfeng Yun (云春峰)
2021-08-12  2:28   ` Chunfeng Yun (云春峰)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1627635002-24521-8-git-send-email-chunfeng.yun@mediatek.com \
    --to=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=eddie.hung@mediatek.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.