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: [1/5] dmaengine: bcm2835: Fix interrupt race on RT From: Lukas Wunner Message-Id: <20190107083212.ca2usaysp4xyrjhc@wunner.de> Date: Mon, 7 Jan 2019 09:32:12 +0100 To: Vinod Koul Cc: Eric Anholt , Stefan Wahren , Frank Pavlic , Martin Sperl , Florian Meier , dmaengine@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, Tiejun Chen , linux-rt-users@vger.kernel.org List-ID: T24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMTI6MzA6MDNQTSArMDUzMCwgVmlub2QgS291bCB3cm90 ZToKPiBPbiAyMi0xMi0xOCwgMDg6MjgsIEx1a2FzIFd1bm5lciB3cm90ZToKPiA+IGJlZm9yZSB0 aGUgSVJRIGhhbmRsZXIgaGFkIGEgY2hhbmNlIHRvIHJ1bi4gIEluIGZhY3QgdGhlIElSUSBoYW5k bGVyIG1heQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5e Xgo+ID4gbWlzcyBhbiAqYXJiaXRyYXJ5KiBudW1iZXIgb2YgZGVzY3JpcHRvcnMuICBUaGUgcmVz dWx0IGlzIHRoZSBmb2xsb3dpbmcKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeXl5eXgo+IHRoaXMgaGFzIGRvdWJsZSBzcGFjZXMgaW4gZmV3IHBsYWNlcyBwbHMg Zml4CgpUaGF0IHdhcyBpbnRlbnRpb25hbC4gIEJqb3JuIEhlbGdhYXMgaGFzIGVzdGFibGlzaGVk IGRvdWJsZSBzcGFjZXMgdG8Kc2VwYXJhdGUgc2VudGVuY2VzIGluIHRoZSBQQ0kgc3Vic3lzdGVt LCBib3RoIGluIGNvbW1pdCBtZXNzYWdlcyBhbmQKY29kZSBjb21tZW50cy4gIFRoZSByYXRpb25h bGUgaGUgaGFzIGdpdmVuOgoKICAgIk9ubHkgaGFiaXQgYmVjYXVzZSBteSBlaWdodGgtZ3JhZGUg dHlwaW5nIHRlYWNoZXIgaW4gMTk3OSBkaWQgaXQgdGhhdAogICAgd2F5LCBhbmQgKEkgdGhpbmsp IHZpbSBkb2VzIGl0IHRoYXQgd2F5IGJ5IGRlZmF1bHQuIgogICAgaHR0cHM6Ly9wYXRjaHdvcmsu a2VybmVsLm9yZy9wYXRjaC84OTQxNjAxLwoKUmFmYWVsIFd5c29ja2ksIG15c2VsZiBhbmQgb3Ro ZXJzIGhhdmUgYWRvcHRlZCB0aGlzIHN0eWxlLiAgSG93ZXZlcgpJJ2xsIGdsYWRseSBvbWl0IHRo ZSBkb3VibGUgc3BhY2VzIGlmIHRoYXQncyB0aGUgcHJlZmVycmVkIHN0eWxlIGluCnRoZSBETUEg c3Vic3lzdGVtLgoKCj4gPiBAQCAtNDU2LDcgKzQ1Niw4IEBAIHN0YXRpYyB2b2lkIGJjbTI4MzVf ZG1hX3N0YXJ0X2Rlc2Moc3RydWN0IGJjbTI4MzVfY2hhbiAqYykKPiA+ICAJYy0+ZGVzYyA9IGQg PSB0b19iY20yODM1X2RtYV9kZXNjKCZ2ZC0+dHgpOwo+ID4gIAo+ID4gIAl3cml0ZWwoZC0+Y2Jf bGlzdFswXS5wYWRkciwgYy0+Y2hhbl9iYXNlICsgQkNNMjgzNV9ETUFfQUREUik7Cj4gPiAtCXdy aXRlbChCQ00yODM1X0RNQV9BQ1RJVkUsIGMtPmNoYW5fYmFzZSArIEJDTTI4MzVfRE1BX0NTKTsK PiA+ICsJd3JpdGVsKEJDTTI4MzVfRE1BX0FDVElWRSB8IEJDTTI4MzVfRE1BX0VORCwKPiA+ICsJ ICAgICAgIGMtPmNoYW5fYmFzZSArIEJDTTI4MzVfRE1BX0NTKTsKPiAKPiBjYW4geW91IGV4cGxh aW4gdGhpcyBjaGFuZ2UgcGxlYXNlPyBzbyBldmVyeSBkZXNjcmlwdG9yIGlzIHdyaXR0ZW4gd2l0 aAo+IEJDTTI4MzVfRE1BX0VORD8KClRoZSBCQ00yODM1X0RNQV9FTkQgZmxhZyBpcyBvZiB0eXBl IFcxQyAod3JpdGUgMSB0byBjbGVhcikuICBUaGUgYWJvdmUKY2hhbmdlIGVuc3VyZXMgdGhhdCB0 aGUgRU5EIGZsYWcgaXMgY2xlYXJlZCB3aGVuIGEgbmV3IGRlc2NyaXB0b3IgaXMKc3RhcnRlZC4g IE9uY2UgdGhlIERNQSBlbmdpbmUgaGFzIGZpbmlzaGVkIHRoYXQgZGVzY3JpcHRvciwgaXQgd2ls bAphdXRvbWF0aWNhbGx5IHNldCB0aGUgZmxhZyBhZ2Fpbi4KClRoaXMgYWxsb3dzIHRoZSBJUlEg aGFuZGxlciB0byByZWNvZ25pemUgdGhhdCBpdCBoYXMgbWlzc2VkIGRlc2NyaXB0b3JzCmFuZCB0 aGF0IGEgbmV3IGRlc2NyaXB0b3IgaXMgY3VycmVudGx5IHByb2Nlc3NlZCBieSB0aGUgRE1BIGVu Z2luZS4KVGhlIElSUSBoYW5kbGVyIHdpbGwgdGhlbiByZWZyYWluIGZyb20gZmluYWxpemluZyB0 aGF0IGluLWZsaWdodApkZXNjcmlwdG9yLgoKSSBkaWQgZXhwbGFpbiB0aGlzIGNoYW5nZSBpbiB0 aGUgY29tbWl0IG1lc3NhZ2U6CgogICAiVGhlcmVmb3JlLCBvbmx5IGZpbmFsaXplIGEgZGVzY3Jp cHRvciBpZiB0aGUgRU5EIGZsYWcgaXMgc2V0IGluIHRoZSBDUwogICAgcmVnaXN0ZXIuICBDbGVh ciB0aGUgZmxhZyB3aGVuIHN0YXJ0aW5nIGEgbmV3IGRlc2NyaXB0b3IuICBQZXJmb3JtIGJvdGgK ICAgIG9wZXJhdGlvbnMgdW5kZXIgdGhlIHZjaGFuIGxvY2suIgoKCj4gPiBAQCAtNDc3LDExICs0 NzksMTcgQEAgc3RhdGljIGlycXJldHVybl90IGJjbTI4MzVfZG1hX2NhbGxiYWNrKGludCBpcnEs IHZvaWQgKmRhdGEpCj4gPiAgCXNwaW5fbG9ja19pcnFzYXZlKCZjLT52Yy5sb2NrLCBmbGFncyk7 Cj4gPiAgCj4gPiAgCS8qIEFja25vd2xlZGdlIGludGVycnVwdCAqLwo+ID4gLQl3cml0ZWwoQkNN MjgzNV9ETUFfSU5ULCBjLT5jaGFuX2Jhc2UgKyBCQ00yODM1X0RNQV9DUyk7Cj4gPiArCWNzID0g cmVhZGwoYy0+Y2hhbl9iYXNlICsgQkNNMjgzNV9ETUFfQ1MpOwo+ID4gKwl3cml0ZWwoY3MsIGMt PmNoYW5fYmFzZSArIEJDTTI4MzVfRE1BX0NTKTsKPiAKPiBTbyBpZGVhIGlzIHRvIGFjayB0aGUg aW50ZXJydXB0cyBhc3NlcnRlZCB3aGlsZSB0aGlzIGlzIHJ1bm5pbmcsIHJpZ2h0PwoKVGhlIEJD TTI4MzVfRE1BX0lOVCBmbGFnIGlzIGxpa2V3aXNlIG9mIHR5cGUgVzFDLiAgQnkgd3JpdGluZyB0 aGUKc2FtZSB2YWx1ZSB0byB0aGUgQ1MgcmVnaXN0ZXIgdGhhdCBpdCBjdXJyZW50bHkgaGFzLCB0 aGUgaW50ZXJydXB0CmlzIGFja25vd2xlZGdlZCAoSU5UIGZsYWcgaXMgY2xlYXJlZCkgYnV0IHRo ZSBBQ1RJVkUgZmxhZyBpcyBwcmVzZXJ2ZWQuCgpUaGF0IHdheSwgaWYgYSBuZXcgZGVzY3JpcHRv ciBpcyBjdXJyZW50bHkgcHJvY2Vzc2VkIGJ5IHRoZSBETUEgZW5naW5lLAp0aGF0IGRlc2NyaXB0 b3IgaXMgbGVmdCBydW5uaW5nLgoKKFRoZSBCQ00yODM1X0RNQV9FTkQgaXMgYWxzbyBjbGVhcmVk LCBidXQgdGhhdCdzIG5vdCBpbXBvcnRhbnQuKQoKVGhlIGFib3ZlIGNoYW5nZSBpcyBsaWtld2lz ZSBleHBsYWluZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlOgoKICAgIk9ubHkgbWluaW1hbCBhZGRp dGlvbmFsIG92ZXJoZWFkIGlzIGludHJvZHVjZWQgYXMgb25lCiAgICBmdXJ0aGVyIE1NSU8gcmVh ZCBpcyBuZWNlc3NhcnkgcGVyIGludGVycnVwdC4KCiAgICBUaGF0IE1NSU8gcmVhZCBpcyBuZWVk ZWQgdG8gd3JpdGUgdGhlIHNhbWUgdmFsdWUgdG8gdGhlIENTIHJlZ2lzdGVyIHRoYXQKICAgIGl0 IGN1cnJlbnRseSBoYXMsIHRoZXJlYnkgcHJlc2VydmluZyB0aGUgQUNUSVZFIGZsYWcgd2hpbGUg Y2xlYXJpbmcgdGhlCiAgICBJTlQgYW5kIEVORCBmbGFncy4iCgpUaGFua3MsCgpMdWthcwo=