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: [RFC,v2,08/15] usb:cdns3: Implements device operations part of the API From: Felipe Balbi Message-Id: <87bm5ol6zt.fsf@linux.intel.com> Date: Fri, 14 Dec 2018 12:47:50 +0200 To: Sekhar Nori , Peter Chen , pawell@cadence.com Cc: rogerq@ti.com, devicetree@vger.kernel.org, Greg Kroah-Hartman , linux-usb@vger.kernel.org, lkml , adouglas@cadence.com, jbergsagel@ti.com, nm@ti.com, sureshp@cadence.com, peter.chen@nxp.com, pjez@cadence.com, kurahul@cadence.com List-ID: SGksCgpTZWtoYXIgTm9yaSA8bnNla2hhckB0aS5jb20+IHdyaXRlczoKCjxzbmlwPgoKPj4+PiBB bGwgdGhpcyBzaG91bGQgYmUgcGFydCBvZiBjb21tZW50cyBpbiBjb2RlIGFsb25nIHdpdGggaW5m b3JtYXRpb24gYWJvdXQKPj4+PiBjb250cm9sbGVyIHZlcnNpb25zIHdoaWNoIHN1ZmZlciBmcm9t IHRoZSBlcnJhdGEuCj4+Pj4KPj4+PiBJcyB0aGVyZSBhIHZlcnNpb24gb2YgY29udHJvbGxlciBh dmFpbGFibGUgd2hpY2ggZG9lcyBub3QgaGF2ZSB0aGUKPj4+PiBkZWZlY3Q/IElzIHRoZXJlIGEg ZnV0dXJlIHBsYW4gdG8gZml4IHRoaXM/Cj4+Pj4KPj4+PiBJZiBhbnkgb2YgdGhhdCBpcyB5ZXMs IHlvdSBwcm9iYWJseSB3YW50IHRvIGhhbmRsZSB0aGlzIHdpdGggcnVudGltZQo+Pj4+IGRldGVj dGlvbiBvZiB2ZXJzaW9uIChsaWtlIGRvbmUgd2l0aCBEV0MzX1JFVklTSU9OX1hYWCBtYWNyb3Mp Lgo+Pj4+IFNvbWV0aW1lcyB0aGUgaGFyZHdhcmUtcmVhZCB2ZXJzaW9ucyB0aGVtc2VsdmVzIGFy ZSBpbmNvcnJlY3QsIHNvIGl0cwo+Pj4+IGJldHRlciB0byBpbnRyb2R1Y2UgYSB2ZXJzaW9uIHNw ZWNpZmljIGNvbXBhdGlibGUgdG9vIGxpa2UKPj4+PiAiY2Rucyx1c2ItMS4wLjAiIChhcyBoaW50 ZWQgdG8gYnkgUm9iIEhlcnJpbmcgYXMgd2VsbCkuCj4+Pj4KPj4+Cj4+PiBjdXN0b20gbWF0Y2hf ZXAgaXMgdXNlZCBhbmQgd29ya3Mgd2l0aCBhbGwgdmVyc2lvbnMgb2YgdGhlIGdlbjEKPj4+IGNv bnRyb2xsZXIuIEZ1dHVyZSAoZ2VuMikgcmVsZWFzZXMgb2YgdGhlIGNvbnRyb2xsZXIgd29u4oCZ dCBoYXZlIHN1Y2gKPj4+IGxpbWl0YXRpb24gYnV0IHRoZXJlIGlzIG5vIHBsYW4gdG8gY2hhbmdl IGN1cnJlbnQgKGdlbjEpIGZ1bmN0aW9uYWxpdHkKPj4+IG9mIHRoZSBjb250cm9sbGVyLgo+Pj4K Pj4+IEkgd2lsbCBhZGQgY29tbWVudCBiZWZvcmUgY2RuczNfZ2FkZ2V0X21hdGNoX2VwIGZ1bmN0 aW9uLgo+Pj4gQWxzbyBJIHdpbGwgY2hhbmdlIGNkbnMsdXNiMyB0byBjZG5zLHVzYjMtMS4wLjAg YW5kIGFkZCBhZGRpdGlvbmFsCj4+PiBjZG5zLHVzYjMtMS4wLjEgY29tcGF0aWJsZS4KPj4+Cj4+ PiBjZG5zLHVzYjMtMS4wLjEgd2lsbCBiZSBmb3IgY3VycmVudCB2ZXJzaW9uIG9mIGNvbnRyb2xs ZXIgd2hpY2ggSSB1c2UuCj4+PiBjZG5zLHVzYjMtMS4wLjAgd2lsbCBiZSBmb3Igb2xkZXIgdmVy c2lvbiAtIFBldGVyIENoYW4gcGxhdGZvcm0uCj4+PiBJIG5vdyB0aGF0IEkgaGF2ZSBzb21lIGNo YW5nZXMgaW4gY29udHJvbGxlciwgYW5kIG9uZSBvZiB0aGVtIHJlcXVpcmUKPj4+IHNvbWUgY2hh bmdlcyBpbiBEUkQgZHJpdmVyLiBJdCB3aWxsIGJlIHNhZmVyIHRvIGFkZCB0d28gc2VwYXJhdGUK Pj4+IHZlcnNpb24gaW4gY29tcGF0aWJsZXMuCj4+Pgo+PiAKPj4gUGF3ZWwsIGNvdWxkIHdlIGhh dmUgY29ycmVjdCByZWdpc3RlciB0byBzaG93IGNvbnRyb2xsZXIgdmVyc2lvbj8gSXQgaXMKPj4g YmV0dGVyIHdlIGNvdWxkIHZlcnNpb24ganVkZ2VtZW50IGF0IHJ1bnRpbWUgaW5zdGVhZCBvZiBz dGF0aWMgY29tcGF0aWJsZS4KPgo+IEFncmVlIHdpdGggZGV0ZWN0aW5nIElQIHZlcnNpb24gYXQg cnVudGltZS4KPgo+IEJ1dCBwbGVhc2UgaGF2ZSBzb21lIGluZGljYXRpb24gb2YgdmVyc2lvbiBp biBjb21wYXRpYmxlIHN0cmluZyB0b28sCgp3aHk/IFJ1bnRpbWUgZGV0ZWN0aW9uIGJ5IHJldmlz aW9uIHJlZ2lzdGVyIHNob3VsZCBiZSB0aGUgd2F5IHRvIGdvIGlmCnRoZSBIVyBwcm92aWRlcyBp dC4gV2h5IGR1cGxpY2F0ZSB0aGUgaW5mb3JtYXRpb24gaW4gY29tcGF0aWJsZSBzdHJpbmc/Cgo+ IGVzcGVjaWFsbHkgc2luY2UgeW91IGFscmVhZHkga25vdyB0aGVyZSBpcyBnb2luZyB0byBiZSBh bm90aGVyIHJldmlzaW9uCj4gb2YgaGFyZHdhcmUuIEl0IGhhcyB0aGUgYWR2YW50YWdlIHRoYXQg b25lIGNhbiBlYXNpbHkgZ3JlcCB0byBzZWUgd2hpY2gKPiBoYXJkd2FyZSBpcyBydW5uaW5nIGN1 cnJlbnQgdmVyc2lvbiBvZiBjb250cm9sbGVyIHdpdGhvdXQgaGF2aW5nIGFjY2Vzcwo+IHRvIHRo ZSBoYXJkd2FyZSBpdHNlbGYuIEJlY29tZXMgdXNlZnVsIGxhdGVyIG9uIHdoZW4gaXRzIHRpbWUg dG8KPiBjbGVhbi11cCB1bnVzZWQgY29kZSB3aGVuIGJvYXJkcyBiZWNvbWUgb2Jzb2xldGUgb3Ig Zm9yIHJlcXVlc3RpbmcKPiB0ZXN0aW5nIGhlbHAuCgpUaGlzIGRvZXNuJ3Qgc291bmQgbGlrZSBh IHZlcnkgc3Ryb25nIGFyZ3VtZW50LCBhY3R1YWxseS4gU3BlY2lhbGx5IHdoZW4KeW91IGNvbnNp ZGVyIHRoYXQsIHNpbmNlIGRyaXZlciB3aWxsIGRvIHJldmlzaW9uIGNoZWNraW5nIGJhc2VkIG9u CnJldmlzaW9uIHJlZ2lzdGVyLCB5b3UgYWxyZWFkeSBoYXZlIHN0cmluZ3MgdG8gZ3JlcC4gTW9y ZW92ZXIsIHdlIGRvbid0CnVzdWFsbHkgZHJvcCBzdXBwb3J0IGp1c3QgbGlrZSB0aGF0LgoKUGVy c29uYWxseSwgSSB3b3VsZG4ndCBib3RoZXIuIEp1c3QgbGlrZSBkd2MzIG5ldmVyIGJvdGhlcmVk IGFuZCBub3RoaW5nCmJhZCBjYW1lIGFib3V0IGJlY2F1c2Ugb2YgaXQuIFdlbGwsIHRoZXJlIGFy ZSBxdWlya3Mgd2hpY2ggYXJlCnVuZGV0ZWN0YWJsZSBhbmQgZm9yIHRob3NlIHdlIGhhdmUgcXVp cmsgZmxhZ3MuIEkgbXVjaCBwcmVmZXIgdGhhdAphcnJhbmdlbWVudC4K From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felipe Balbi Subject: Re: [RFC PATCH v2 08/15] usb:cdns3: Implements device operations part of the API Date: Fri, 14 Dec 2018 12:47:50 +0200 Message-ID: <87bm5ol6zt.fsf@linux.intel.com> References: <1542535751-16079-1-git-send-email-pawell@cadence.com> <1542535751-16079-9-git-send-email-pawell@cadence.com> <5BFE8883.7090802@ti.com> <6b19b55c-66d7-439e-df8f-7b311b45af5e@ti.com> <5a41de27-cd1f-0cfd-ccdc-dccbf0854fcb@ti.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: In-Reply-To: <5a41de27-cd1f-0cfd-ccdc-dccbf0854fcb@ti.com> Sender: linux-kernel-owner@vger.kernel.org To: Sekhar Nori , Peter Chen , pawell@cadence.com Cc: rogerq@ti.com, devicetree@vger.kernel.org, Greg Kroah-Hartman , linux-usb@vger.kernel.org, lkml , adouglas@cadence.com, jbergsagel@ti.com, nm@ti.com, sureshp@cadence.com, peter.chen@nxp.com, pjez@cadence.com, kurahul@cadence.com List-Id: devicetree@vger.kernel.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Sekhar Nori writes: >>>> All this should be part of comments in code along with information abo= ut >>>> controller versions which suffer from the errata. >>>> >>>> Is there a version of controller available which does not have the >>>> defect? Is there a future plan to fix this? >>>> >>>> If any of that is yes, you probably want to handle this with runtime >>>> detection of version (like done with DWC3_REVISION_XXX macros). >>>> Sometimes the hardware-read versions themselves are incorrect, so its >>>> better to introduce a version specific compatible too like >>>> "cdns,usb-1.0.0" (as hinted to by Rob Herring as well). >>>> >>> >>> custom match_ep is used and works with all versions of the gen1 >>> controller. Future (gen2) releases of the controller won=E2=80=99t have= such >>> limitation but there is no plan to change current (gen1) functionality >>> of the controller. >>> >>> I will add comment before cdns3_gadget_match_ep function. >>> Also I will change cdns,usb3 to cdns,usb3-1.0.0 and add additional >>> cdns,usb3-1.0.1 compatible. >>> >>> cdns,usb3-1.0.1 will be for current version of controller which I use. >>> cdns,usb3-1.0.0 will be for older version - Peter Chan platform. >>> I now that I have some changes in controller, and one of them require >>> some changes in DRD driver. It will be safer to add two separate >>> version in compatibles. >>> >>=20 >> Pawel, could we have correct register to show controller version? It is >> better we could version judgement at runtime instead of static compatibl= e. > > Agree with detecting IP version at runtime. > > But please have some indication of version in compatible string too, why? Runtime detection by revision register should be the way to go if the HW provides it. Why duplicate the information in compatible string? > especially since you already know there is going to be another revision > of hardware. It has the advantage that one can easily grep to see which > hardware is running current version of controller without having access > to the hardware itself. Becomes useful later on when its time to > clean-up unused code when boards become obsolete or for requesting > testing help. This doesn't sound like a very strong argument, actually. Specially when you consider that, since driver will do revision checking based on revision register, you already have strings to grep. Moreover, we don't usually drop support just like that. Personally, I wouldn't bother. Just like dwc3 never bothered and nothing bad came about because of it. Well, there are quirks which are undetectable and for those we have quirk flags. I much prefer that arrangement. =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElLzh7wn96CXwjh2IzL64meEamQYFAlwTilYACgkQzL64meEa mQZF2BAAyWZdJ40EfnIL5X/zVA6cIKPa6jNWl/omllvQBuo1YyaAhsqkRJshUKhH hQspft8wlfMByo/F7+B86DAi6XHefxhcboCbaAnafuR/9DybU2RByvwG5WBWcUBH 27Fqb4n1VFQgSfZI+EmIbJI3qL/rfd9MzwToXhl7lpJlhnIChQY/JZCRIYTlbCvi YOcRhGEJPNE874EQcV4LpK5LxuXZX12qjh3WAGZoQ7//s7xIPKMtgKQSIWWa5QKz WyqXu1eQSwKXXAhVrDxJUbPa/N2f8DI3Ompld0flze3vUX8izLgmJF+KmQY5RoVk Du24TWIey5B+z9y5YGPAFQ8HN7VmjTIKk69j5z6FLJMp/3YdRnEeachmk76WL9LM awNlVafiE4w+ExTwBXHkkShuYKVV5WMSiA/Snwe45cyB+fQH432dF6TfyMuXVgRD bwOPw9spZSNlS1xlGWot7dPLhH4SCvgaH9GeTFISA78KQD83hPr0S1y1RwVbLyK4 HEGfEm4pKPqati0yppoXhl7o+MvhQMLMzVJsLsUol/2Rx34iLvpDLXc6Z+3IhCzy 7gd2YzW386U1lZYFQsqdohiWKmiRV953neOkruBkCwxGqq15rgqr5Qpbgdj12L0C esA8hjDYiQGT8t5KRbEcWCKvmy7Q9zdKiOQTxXK/ey66p1ZsviU= =+VII -----END PGP SIGNATURE----- --=-=-=--