From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AG47ELvrzAl25c50iiCQ/uC2qqMXeVyd85a5bov4NsAzW4LpeeB4MetKuRWoi65dGslLc5pIcgzv ARC-Seal: i=1; a=rsa-sha256; t=1520340947; cv=none; d=google.com; s=arc-20160816; b=h6V6+9+08x0BFz5cDIAKl5ahEF2ONs2wuaptKbZj57QoBV4YcelnXZPSN3uc3xbjvb hq/TXeFJiZ0SQNUVkjKa7bvhuUJAx27jUOBWA3EY6xveurOFHUnsPGlIHrwgBPTlLqom sCvi3S2xVvsrRsNlHvQtLbpyV+zjntGnkGVewcJ15ZKsQ5EJfBB8iRItRvw6NevWij7E oUfSvq9jsdNyfETfUxtsXXV6JsatjBo8/myeaKWLE8EfMMZSyfLpNd+iaYTjQKKlIE/8 aDeAycet8CmzxFQcICadl3PvRUEYZrBIOxcdlc9Hj2zXCMNCwtXijkwkhQGpLKAwiHmE MtFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=spamdiagnosticmetadata:spamdiagnosticoutput:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=1hp2N17dfmAwEVYn/+n1iuMaXZ1souaCNtuDdSZARBs=; b=e2m0uGHUerVk+OeaEKbjGW8YvPUmOjH0xIvM537qfhF4wRBwz9lH4JmNd76kF7jAhy vVwFdSMUptydkrgyXzdU2nU3qNxCRvpkTVYNSBiylUB/d2JZpoch3yPIx1+NC8X6QIXV 7FoLViwXFSBJ1xLJcQ6xIOA0am59vk2d+B9zLFyT7XwnrgnmUj4NKG3uAuCJ9ZoYFAG5 DA0ZYO3MiIp8PFqnkPRZxtXlG0ha0jBgscOJ6X5LYZA5QEgtUvM8llNdf32i6okLsdos zSQKxA6Mugv8sZTSbjK23ALMhfxyTX2QCfEYksUC9z/r3hL4nHdCG3CncA9b8qTc2zAf 8R6Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ran.wang_1@nxp.com designates 104.47.33.58 as permitted sender) smtp.mailfrom=ran.wang_1@nxp.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Authentication-Results: mx.google.com; spf=pass (google.com: domain of ran.wang_1@nxp.com designates 104.47.33.58 as permitted sender) smtp.mailfrom=ran.wang_1@nxp.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; linuxfoundation.org; dkim=none (message not signed) header.d=none;linuxfoundation.org; dmarc=fail action=none header.from=nxp.com; From: Ran Wang To: Felipe Balbi , Shawn Guo , Greg Kroah-Hartman , Rob Herring , Mark Rutland , Russell King , Catalin Marinas , Will Deacon , Li Yang CC: , , , , Subject: [PATCH v5 2/3] USB3/DWC3: Add property "snps,incr-burst-type-adjustment" for INCR burst type Date: Tue, 6 Mar 2018 16:59:10 +0800 Message-ID: <20180306085911.5930-2-ran.wang_1@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180306085911.5930-1-ran.wang_1@nxp.com> References: <20180306085911.5930-1-ran.wang_1@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131648145445349885;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:CAL;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(396003)(376002)(39380400002)(39860400002)(346002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(26005)(104016004)(107886003)(6666003)(5660300001)(2950100002)(50466002)(305945005)(48376002)(6636002)(1076002)(356003)(2906002)(106466001)(105606002)(36756003)(4326008)(53936002)(498600001)(16586007)(85426001)(8676002)(575784001)(336012)(68736007)(81156014)(81166006)(77096007)(54906003)(316002)(110136005)(59450400001)(86362001)(76176011)(8936002)(97736004)(50226002)(47776003)(26826003)(51416003)(142933001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB1199;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD026;1:yqudH+279vmH/r9yWWUHnGuFV29cmfix5ZuPtIAJah3TwDaSMMfvuzusj4E88+RdxBfQa73sTlJkLnlWsfRVpQOr6YIp+13yXJso6Jz379EOVpXgVGvS8+LWZi58GmEB MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c317e404-f4ba-4f28-273b-08d58361930e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(5600026)(4604075)(2017052603328);SRVR:DM2PR0301MB1199; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1199;3:oS4FZ6kCizSCF35FsgmUiTPws8vZyXtN/Ijve4rMuXrL+sltehG3mF6+Om5qU3gRVWqK5uATMjak2nbzhRdJl4TvsL+6lpXUTXt5QB5IXH7gcHxWWUbBcczJFA7jAbAijiN+rBWpTLyMljyftS8OGAO/stxiUKhoLAYcyTBOfhKUR9EXRjpTLnAvVzK6QcgncnClIUL1dBAaOCrTBnrLC3VNlhKf9BYXbgQGcTzrPGTOizKCgvsvbwRh+EEpbDEoLoExgjJ/Oo5bijuJ9L4MDUHnsQxlMacQeJR0ZTJLcUyAZiL1Kf8Bk02Y1vDQf1WPZU9MF4XnKHy0iZciXLYY0a4NzyoKdKBy8Huy7zLp3C4=;25:zsbkzus1ljTkf34n6XnN24Jd2tSnfTWtGFYj+vMYPts3/HFsfnmn5oC+4yCdGPK0LvypSiEzgScTWL/CyxjwgAnDQnPm0Z8gnyKsGtJrydb+HZii1cTrShwZmgmrvT/ZYleAr3WuAhkF4q588mCuK9t5WTLLO9lxL6aO75KwVbvhDz5NDWEONSeNRdnhINJYR77nW3nX+8RQHt2mvF6MVoKeeNUOShxfFaJ8PTpwv5duOcvrGCBDc+X9adznMOPuiUdX4EDUfEGme1w8fyfwUmTuEyCHPG18FMTKvZdZVA+e7RipwQKRwbYY/cLBNjF6FXSYmgGM/9HbRtOPZIkOHQ== X-MS-TrafficTypeDiagnostic: DM2PR0301MB1199: X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1199;31:/hXnChwyhz0ar8qnPa8ZNoxVOKeZvgYF+c7tR0jiQqhj8RXNu6T5o/XqDtKFZX/aJbHuGkujeZW34fDHoAUZ731x36a+s0sXtYeNJUtQrGlzk/g2YWl+C27wfqvhVlOKoVQmU8fxsGRckQw1X7Twm/z0rywjs2onQRtjDZzRV2FyoFpC51n/aOjIClOZ2c/X7z3ZzEB3uNKozqAiiI7rGB8ppJquMUb6Voti2MLbl5Q=;4:9l07FQDsQ7tBsM7oahRJYpccGs8byrkRJoS9vCauPybIJGgIxRv/6oR8NYn557toniQrBJBWOD2sZM4ju74XbV2C8QE8WWUgXp03Kulj9OCCoDjsRXM7D3gYKHbFJA0F2Bc/2rWVZL+FPWpMkJvhVs4GBCv6pYLSyMhe/ot+sD6ZJ7CAjSphpdXII4YpA2G6Cbz7wVy7QqvFbBtsMJd/LcLiXYugZleB3LPSL92FI2VpawNmDRhCdxc12VS14wX/1YjIO86naFa0k+OQ1oQcnsBkfdPO3TEybOnFO/VclmDoTlfrPt0tq2B24A0UL3H1 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(8121501046)(5005006)(3002001)(3231220)(944501244)(52105095)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123561025)(20161123565025)(20161123556025)(20161123563025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(201708071742011);SRVR:DM2PR0301MB1199;BCL:0;PCL:0;RULEID:(400006);SRVR:DM2PR0301MB1199; X-Forefront-PRVS: 06036BD506 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB1199;23:81iblcfONnKLncTNkP8AwSjExyYqVetBXBlLjfi?= =?us-ascii?Q?g2jPbtwzzSLjW24y0eaoMWy9y5p0IXrruRLSrYTpQVzoKKQOXsl5zkNqlfLh?= =?us-ascii?Q?fNNMkpae/QEBPFq8HNoeL/W6/U8YaeIDOfYAftz7+7S7HISuXufnjL2zTnkK?= =?us-ascii?Q?k4U5rMelq4YeocYxA+FtzQvhE5p5RbN4J66xawMrk8MSCxudcoKM1VgPCsRa?= =?us-ascii?Q?duM9P9ebvVzc1X11kAtK9WtTr6qeeV+YI5Bv3EZBPFAmtUJXML5V3cm6669k?= =?us-ascii?Q?o1gO4sF078Z/2ZN6Qj+O771SS5zLXShdy916WWEtUdnlPn4E2obwv4GD7VE0?= =?us-ascii?Q?3abD4EGR05kvlUJ3qd6cHK0OgAVx/UQQNaZfW4qHlQPUYSH9DX2wpgJEUDNe?= =?us-ascii?Q?pVsBIs9MkKZlAhAEHPbFNhcLwTkLo4DRCVXINiOtwGs+UEwmBM05gfkNDaAw?= =?us-ascii?Q?6ealRlF2GcYb/JxV4jlMB7ijJJ1fsmMk7zawAh0c/gqANkAMc4t4AFm+EwMj?= =?us-ascii?Q?pN18QAHL1R+i4uL8MsMuKnGs5/Mo6AOkcA44Hqy4md4LZ5Y6UZVgSbh0v3sT?= =?us-ascii?Q?XPJYOUm/AsLmxmErla11+A+9GagjpSerOIE4INaH1biXqMTx0qhA5W4dkOMB?= =?us-ascii?Q?VAdH9X9HKvPyr1rEEsorp332b5hFUsqs8WITMDe1MEdTdzDPXaEclrlU/lQ1?= =?us-ascii?Q?KViPcDmjRhVZ+c+Z0yV/ifRenU5hhLL4FPP9uZVoVo+Ij+VX83wZ4uW2KFUO?= =?us-ascii?Q?ZNjJ0J9UvhP10DPNcSo+htcdO/n1nhMWQoLPqXapMjQYKjrXz5myNMWW8dup?= =?us-ascii?Q?99rfAX4SXB8veZztgjFiOS91Q70x+gRbQnKRqJctjT8XbQLLcvS41SlaXs/H?= =?us-ascii?Q?4ykSSZuoYa846V5nF+RTGtltx/XKvv8J6hu0rEraklIALotLLEejFYzEvc9u?= =?us-ascii?Q?FeIWFjYfgmR1Qbp2lT6cFvzVElk4TeM3Rnid5K1ErnrgVGPb5Z7JF5UvSWWF?= =?us-ascii?Q?LtOA7pPFN3HVyu8dBEm9XMUx5TWgAaJJy02tdebAixNWFuvJz9/vjV42mFSd?= =?us-ascii?Q?5Ym+oUxpAhvzkD7zY0rHsbVD/slMtD5hhnuKfQcyp6i6foZbxnxMvRUoRfdG?= =?us-ascii?Q?G5nkvu8HorU+MlPUIoQBpsO3l8L+No+JKLhS3tQrpr+Jp9D06dDiy/fhXK72?= =?us-ascii?Q?Ku8zdFQYyItpx9gjG/PCEBpI9Ue9ebXQNs8VL?= X-Microsoft-Antispam-Message-Info: +Ofmm1bznVsy0dJGc08vNDCyR1C5mS2Zj9e4/5Qp2q3TuaGQ4l2B2nOUizOyERcUxVJaSRP6Y9s4oRjt/p/7diShUALrElzf3O8Qwn2a01E9tq6wjcjmdrNRGKaOIvDTT4YCz6wr/sYz0jXB0osx4vE9+psCDW3fw5r88I4O2igrpBb6RL3xUnYcJPpgtHB9 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB1199;6:rOWKx29xp9Aqiz6jA/K6WhExuB5LLgUc1shNIo2i0l9fLDpavSxzH/O5sUIH+itCyAGH8vCtO4oMicn2oRoNN82oHjtqH/6I4v/ONlCGyY6FoiPf72Qo6UF7NIm8zw8TKFGoq3QXbLO8vlQ+thWRQJSZKOcBCE/PeqQ4DN7D6zTB6zncsiT/WjAsydVMbSpLSzG3DkeUAz2Fw/KHhH2lWZWiFHr3XdM2f7qzbvkWl63Wf+tjBhzpkFAevC+rhcBdKnhkiL1CKwMlO5+FPEmD4wMv4YqOhvJ03cJZI6uYfvOYjCMaZgyDo6urG2kVYarYItol5ILjZRqQ35MnaheYSQdFDQJlL/HlL2CTowADGYo=;5:eD1cTYjsHYzTfgVvhtLNxM6SaqJ25d7CE/o9H9T2PKDqWdwRSTLqZf0AP/EJEbUJqyIgK1r+Z5Mcv4tZ4GXLUd6yqzkyRy+q6R1+7dWeQj1sdbwdVOotO6mUOTqn7mrBWnbl/UPmEj1Ym+jmJtLWIm9AwufygdwajeJjg/8Q6bg=;24:pVC/1LkQoNEBPz69WokQ3bC4v5GWMPyzOvHCLueUcC/DNeWcR9NIZpxnjetX6zYMIkODf2tXV/oRU/nam48m8FMeJcTuJ2XWFx7aa4yCg5E=;7:Wf6ubVBQnwPzWIqpcCPTNf/xw6WFJK0WTQWjTuKwoIEMeC5vCkRDLjC5vczZvcgEYKgwiFZ7uGxtNMmXkBzprhN0ExVdpXocI9CizI8qmkHtBKo+HunLDurf4C4h8qjhozqLrkbbbQuxRP6aGQ1eSWPjTy/P1WT/ZifV91XnvWV7D3vKvTHJGr0UU9yUpgL0yjpJy7qdIlpJILsouxBL8DCGZMvQ5pRmK+rVnMPLU4WHunqO1aZ3ebMvhxTysBBB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2018 12:55:44.2853 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c317e404-f4ba-4f28-273b-08d58361930e X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB1199 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1594193028837172806?= X-GMAIL-MSGID: =?utf-8?q?1594193028837172806?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Property "snps,incr-burst-type-adjustment = , ..." for USB3.0 DWC3. When only one value means INCRx mode with fix burst type. When more than one value, means undefined length burst mode, USB controller can use the length less than or equal to the largest enabled burst length. While enabling undefined length INCR burst type and INCR16 burst type, get better write performance on NXP Layerscape platforms: around 3% improvement (from 364MB/s to 375MB/s). Signed-off-by: Changming Huang Signed-off-by: Ran Wang --- Changes in v5: - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a - update ls208xa support according to code base change Changes in v4: - change definition for this property. Changes in v3: - add new property for INCR burst in usb node. Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++ arch/arm/boot/dts/ls1021a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++ arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++ 7 files changed, 18 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index 44e8bab..d1779b2 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt @@ -59,6 +59,11 @@ Optional properties: fladj_30mhz_sdbnd signal is invalid or incorrect. - tx-fifo-resize: determines if the FIFO *has* to be reallocated. + - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0 + register, undefined length INCR burst type enable and INCRx type. + When just one value, which means INCRX burst mode. When more than one + value, which means undefined length INCR burst type enabled. + The values can be 1, 4, 8, 16, 32, 64, 128 and 256. - in addition all properties from usb-xhci.txt from the current directory are supported as well @@ -71,4 +76,5 @@ dwc3@4a030000 { reg = <0x4a030000 0xcfff>; interrupts = <0 92 4> usb-phy = <&usb2_phy>, <&usb3,phy>; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi index c31dad9..b0c3f4f 100644 --- a/arch/arm/boot/dts/ls1021a.dtsi +++ b/arch/arm/boot/dts/ls1021a.dtsi @@ -705,6 +705,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; pcie@3400000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi index 82b272f..4275a8f 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi @@ -464,6 +464,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi index 380e7c7..0067567 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi @@ -622,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3@3000000 { @@ -631,6 +632,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb3@3100000 { @@ -640,6 +642,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi index 06b5e12..2bf6756 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi @@ -602,6 +602,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb@3000000 { @@ -611,6 +612,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb@3100000 { @@ -620,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi index 4fc150c..c2b5b45 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi @@ -478,6 +478,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; @@ -488,6 +489,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi index f3a40af..d5b25f2 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi @@ -754,6 +754,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3@3110000 { @@ -764,6 +765,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; ccn@4000000 { -- 1.7.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ran Wang Subject: [PATCH v5 2/3] USB3/DWC3: Add property "snps, incr-burst-type-adjustment" for INCR burst type Date: Tue, 6 Mar 2018 16:59:10 +0800 Message-ID: <20180306085911.5930-2-ran.wang_1@nxp.com> References: <20180306085911.5930-1-ran.wang_1@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20180306085911.5930-1-ran.wang_1@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Felipe Balbi , Shawn Guo , Greg Kroah-Hartman , Rob Herring , Mark Rutland , Russell King , Catalin Marinas , Will Deacon , Li Yang Cc: devicetree@vger.kernel.org, ran.wang_1@nxp.com, linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org List-Id: devicetree@vger.kernel.org Property "snps,incr-burst-type-adjustment = , ..." for USB3.0 DWC3. When only one value means INCRx mode with fix burst type. When more than one value, means undefined length burst mode, USB controller can use the length less than or equal to the largest enabled burst length. While enabling undefined length INCR burst type and INCR16 burst type, get better write performance on NXP Layerscape platforms: around 3% improvement (from 364MB/s to 375MB/s). Signed-off-by: Changming Huang Signed-off-by: Ran Wang --- Changes in v5: - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a - update ls208xa support according to code base change Changes in v4: - change definition for this property. Changes in v3: - add new property for INCR burst in usb node. Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++ arch/arm/boot/dts/ls1021a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++ arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++ 7 files changed, 18 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index 44e8bab..d1779b2 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt @@ -59,6 +59,11 @@ Optional properties: fladj_30mhz_sdbnd signal is invalid or incorrect. - tx-fifo-resize: determines if the FIFO *has* to be reallocated. + - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0 + register, undefined length INCR burst type enable and INCRx type. + When just one value, which means INCRX burst mode. When more than one + value, which means undefined length INCR burst type enabled. + The values can be 1, 4, 8, 16, 32, 64, 128 and 256. - in addition all properties from usb-xhci.txt from the current directory are supported as well @@ -71,4 +76,5 @@ dwc3@4a030000 { reg = <0x4a030000 0xcfff>; interrupts = <0 92 4> usb-phy = <&usb2_phy>, <&usb3,phy>; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi index c31dad9..b0c3f4f 100644 --- a/arch/arm/boot/dts/ls1021a.dtsi +++ b/arch/arm/boot/dts/ls1021a.dtsi @@ -705,6 +705,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; pcie@3400000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi index 82b272f..4275a8f 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi @@ -464,6 +464,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi index 380e7c7..0067567 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi @@ -622,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3@3000000 { @@ -631,6 +632,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb3@3100000 { @@ -640,6 +642,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi index 06b5e12..2bf6756 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi @@ -602,6 +602,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb@3000000 { @@ -611,6 +612,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb@3100000 { @@ -620,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata@3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi index 4fc150c..c2b5b45 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi @@ -478,6 +478,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; @@ -488,6 +489,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi index f3a40af..d5b25f2 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi @@ -754,6 +754,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3@3110000 { @@ -764,6 +765,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; ccn@4000000 { -- 1.7.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v5,2/3] USB3/DWC3: Add property "snps,incr-burst-type-adjustment" for INCR burst type From: Ran Wang Message-Id: <20180306085911.5930-2-ran.wang_1@nxp.com> Date: Tue, 6 Mar 2018 16:59:10 +0800 To: Felipe Balbi , Shawn Guo , Greg Kroah-Hartman , Rob Herring , Mark Rutland , Russell King , Catalin Marinas , Will Deacon , Li Yang Cc: ran.wang_1@nxp.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-ID: UHJvcGVydHkgInNucHMsaW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8eD4sIDx5Pi4uLiIg Zm9yIFVTQjMuMCBEV0MzLgpXaGVuIG9ubHkgb25lIHZhbHVlIG1lYW5zIElOQ1J4IG1vZGUgd2l0 aCBmaXggYnVyc3QgdHlwZS4KV2hlbiBtb3JlIHRoYW4gb25lIHZhbHVlLCBtZWFucyB1bmRlZmlu ZWQgbGVuZ3RoIGJ1cnN0IG1vZGUsIFVTQiBjb250cm9sbGVyCmNhbiB1c2UgdGhlIGxlbmd0aCBs ZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGxhcmdlc3QgZW5hYmxlZCBidXJzdCBsZW5ndGguCgpX aGlsZSBlbmFibGluZyB1bmRlZmluZWQgbGVuZ3RoIElOQ1IgYnVyc3QgdHlwZSBhbmQgSU5DUjE2 IGJ1cnN0IHR5cGUsCmdldCBiZXR0ZXIgd3JpdGUgcGVyZm9ybWFuY2Ugb24gTlhQIExheWVyc2Nh cGUgcGxhdGZvcm1zOgphcm91bmQgMyUgaW1wcm92ZW1lbnQgKGZyb20gMzY0TUIvcyB0byAzNzVN Qi9zKS4KClNpZ25lZC1vZmYtYnk6IENoYW5nbWluZyBIdWFuZyA8amVycnkuaHVhbmdAbnhwLmNv bT4KU2lnbmVkLW9mZi1ieTogUmFuIFdhbmcgPHJhbi53YW5nXzFAbnhwLmNvbT4KLS0tCkNoYW5n ZXMgaW4gdjU6CiAgLSBhZGQgc3VwcG9ydCBmb3IgbHMxMDIxYSwgbHMxMDEyYSwgbHMxMDQ2YSwg bHMxMDg4YSwgbHMxMDIxYQogIC0gdXBkYXRlIGxzMjA4eGEgc3VwcG9ydCBhY2NvcmRpbmcgdG8g Y29kZSBiYXNlIGNoYW5nZQpDaGFuZ2VzIGluIHY0OgogIC0gY2hhbmdlIGRlZmluaXRpb24gZm9y IHRoaXMgcHJvcGVydHkuCkNoYW5nZXMgaW4gdjM6CiAgLSBhZGQgbmV3IHByb3BlcnR5IGZvciBJ TkNSIGJ1cnN0IGluIHVzYiBub2RlLgoKIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy91c2IvZHdjMy50eHQgfCAgICA2ICsrKysrKwogYXJjaC9hcm0vYm9vdC9kdHMvbHMxMDIxYS5k dHNpICAgICAgICAgICAgICAgICB8ICAgIDEgKwogYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2Nh bGUvZnNsLWxzMTAxMmEuZHRzaSB8ICAgIDEgKwogYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2Nh bGUvZnNsLWxzMTA0M2EuZHRzaSB8ICAgIDMgKysrCiBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVz Y2FsZS9mc2wtbHMxMDQ2YS5kdHNpIHwgICAgMyArKysKIGFyY2gvYXJtNjQvYm9vdC9kdHMvZnJl ZXNjYWxlL2ZzbC1sczEwODhhLmR0c2kgfCAgICAyICsrCiBhcmNoL2FybTY0L2Jvb3QvZHRzL2Zy ZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpIHwgICAgMiArKwogNyBmaWxlcyBjaGFuZ2VkLCAxOCBp bnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0CmluZGV4IDQ0ZThiYWIuLmQxNzc5YjIgMTAwNjQ0Ci0t LSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91c2IvZHdjMy50eHQKKysrIGIv RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4dApAQCAtNTksNiAr NTksMTEgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKIAlmbGFkal8zMG1oel9zZGJuZCBzaWduYWwg aXMgaW52YWxpZCBvciBpbmNvcnJlY3QuCiAKICAtIDxERVBSRUNBVEVEPiB0eC1maWZvLXJlc2l6 ZTogZGV0ZXJtaW5lcyBpZiB0aGUgRklGTyAqaGFzKiB0byBiZSByZWFsbG9jYXRlZC4KKyAtIHNu cHMsaW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQ6IFZhbHVlIGZvciBJTkNSIGJ1cnN0IHR5cGUg b2YgR1NCVVNDRkcwCisJcmVnaXN0ZXIsIHVuZGVmaW5lZCBsZW5ndGggSU5DUiBidXJzdCB0eXBl IGVuYWJsZSBhbmQgSU5DUnggdHlwZS4KKwlXaGVuIGp1c3Qgb25lIHZhbHVlLCB3aGljaCBtZWFu cyBJTkNSWCBidXJzdCBtb2RlLiBXaGVuIG1vcmUgdGhhbiBvbmUKKwl2YWx1ZSwgd2hpY2ggbWVh bnMgdW5kZWZpbmVkIGxlbmd0aCBJTkNSIGJ1cnN0IHR5cGUgZW5hYmxlZC4KKwlUaGUgdmFsdWVz IGNhbiBiZSAxLCA0LCA4LCAxNiwgMzIsIDY0LCAxMjggYW5kIDI1Ni4KIAogIC0gaW4gYWRkaXRp b24gYWxsIHByb3BlcnRpZXMgZnJvbSB1c2IteGhjaS50eHQgZnJvbSB0aGUgY3VycmVudCBkaXJl Y3RvcnkgYXJlCiAgICBzdXBwb3J0ZWQgYXMgd2VsbApAQCAtNzEsNCArNzYsNSBAQCBkd2MzQDRh MDMwMDAwIHsKIAlyZWcgPSA8MHg0YTAzMDAwMCAweGNmZmY+OwogCWludGVycnVwdHMgPSA8MCA5 MiA0PgogCXVzYi1waHkgPSA8JnVzYjJfcGh5PiwgPCZ1c2IzLHBoeT47CisJc25wcyxpbmNyLWJ1 cnN0LXR5cGUtYWRqdXN0bWVudCA9IDwxPiwgPDQ+LCA8OD4sIDwxNj47CiB9OwpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vYm9vdC9kdHMvbHMxMDIxYS5kdHNpIGIvYXJjaC9hcm0vYm9vdC9kdHMvbHMx MDIxYS5kdHNpCmluZGV4IGMzMWRhZDkuLmIwYzNmNGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jv b3QvZHRzL2xzMTAyMWEuZHRzaQorKysgYi9hcmNoL2FybS9ib290L2R0cy9sczEwMjFhLmR0c2kK QEAgLTcwNSw2ICs3MDUsNyBAQAogCQkJZHJfbW9kZSA9ICJob3N0IjsKIAkJCXNucHMscXVpcmst ZnJhbWUtbGVuZ3RoLWFkanVzdG1lbnQgPSA8MHgyMD47CiAJCQlzbnBzLGRpc19yeGRldF9pbnAz X3F1aXJrOworCQkJc25wcyxpbmNyLWJ1cnN0LXR5cGUtYWRqdXN0bWVudCA9IDwxPiwgPDQ+LCA8 OD4sIDwxNj47CiAJCX07CiAKIAkJcGNpZUAzNDAwMDAwIHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJt NjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwMTJhLmR0c2kgYi9hcmNoL2FybTY0L2Jvb3Qv ZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDEyYS5kdHNpCmluZGV4IDgyYjI3MmYuLjQyNzVhOGYgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwMTJhLmR0c2kK KysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTAxMmEuZHRzaQpAQCAt NDY0LDYgKzQ2NCw3IEBACiAJCQlkcl9tb2RlID0gImhvc3QiOwogCQkJc25wcyxxdWlyay1mcmFt ZS1sZW5ndGgtYWRqdXN0bWVudCA9IDwweDIwPjsKIAkJCXNucHMsZGlzX3J4ZGV0X2lucDNfcXVp cms7CisJCQlzbnBzLGluY3ItYnVyc3QtdHlwZS1hZGp1c3RtZW50ID0gPDE+LCA8ND4sIDw4Piwg PDE2PjsKIAkJfTsKIAogCQlzYXRhOiBzYXRhQDMyMDAwMDAgewpkaWZmIC0tZ2l0IGEvYXJjaC9h cm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0M2EuZHRzaSBiL2FyY2gvYXJtNjQvYm9v dC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwNDNhLmR0c2kKaW5kZXggMzgwZTdjNy4uMDA2NzU2NyAx MDA2NDQKLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0M2EuZHRz aQorKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDQzYS5kdHNpCkBA IC02MjIsNiArNjIyLDcgQEAKIAkJCWRyX21vZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZy YW1lLWxlbmd0aC1hZGp1c3RtZW50ID0gPDB4MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19x dWlyazsKKwkJCXNucHMsaW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+ LCA8MTY+OwogCQl9OwogCiAJCXVzYjE6IHVzYjNAMzAwMDAwMCB7CkBAIC02MzEsNiArNjMyLDcg QEAKIAkJCWRyX21vZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1lLWxlbmd0aC1hZGp1 c3RtZW50ID0gPDB4MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWlyazsKKwkJCXNucHMs aW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8MTY+OwogCQl9Owog CiAJCXVzYjI6IHVzYjNAMzEwMDAwMCB7CkBAIC02NDAsNiArNjQyLDcgQEAKIAkJCWRyX21vZGUg PSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1lLWxlbmd0aC1hZGp1c3RtZW50ID0gPDB4MjA+ OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWlyazsKKwkJCXNucHMsaW5jci1idXJzdC10eXBl LWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8MTY+OwogCQl9OwogCiAJCXNhdGE6IHNhdGFA MzIwMDAwMCB7CmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wt bHMxMDQ2YS5kdHNpIGIvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA0NmEu ZHRzaQppbmRleCAwNmI1ZTEyLi4yYmY2NzU2IDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L2Jvb3Qv ZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDQ2YS5kdHNpCisrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMv ZnJlZXNjYWxlL2ZzbC1sczEwNDZhLmR0c2kKQEAgLTYwMiw2ICs2MDIsNyBAQAogCQkJZHJfbW9k ZSA9ICJob3N0IjsKIAkJCXNucHMscXVpcmstZnJhbWUtbGVuZ3RoLWFkanVzdG1lbnQgPSA8MHgy MD47CiAJCQlzbnBzLGRpc19yeGRldF9pbnAzX3F1aXJrOworCQkJc25wcyxpbmNyLWJ1cnN0LXR5 cGUtYWRqdXN0bWVudCA9IDwxPiwgPDQ+LCA8OD4sIDwxNj47CiAJCX07CiAKIAkJdXNiMTogdXNi QDMwMDAwMDAgewpAQCAtNjExLDYgKzYxMiw3IEBACiAJCQlkcl9tb2RlID0gImhvc3QiOwogCQkJ c25wcyxxdWlyay1mcmFtZS1sZW5ndGgtYWRqdXN0bWVudCA9IDwweDIwPjsKIAkJCXNucHMsZGlz X3J4ZGV0X2lucDNfcXVpcms7CisJCQlzbnBzLGluY3ItYnVyc3QtdHlwZS1hZGp1c3RtZW50ID0g PDE+LCA8ND4sIDw4PiwgPDE2PjsKIAkJfTsKIAogCQl1c2IyOiB1c2JAMzEwMDAwMCB7CkBAIC02 MjAsNiArNjIyLDcgQEAKIAkJCWRyX21vZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1l LWxlbmd0aC1hZGp1c3RtZW50ID0gPDB4MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWly azsKKwkJCXNucHMsaW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8 MTY+OwogCQl9OwogCiAJCXNhdGE6IHNhdGFAMzIwMDAwMCB7CmRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpIGIvYXJjaC9hcm02NC9ib290 L2R0cy9mcmVlc2NhbGUvZnNsLWxzMTA4OGEuZHRzaQppbmRleCA0ZmMxNTBjLi5jMmI1YjQ1IDEw MDY0NAotLS0gYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNp CisrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2kKQEAg LTQ3OCw2ICs0NzgsNyBAQAogCQkJZHJfbW9kZSA9ICJob3N0IjsKIAkJCXNucHMscXVpcmstZnJh bWUtbGVuZ3RoLWFkanVzdG1lbnQgPSA8MHgyMD47CiAJCQlzbnBzLGRpc19yeGRldF9pbnAzX3F1 aXJrOworCQkJc25wcyxpbmNyLWJ1cnN0LXR5cGUtYWRqdXN0bWVudCA9IDwxPiwgPDQ+LCA8OD4s IDwxNj47CiAJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwogCQl9OwogCkBAIC00ODgsNiArNDg5LDcg QEAKIAkJCWRyX21vZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1lLWxlbmd0aC1hZGp1 c3RtZW50ID0gPDB4MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWlyazsKKwkJCXNucHMs aW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8MTY+OwogCQkJc3Rh dHVzID0gImRpc2FibGVkIjsKIAkJfTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0 cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaSBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNj YWxlL2ZzbC1sczIwOHhhLmR0c2kKaW5kZXggZjNhNDBhZi4uZDViMjVmMiAxMDA2NDQKLS0tIGEv YXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvZnNsLWxzMjA4eGEuZHRzaQorKysgYi9hcmNo L2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMyMDh4YS5kdHNpCkBAIC03NTQsNiArNzU0 LDcgQEAKIAkJCWRyX21vZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1lLWxlbmd0aC1h ZGp1c3RtZW50ID0gPDB4MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWlyazsKKwkJCXNu cHMsaW5jci1idXJzdC10eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8MTY+OwogCQl9 OwogCiAJCXVzYjE6IHVzYjNAMzExMDAwMCB7CkBAIC03NjQsNiArNzY1LDcgQEAKIAkJCWRyX21v ZGUgPSAiaG9zdCI7CiAJCQlzbnBzLHF1aXJrLWZyYW1lLWxlbmd0aC1hZGp1c3RtZW50ID0gPDB4 MjA+OwogCQkJc25wcyxkaXNfcnhkZXRfaW5wM19xdWlyazsKKwkJCXNucHMsaW5jci1idXJzdC10 eXBlLWFkanVzdG1lbnQgPSA8MT4sIDw0PiwgPDg+LCA8MTY+OwogCQl9OwogCiAJCWNjbkA0MDAw MDAwIHsK From mboxrd@z Thu Jan 1 00:00:00 1970 From: ran.wang_1@nxp.com (Ran Wang) Date: Tue, 6 Mar 2018 16:59:10 +0800 Subject: [PATCH v5 2/3] USB3/DWC3: Add property "snps, incr-burst-type-adjustment" for INCR burst type In-Reply-To: <20180306085911.5930-1-ran.wang_1@nxp.com> References: <20180306085911.5930-1-ran.wang_1@nxp.com> Message-ID: <20180306085911.5930-2-ran.wang_1@nxp.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Property "snps,incr-burst-type-adjustment = , ..." for USB3.0 DWC3. When only one value means INCRx mode with fix burst type. When more than one value, means undefined length burst mode, USB controller can use the length less than or equal to the largest enabled burst length. While enabling undefined length INCR burst type and INCR16 burst type, get better write performance on NXP Layerscape platforms: around 3% improvement (from 364MB/s to 375MB/s). Signed-off-by: Changming Huang Signed-off-by: Ran Wang --- Changes in v5: - add support for ls1021a, ls1012a, ls1046a, ls1088a, ls1021a - update ls208xa support according to code base change Changes in v4: - change definition for this property. Changes in v3: - add new property for INCR burst in usb node. Documentation/devicetree/bindings/usb/dwc3.txt | 6 ++++++ arch/arm/boot/dts/ls1021a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 1 + arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 3 +++ arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 2 ++ arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 2 ++ 7 files changed, 18 insertions(+), 0 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index 44e8bab..d1779b2 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt @@ -59,6 +59,11 @@ Optional properties: fladj_30mhz_sdbnd signal is invalid or incorrect. - tx-fifo-resize: determines if the FIFO *has* to be reallocated. + - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0 + register, undefined length INCR burst type enable and INCRx type. + When just one value, which means INCRX burst mode. When more than one + value, which means undefined length INCR burst type enabled. + The values can be 1, 4, 8, 16, 32, 64, 128 and 256. - in addition all properties from usb-xhci.txt from the current directory are supported as well @@ -71,4 +76,5 @@ dwc3 at 4a030000 { reg = <0x4a030000 0xcfff>; interrupts = <0 92 4> usb-phy = <&usb2_phy>, <&usb3,phy>; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi index c31dad9..b0c3f4f 100644 --- a/arch/arm/boot/dts/ls1021a.dtsi +++ b/arch/arm/boot/dts/ls1021a.dtsi @@ -705,6 +705,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; pcie at 3400000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi index 82b272f..4275a8f 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi @@ -464,6 +464,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata at 3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi index 380e7c7..0067567 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi @@ -622,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3 at 3000000 { @@ -631,6 +632,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb3 at 3100000 { @@ -640,6 +642,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata at 3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi index 06b5e12..2bf6756 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi @@ -602,6 +602,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb at 3000000 { @@ -611,6 +612,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb2: usb at 3100000 { @@ -620,6 +622,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; sata: sata at 3200000 { diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi index 4fc150c..c2b5b45 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi @@ -478,6 +478,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; @@ -488,6 +489,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi index f3a40af..d5b25f2 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi @@ -754,6 +754,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; usb1: usb3 at 3110000 { @@ -764,6 +765,7 @@ dr_mode = "host"; snps,quirk-frame-length-adjustment = <0x20>; snps,dis_rxdet_inp3_quirk; + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; }; ccn at 4000000 { -- 1.7.1