From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Felipe Balbi Subject: Re: [PATCH v2 3/4] usb: dwc3: Add property snps,enable-refclk-sof In-Reply-To: <20181218164128.GA14552@bogus> References: <20181218164128.GA14552@bogus> Date: Thu, 20 Dec 2018 08:52:27 +0200 Message-ID: <87sgysu1uc.fsf@linux.intel.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" To: Rob Herring , Thinh Nguyen Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, Mark Rutland , John Youn List-ID: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, Rob Herring writes: > On Fri, Dec 07, 2018 at 06:27:43PM -0800, Thinh Nguyen wrote: >> This patch adds a property to enable the controller to track the >> frame number based on the reference clock. >>=20 >> When operating in USB 2.0 mode, the peripheral controller uses the USB2 >> PHY clocks to track the frame number. This prevents the controller from >> suspending the USB2 PHY when the device goes into low power. Version >> 1.80a of the DWC_usb31 peripheral controller introduces a way to track >> frame number based on the reference clock instead. This feature allows >> the controller to suspend the USB2 PHY when the device goes into low >> power. This improves power saving for devices that have isochronous >> endpoints. >>=20 >> Signed-off-by: Thinh Nguyen >> --- >> Changes in v2: >> - Revise property description >> - Rename property from snps,enable-refclk-lpm to snps,enable-refclk-sof >>=20 >> Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++ >> 1 file changed, 3 insertions(+) >>=20 >> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentat= ion/devicetree/bindings/usb/dwc3.txt >> index b7e67edff9b2..01b948fff0eb 100644 >> --- a/Documentation/devicetree/bindings/usb/dwc3.txt >> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt >> @@ -101,6 +101,9 @@ Optional properties: >> enable periodic ESS TX threshold. >> - snps,refclk-period-ns: if set, this value informs the controller of = the >> reference clock period in nanoseconds. >> + - snps,enable-refclk-sof: set to enable reference clock based frame nu= mber >> + tracking while in low power, allowing the controller to >> + suspend the PHY during low power states. > > This should be implied by the compatible string. Two problems with this: 1) Won't work for PCI-based systems 2) If we start having many users of this we will end up with: if (of_device_is_compatible("a") || of_device_is_compatible("b") || of_device_is_compatible("c") || of_device_is_compatible("d") || ...) foo(); Conversely, if we just pass a flag, this branch will never change. We won't need changes to the kernel because a new platform needing refclk based frame number tracking is, now, supported upstream. =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElLzh7wn96CXwjh2IzL64meEamQYFAlwbPCsACgkQzL64meEa mQbbMg/9ESq/ApzpRKV/Hg/DzIbkvhF3UuCi0bt2SHxg57nO3Ti+gXWlHCENruCp 0nUmwsMJYavU49x9m+aIKq+SHZ/rq09JA8f+nnZI/ZNc7eI7bzOgtnTwnSMlLXa8 FPCINMD77HE2JFF0+R27fBRsNctcDbe079GLtQYNGBsaGJgN/IsnqIp1PORvuMMm 8f8dPsvjvShxow/4PfHSb+QmM99g70igAw5pOb6EBm2xoiQJSe/XYgONRHf054Av ockO3G5HtfXMIWcSslwsneCuvM/iEUS9Zag18RyL/sXjpYEzThjswFJEv1o3Qc4/ GCOGFrk7fKX1h1eXpAjtnX8La29jl2N0VeDW7Q4pBkDRp1i9QsxxnskNOC8kkIJL XkDQH7SIwXaZep45SPHFbvfiKPTbtrV11Jmgh+2YX09HJb0Ii+38c7LvaF1z1K6Y 2FtoR0u/4EhUr1Vt5hxar7VBos1w6NIY4r0uHNnxBsoQyB13arcHNzr/6kdvd0Bo QWHD1Z9WZZssco84t7g+oMnPL3JylqudgX6Kqgw4FYcJNgaqrOhBseEAbm/vw3qe mbEZrW9Hl7FGMGHLqgUeIZ7IIGxQlpdBh0Gz+RR3QnUO4yqvNT1ynaxSxzYtDJNL zVjdfkOBeZP17JVEZdZPfEsCKP94bsNUgiaB50aYNoiV9XGM5h0= =gCRy -----END PGP SIGNATURE----- --=-=-=-- 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: [v2,3/4] usb: dwc3: Add property snps,enable-refclk-sof From: Felipe Balbi Message-Id: <87sgysu1uc.fsf@linux.intel.com> Date: Thu, 20 Dec 2018 08:52:27 +0200 To: Rob Herring , Thinh Nguyen Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, Mark Rutland , John Youn List-ID: SGksCgpSb2IgSGVycmluZyA8cm9iaEBrZXJuZWwub3JnPiB3cml0ZXM6Cj4gT24gRnJpLCBEZWMg MDcsIDIwMTggYXQgMDY6Mjc6NDNQTSAtMDgwMCwgVGhpbmggTmd1eWVuIHdyb3RlOgo+PiBUaGlz IHBhdGNoIGFkZHMgYSBwcm9wZXJ0eSB0byBlbmFibGUgdGhlIGNvbnRyb2xsZXIgdG8gdHJhY2sg dGhlCj4+IGZyYW1lIG51bWJlciBiYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGNsb2NrLgo+PiAKPj4g V2hlbiBvcGVyYXRpbmcgaW4gVVNCIDIuMCBtb2RlLCB0aGUgcGVyaXBoZXJhbCBjb250cm9sbGVy IHVzZXMgdGhlIFVTQjIKPj4gUEhZIGNsb2NrcyB0byB0cmFjayB0aGUgZnJhbWUgbnVtYmVyLiBU aGlzIHByZXZlbnRzIHRoZSBjb250cm9sbGVyIGZyb20KPj4gc3VzcGVuZGluZyB0aGUgVVNCMiBQ SFkgd2hlbiB0aGUgZGV2aWNlIGdvZXMgaW50byBsb3cgcG93ZXIuIFZlcnNpb24KPj4gMS44MGEg b2YgdGhlIERXQ191c2IzMSBwZXJpcGhlcmFsIGNvbnRyb2xsZXIgaW50cm9kdWNlcyBhIHdheSB0 byB0cmFjawo+PiBmcmFtZSBudW1iZXIgYmFzZWQgb24gdGhlIHJlZmVyZW5jZSBjbG9jayBpbnN0 ZWFkLiBUaGlzIGZlYXR1cmUgYWxsb3dzCj4+IHRoZSBjb250cm9sbGVyIHRvIHN1c3BlbmQgdGhl IFVTQjIgUEhZIHdoZW4gdGhlIGRldmljZSBnb2VzIGludG8gbG93Cj4+IHBvd2VyLiBUaGlzIGlt cHJvdmVzIHBvd2VyIHNhdmluZyBmb3IgZGV2aWNlcyB0aGF0IGhhdmUgaXNvY2hyb25vdXMKPj4g ZW5kcG9pbnRzLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogVGhpbmggTmd1eWVuIDx0aGluaG5Ac3lu b3BzeXMuY29tPgo+PiAtLS0KPj4gQ2hhbmdlcyBpbiB2MjoKPj4gLSBSZXZpc2UgcHJvcGVydHkg ZGVzY3JpcHRpb24KPj4gLSBSZW5hbWUgcHJvcGVydHkgZnJvbSBzbnBzLGVuYWJsZS1yZWZjbGst bHBtIHRvIHNucHMsZW5hYmxlLXJlZmNsay1zb2YKPj4gCj4+ICBEb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0IHwgMyArKysKPj4gIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKykKPj4gCj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL3VzYi9kd2MzLnR4dAo+PiBpbmRleCBiN2U2N2VkZmY5YjIuLjAxYjk0OGZmZjBlYiAxMDA2 NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3VzYi9kd2MzLnR4 dAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdXNiL2R3YzMudHh0 Cj4+IEBAIC0xMDEsNiArMTAxLDkgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKPj4gIAkJCWVuYWJs ZSBwZXJpb2RpYyBFU1MgVFggdGhyZXNob2xkLgo+PiAgIC0gc25wcyxyZWZjbGstcGVyaW9kLW5z OiBpZiBzZXQsIHRoaXMgdmFsdWUgaW5mb3JtcyB0aGUgY29udHJvbGxlciBvZiB0aGUKPj4gIAkJ CXJlZmVyZW5jZSBjbG9jayBwZXJpb2QgaW4gbmFub3NlY29uZHMuCj4+ICsgLSBzbnBzLGVuYWJs ZS1yZWZjbGstc29mOiBzZXQgdG8gZW5hYmxlIHJlZmVyZW5jZSBjbG9jayBiYXNlZCBmcmFtZSBu dW1iZXIKPj4gKwkJCXRyYWNraW5nIHdoaWxlIGluIGxvdyBwb3dlciwgYWxsb3dpbmcgdGhlIGNv bnRyb2xsZXIgdG8KPj4gKwkJCXN1c3BlbmQgdGhlIFBIWSBkdXJpbmcgbG93IHBvd2VyIHN0YXRl cy4KPgo+IFRoaXMgc2hvdWxkIGJlIGltcGxpZWQgYnkgdGhlIGNvbXBhdGlibGUgc3RyaW5nLgoK VHdvIHByb2JsZW1zIHdpdGggdGhpczoKCjEpIFdvbid0IHdvcmsgZm9yIFBDSS1iYXNlZCBzeXN0 ZW1zCgoyKSBJZiB3ZSBzdGFydCBoYXZpbmcgbWFueSB1c2VycyBvZiB0aGlzIHdlIHdpbGwgZW5k IHVwIHdpdGg6CgoJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKCJhIikgfHwKICAgICAgICAJ b2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUoImIiKSB8fAogICAgICAgIAlvZl9kZXZpY2VfaXNfY29t cGF0aWJsZSgiYyIpIHx8CiAgICAgICAgICAgICAgICBvZl9kZXZpY2VfaXNfY29tcGF0aWJsZSgi ZCIpIHx8CiAgICAgICAgICAgICAgICAuLi4pCgkJZm9vKCk7CgpDb252ZXJzZWx5LCBpZiB3ZSBq dXN0IHBhc3MgYSBmbGFnLCB0aGlzIGJyYW5jaCB3aWxsIG5ldmVyIGNoYW5nZS4gV2UKd29uJ3Qg bmVlZCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgYmVjYXVzZSBhIG5ldyBwbGF0Zm9ybSBuZWVkaW5n IHJlZmNsawpiYXNlZCBmcmFtZSBudW1iZXIgdHJhY2tpbmcgaXMsIG5vdywgc3VwcG9ydGVkIHVw c3RyZWFtLgo=