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: dmaengine: mv_xor_v2: Fix clock resource by adding a register clock From: Vinod Koul Message-Id: <20180302042345.GI15443@localhost> Date: Fri, 2 Mar 2018 09:53:46 +0530 To: Gregory CLEMENT Cc: dmaengine@vger.kernel.org, Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org, Antoine Tenart , =?iso-8859-1?Q?Miqu=E8l?= Raynal , Nadav Haklai , Shadi Ammouri , Omri Itach , Hanna Hawa , Igal Liberman , Marcin Wojtas , Rob Herring List-ID: T24gVGh1LCBNYXIgMDEsIDIwMTggYXQgMDk6Mzc6MDNBTSArMDEwMCwgR3JlZ29yeSBDTEVNRU5U IHdyb3RlOgo+IEhpIFZpbm9kLAo+ICAKPiAgT24gamV1LiwgbWFycyAwMSAyMDE4LCBWaW5vZCBL b3VsIDx2aW5vZC5rb3VsQGludGVsLmNvbT4gd3JvdGU6Cj4gCj4gCj4gPj4gPj4gIE9wdGlvbmFs IHByb3BlcnRpZXM6Cj4gPj4gPj4gLS0gY2xvY2tzOiBPcHRpb25hbCByZWZlcmVuY2UgdG8gdGhl IGNsb2NrIHVzZWQgYnkgdGhlIFhPUiBlbmdpbmUuCj4gPj4gPj4gKy0gY2xvY2tzOiBPcHRpb25h bCByZWZlcmVuY2UgdG8gdGhlIGNsb2NrcyB1c2VkIGJ5IHRoZSBYT1IgZW5naW5lLgo+ID4+ID4+ ICstIGNsb2NrLW5hbWVzOiBtYW5kYXRvcnkgaWYgdGhlcmUgaXMgYSBzZWNvbmQgY2xvY2ssIGlu IHRoaXMgY2FzZSB0aGUKPiA+PiA+PiArICAgbmFtZSBtdXN0IGJlICJjb3JlIiBmb3IgdGhlIGZp cnN0IGNsb2NrIGFuZCAicmVnIiBmb3IgdGhlIHNlY29uZAo+ID4+ID4+ICsgICBvbmUKPiA+PiA+ PiArCj4gPj4gPj4gIAo+ID4+ID4+ICBFeGFtcGxlOgo+ID4+ID4+ICAKPiA+PiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9kbWEvbXZfeG9yX3YyLmMgYi9kcml2ZXJzL2RtYS9tdl94b3JfdjIuYwo+ ID4+ID4+IGluZGV4IGY2NTJhMGUwZjVhMi4uOTNiM2Q4MGNlNzAxIDEwMDY0NAo+ID4+ID4+IC0t LSBhL2RyaXZlcnMvZG1hL212X3hvcl92Mi5jCj4gPj4gPj4gKysrIGIvZHJpdmVycy9kbWEvbXZf eG9yX3YyLmMKPiA+PiA+PiBAQCAtMTYzLDYgKzE2Myw3IEBAIHN0cnVjdCBtdl94b3JfdjJfZGV2 aWNlIHsKPiA+PiA+PiAgCXZvaWQgX19pb21lbSAqZG1hX2Jhc2U7Cj4gPj4gPj4gIAl2b2lkIF9f aW9tZW0gKmdsb2JfYmFzZTsKPiA+PiA+PiAgCXN0cnVjdCBjbGsgKmNsazsKPiA+PiA+PiArCXN0 cnVjdCBjbGsgKnJlZ19jbGs7Cj4gPj4gPj4gIAlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgaXJxX3Rh c2tsZXQ7Cj4gPj4gPj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGZyZWVfc3dfZGVzYzsKPiA+PiA+PiAg CXN0cnVjdCBkbWFfZGV2aWNlIGRtYWRldjsKPiA+PiA+PiBAQCAtNzQ5LDEzICs3NTAsMjQgQEAg c3RhdGljIGludCBtdl94b3JfdjJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK PiA+PiA+PiAgCWlmIChyZXQpCj4gPj4gPj4gIAkJcmV0dXJuIHJldDsKPiA+PiA+PiAgCj4gPj4g Pj4gLQl4b3JfZGV2LT5jbGsgPSBkZXZtX2Nsa19nZXQoJnBkZXYtPmRldiwgTlVMTCk7Cj4gPj4g Pj4gLQlpZiAoSVNfRVJSKHhvcl9kZXYtPmNsaykgJiYgUFRSX0VSUih4b3JfZGV2LT5jbGspID09 IC1FUFJPQkVfREVGRVIpCj4gPj4gPj4gKwl4b3JfZGV2LT5yZWdfY2xrID0gZGV2bV9jbGtfZ2V0 KCZwZGV2LT5kZXYsICJyZWciKTsKPiA+PiA+Cj4gPj4gPiBpcyB0aGlzIGFuIGV4aXRpbmcgcHJv cGVydHk/Cj4gPj4gCj4gPj4gSXQgaXMgdGhlIG5hbWUgb2YgdGhlIG5ldyBvcHRpb25hbCBjbG9j ayBkZXNjcmliZWQgaW4gdGhlIGZpcnN0IHBhcnQgb2YKPiA+PiB0aGlzIHBhdGNoLgo+ID4KPiA+ IG9rYXkgSSBhbSBtaXNzaW5nIHNvbWV0aGluZyB0aGVuLCB5b3UgYXJlIHJlYWRpbmcgInJlZyIg YnV0IHByb3BlcnR5IGFkZGVkIGlzCj4gPiAiY2xvY2stbmFtZXMiLCB3aGVyZSBhcmUgeW91IHJl YWRpbmcgdGhpcz8KPiAKPiAicmVnIiBpcyBhY3R1YWxseSB0aGUgX25hbWVfIG9mIHRoZSBjbG9j ayBnaXZlbiBieSB0aGUgY2xvY2stbmFtZXMKPiBwcm9wZXJ0eS4KPiAKPiBXaXRoIGRldm1fY2xr X2dldCB0aGUgc2Vjb25kIHBhcmFtZXRlciBpcyBhIHBvaW50ZXIgdG8gdGhlIG5hbWUgb2YgdGhl Cj4gY2xvY2sgbmFtZS4gV2hlbiBpdCBpcyBOVUxMIHRoZW4sIHRoZSBmaXJzdCBjbG9jayBpcyB1 c2VkLCBlbHNlIGluIHRoZQo+IGNvbW1vbiBjbG9jayBmcmFtZXdvcmsgbG9va3MgZm9yIHRoZSBj bG9jayBhc3NvY2lhdGVkIHdpdGggdGhlIG5hbWUKPiBnaXZlbi4KPiAKPiBXaXRoIHRoaXMgcGF0 Y2ggYm90aCBjbG9jayBoYXZlIG5vdyBhIG5hbWUsIGJ1dCBpbiBvcmRlciB0byBiZSBiYWNrd2Fy ZAo+IGNvbXBhdGlibGUsIEkgZG9uJ3QgdXNlIHRoZSBuYW1lIGZvciB0aGUgZmlyc3QgY2xvY2su IEl0IGFsbG93cyB0byBzdGlsbAo+IHVzZSB0aGlzIGNsb2NrIHdpdGggYSBkZXZpY2UgdHJlZSB1 c2luZyB0aGUgb2xkIGJpbmRpbmcuCgpPa2F5IGZpbmUgdGhlbiwgaXQgbWlnaHQgaGVscCB0byBh ZGQgdGhpcyB0byBjaGFuZ2Vsb2cKCj4gCj4gR3JlZ29yeQo+IAo+IAo+ID4KPiA+PiAKPiA+PiBB Ym91dCB0aGUgdHlwbywgZG8geW91IG5lZWQgYSBuZXcgdmVyc2lvbiBvciBkbyB5b3UgcGxhbiB0 byBmaXggdGhlbQo+ID4+IHdoaWxlIGFwcGx5aW5nIHRoZSBwYXRjaD8KCnBsZWFzZSBzZW5kIGFu IHVwZGF0ZQoKVGhhbmtzCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: vinod.koul@intel.com (Vinod Koul) Date: Fri, 2 Mar 2018 09:53:46 +0530 Subject: [PATCH] dmaengine: mv_xor_v2: Fix clock resource by adding a register clock In-Reply-To: <87lgfcdweo.fsf@bootlin.com> References: <20180214162733.4591-1-gregory.clement@bootlin.com> <20180227151511.GC15443@localhost> <87vaeijw83.fsf@bootlin.com> <20180301082554.GE15443@localhost> <87lgfcdweo.fsf@bootlin.com> Message-ID: <20180302042345.GI15443@localhost> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Mar 01, 2018 at 09:37:03AM +0100, Gregory CLEMENT wrote: > Hi Vinod, > > On jeu., mars 01 2018, Vinod Koul wrote: > > > >> >> Optional properties: > >> >> -- clocks: Optional reference to the clock used by the XOR engine. > >> >> +- clocks: Optional reference to the clocks used by the XOR engine. > >> >> +- clock-names: mandatory if there is a second clock, in this case the > >> >> + name must be "core" for the first clock and "reg" for the second > >> >> + one > >> >> + > >> >> > >> >> Example: > >> >> > >> >> diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c > >> >> index f652a0e0f5a2..93b3d80ce701 100644 > >> >> --- a/drivers/dma/mv_xor_v2.c > >> >> +++ b/drivers/dma/mv_xor_v2.c > >> >> @@ -163,6 +163,7 @@ struct mv_xor_v2_device { > >> >> void __iomem *dma_base; > >> >> void __iomem *glob_base; > >> >> struct clk *clk; > >> >> + struct clk *reg_clk; > >> >> struct tasklet_struct irq_tasklet; > >> >> struct list_head free_sw_desc; > >> >> struct dma_device dmadev; > >> >> @@ -749,13 +750,24 @@ static int mv_xor_v2_probe(struct platform_device *pdev) > >> >> if (ret) > >> >> return ret; > >> >> > >> >> - xor_dev->clk = devm_clk_get(&pdev->dev, NULL); > >> >> - if (IS_ERR(xor_dev->clk) && PTR_ERR(xor_dev->clk) == -EPROBE_DEFER) > >> >> + xor_dev->reg_clk = devm_clk_get(&pdev->dev, "reg"); > >> > > >> > is this an exiting property? > >> > >> It is the name of the new optional clock described in the first part of > >> this patch. > > > > okay I am missing something then, you are reading "reg" but property added is > > "clock-names", where are you reading this? > > "reg" is actually the _name_ of the clock given by the clock-names > property. > > With devm_clk_get the second parameter is a pointer to the name of the > clock name. When it is NULL then, the first clock is used, else in the > common clock framework looks for the clock associated with the name > given. > > With this patch both clock have now a name, but in order to be backward > compatible, I don't use the name for the first clock. It allows to still > use this clock with a device tree using the old binding. Okay fine then, it might help to add this to changelog > > Gregory > > > > > >> > >> About the typo, do you need a new version or do you plan to fix them > >> while applying the patch? please send an update Thanks -- ~Vinod