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: [09/18] meth: pass struct device to DMA API functions From: Christoph Hellwig Message-Id: <20190201084801.10983-10-hch@lst.de> Date: Fri, 1 Feb 2019 09:47:52 +0100 To: John Crispin , Vinod Koul , Dmitry Tarnyagin , Nicolas Ferre , Sudip Mukherjee , Felipe Balbi , linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, netdev@vger.kernel.org, linux-usb@vger.kernel.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org Cc: iommu@lists.linux-foundation.org List-ID: VGhlIERNQSBBUEkgZ2VuZXJhbGx5IHJlbGllcyBvbiBhIHN0cnVjdCBkZXZpY2UgdG8gd29yayBw cm9wZXJseSwgYW5kCm9ubHkgYmFyZWx5IHdvcmtzIHdpdGhvdXQgb25lIGZvciBsZWdhY3kgcmVh c29ucy4gIFBhc3MgdGhlIGVhc2lseQphdmFpbGFibGUgc3RydWN0IGRldmljZSBmcm9tIHRoZSBw bGF0Zm9ybV9kZXZpY2UgdG8gcmVtZWR5IHRoaXMuCgpBbHNvIHVzZSBHRlBfS0VSTkVMIGluc3Rl YWQgb2YgR0ZQX0FUT01JQyBhcyB0aGUgZ2ZwX3QgZm9yIHRoZSBtZW1vcnkKYWxsb2NhdGlvbiwg YXMgd2UgYXJlbid0IGluIGludGVycnVwdCBjb250ZXh0IG9yIHVuZGVyIGEgbG9jay4KClNpZ25l ZC1vZmYtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPgotLS0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L3NnaS9tZXRoLmMgfCAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc2dpL21ldGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3NnaS9tZXRoLmMKaW5kZXggMGUxYjdlOTYwYjk4Li42Nzk1NGE5ZTM2NzUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L3NnaS9tZXRoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc2dpL21ldGguYwpAQCAtNjgsNiArNjgsOCBAQCBtb2R1bGVfcGFyYW0odGltZW91dCwgaW50 LCAwKTsKICAqIHBhY2tldHMgaW4gYW5kIG91dCwgc28gdGhlcmUgaXMgcGxhY2UgZm9yIGEgcGFj a2V0CiAgKi8KIHN0cnVjdCBtZXRoX3ByaXZhdGUgeworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXY7CisKIAkvKiBpbi1tZW1vcnkgY29weSBvZiBNQUMgQ29udHJvbCByZWdpc3RlciAqLwog CXU2NCBtYWNfY3RybDsKIApAQCAtMjExLDggKzIxMyw4IEBAIHN0YXRpYyB2b2lkIG1ldGhfY2hl Y2tfbGluayhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogc3RhdGljIGludCBtZXRoX2luaXRfdHhf cmluZyhzdHJ1Y3QgbWV0aF9wcml2YXRlICpwcml2KQogewogCS8qIEluaXQgVFggcmluZyAqLwot CXByaXYtPnR4X3JpbmcgPSBkbWFfYWxsb2NfY29oZXJlbnQoTlVMTCwgVFhfUklOR19CVUZGRVJf U0laRSwKLQkJCQkJICAgJnByaXYtPnR4X3JpbmdfZG1hLCBHRlBfQVRPTUlDKTsKKwlwcml2LT50 eF9yaW5nID0gZG1hX2FsbG9jX2NvaGVyZW50KCZwcml2LT5wZGV2LT5kZXYsCisJCQlUWF9SSU5H X0JVRkZFUl9TSVpFLCAmcHJpdi0+dHhfcmluZ19kbWEsIEdGUF9LRVJORUwpOwogCWlmICghcHJp di0+dHhfcmluZykKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTIzNiw3ICsyMzgsNyBAQCBzdGF0 aWMgaW50IG1ldGhfaW5pdF9yeF9yaW5nKHN0cnVjdCBtZXRoX3ByaXZhdGUgKnByaXYpCiAJCXBy aXYtPnJ4X3JpbmdbaV09KHJ4X3BhY2tldCopKHByaXYtPnJ4X3NrYnNbaV0tPmhlYWQpOwogCQkv KiBJJ2xsIG5lZWQgdG8gcmUtc3luYyBpdCBhZnRlciBlYWNoIFJYICovCiAJCXByaXYtPnJ4X3Jp bmdfZG1hc1tpXSA9Ci0JCQlkbWFfbWFwX3NpbmdsZShOVUxMLCBwcml2LT5yeF9yaW5nW2ldLAor CQkJZG1hX21hcF9zaW5nbGUoJnByaXYtPnBkZXYtPmRldiwgcHJpdi0+cnhfcmluZ1tpXSwKIAkJ CQkgICAgICAgTUVUSF9SWF9CVUZGX1NJWkUsIERNQV9GUk9NX0RFVklDRSk7CiAJCW1hY2UtPmV0 aC5yeF9maWZvID0gcHJpdi0+cnhfcmluZ19kbWFzW2ldOwogCX0KQEAgLTI1Myw3ICsyNTUsNyBA QCBzdGF0aWMgdm9pZCBtZXRoX2ZyZWVfdHhfcmluZyhzdHJ1Y3QgbWV0aF9wcml2YXRlICpwcml2 KQogCQkJZGV2X2tmcmVlX3NrYihwcml2LT50eF9za2JzW2ldKTsKIAkJcHJpdi0+dHhfc2tic1tp XSA9IE5VTEw7CiAJfQotCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIFRYX1JJTkdfQlVGRkVSX1NJ WkUsIHByaXYtPnR4X3JpbmcsCisJZG1hX2ZyZWVfY29oZXJlbnQoJnByaXYtPnBkZXYtPmRldiwg VFhfUklOR19CVUZGRVJfU0laRSwgcHJpdi0+dHhfcmluZywKIAkgICAgICAgICAgICAgICAgICBw cml2LT50eF9yaW5nX2RtYSk7CiB9CiAKQEAgLTI2Myw3ICsyNjUsNyBAQCBzdGF0aWMgdm9pZCBt ZXRoX2ZyZWVfcnhfcmluZyhzdHJ1Y3QgbWV0aF9wcml2YXRlICpwcml2KQogCWludCBpOwogCiAJ Zm9yIChpID0gMDsgaSA8IFJYX1JJTkdfRU5UUklFUzsgaSsrKSB7Ci0JCWRtYV91bm1hcF9zaW5n bGUoTlVMTCwgcHJpdi0+cnhfcmluZ19kbWFzW2ldLAorCQlkbWFfdW5tYXBfc2luZ2xlKCZwcml2 LT5wZGV2LT5kZXYsIHByaXYtPnJ4X3JpbmdfZG1hc1tpXSwKIAkJCQkgTUVUSF9SWF9CVUZGX1NJ WkUsIERNQV9GUk9NX0RFVklDRSk7CiAJCXByaXYtPnJ4X3JpbmdbaV0gPSAwOwogCQlwcml2LT5y eF9yaW5nX2RtYXNbaV0gPSAwOwpAQCAtMzkzLDcgKzM5NSw4IEBAIHN0YXRpYyB2b2lkIG1ldGhf cngoc3RydWN0IG5ldF9kZXZpY2UqIGRldiwgdW5zaWduZWQgbG9uZyBpbnRfc3RhdHVzKQogCQlm aWZvX3JwdHIgPSAoZmlmb19ycHRyIC0gMSkgJiAweDBmOwogCX0KIAl3aGlsZSAocHJpdi0+cnhf d3JpdGUgIT0gZmlmb19ycHRyKSB7Ci0JCWRtYV91bm1hcF9zaW5nbGUoTlVMTCwgcHJpdi0+cnhf cmluZ19kbWFzW3ByaXYtPnJ4X3dyaXRlXSwKKwkJZG1hX3VubWFwX3NpbmdsZSgmcHJpdi0+cGRl di0+ZGV2LAorCQkJCSBwcml2LT5yeF9yaW5nX2RtYXNbcHJpdi0+cnhfd3JpdGVdLAogCQkJCSBN RVRIX1JYX0JVRkZfU0laRSwgRE1BX0ZST01fREVWSUNFKTsKIAkJc3RhdHVzID0gcHJpdi0+cnhf cmluZ1twcml2LT5yeF93cml0ZV0tPnN0YXR1cy5yYXc7CiAjaWYgTUZFX0RFQlVHCkBAIC00NTQs NyArNDU3LDggQEAgc3RhdGljIHZvaWQgbWV0aF9yeChzdHJ1Y3QgbmV0X2RldmljZSogZGV2LCB1 bnNpZ25lZCBsb25nIGludF9zdGF0dXMpCiAJCXByaXYtPnJ4X3JpbmdbcHJpdi0+cnhfd3JpdGVd ID0gKHJ4X3BhY2tldCopc2tiLT5oZWFkOwogCQlwcml2LT5yeF9yaW5nW3ByaXYtPnJ4X3dyaXRl XS0+c3RhdHVzLnJhdyA9IDA7CiAJCXByaXYtPnJ4X3JpbmdfZG1hc1twcml2LT5yeF93cml0ZV0g PQotCQkJZG1hX21hcF9zaW5nbGUoTlVMTCwgcHJpdi0+cnhfcmluZ1twcml2LT5yeF93cml0ZV0s CisJCQlkbWFfbWFwX3NpbmdsZSgmcHJpdi0+cGRldi0+ZGV2LAorCQkJCSAgICAgICBwcml2LT5y eF9yaW5nW3ByaXYtPnJ4X3dyaXRlXSwKIAkJCQkgICAgICAgTUVUSF9SWF9CVUZGX1NJWkUsIERN QV9GUk9NX0RFVklDRSk7CiAJCW1hY2UtPmV0aC5yeF9maWZvID0gcHJpdi0+cnhfcmluZ19kbWFz W3ByaXYtPnJ4X3dyaXRlXTsKIAkJQURWQU5DRV9SWF9QVFIocHJpdi0+cnhfd3JpdGUpOwpAQCAt NjM3LDcgKzY0MSw3IEBAIHN0YXRpYyB2b2lkIG1ldGhfdHhfMXBhZ2VfcHJlcGFyZShzdHJ1Y3Qg bWV0aF9wcml2YXRlICpwcml2LAogCX0KIAogCS8qIGZpcnN0IHBhZ2UgKi8KLQljYXRidWYgPSBk bWFfbWFwX3NpbmdsZShOVUxMLCBidWZmZXJfZGF0YSwgYnVmZmVyX2xlbiwKKwljYXRidWYgPSBk bWFfbWFwX3NpbmdsZSgmcHJpdi0+cGRldi0+ZGV2LCBidWZmZXJfZGF0YSwgYnVmZmVyX2xlbiwK IAkJCQlETUFfVE9fREVWSUNFKTsKIAlkZXNjLT5kYXRhLmNhdF9idWZbMF0uZm9ybS5zdGFydF9h ZGRyID0gY2F0YnVmID4+IDM7CiAJZGVzYy0+ZGF0YS5jYXRfYnVmWzBdLmZvcm0ubGVuID0gYnVm ZmVyX2xlbiAtIDE7CkBAIC02NjMsMTIgKzY2NywxMiBAQCBzdGF0aWMgdm9pZCBtZXRoX3R4XzJw YWdlX3ByZXBhcmUoc3RydWN0IG1ldGhfcHJpdmF0ZSAqcHJpdiwKIAl9CiAKIAkvKiBmaXJzdCBw YWdlICovCi0JY2F0YnVmMSA9IGRtYV9tYXBfc2luZ2xlKE5VTEwsIGJ1ZmZlcjFfZGF0YSwgYnVm ZmVyMV9sZW4sCisJY2F0YnVmMSA9IGRtYV9tYXBfc2luZ2xlKCZwcml2LT5wZGV2LT5kZXYsIGJ1 ZmZlcjFfZGF0YSwgYnVmZmVyMV9sZW4sCiAJCQkJIERNQV9UT19ERVZJQ0UpOwogCWRlc2MtPmRh dGEuY2F0X2J1ZlswXS5mb3JtLnN0YXJ0X2FkZHIgPSBjYXRidWYxID4+IDM7CiAJZGVzYy0+ZGF0 YS5jYXRfYnVmWzBdLmZvcm0ubGVuID0gYnVmZmVyMV9sZW4gLSAxOwogCS8qIHNlY29uZCBwYWdl ICovCi0JY2F0YnVmMiA9IGRtYV9tYXBfc2luZ2xlKE5VTEwsIGJ1ZmZlcjJfZGF0YSwgYnVmZmVy Ml9sZW4sCisJY2F0YnVmMiA9IGRtYV9tYXBfc2luZ2xlKCZwcml2LT5wZGV2LT5kZXYsIGJ1ZmZl cjJfZGF0YSwgYnVmZmVyMl9sZW4sCiAJCQkJIERNQV9UT19ERVZJQ0UpOwogCWRlc2MtPmRhdGEu Y2F0X2J1ZlsxXS5mb3JtLnN0YXJ0X2FkZHIgPSBjYXRidWYyID4+IDM7CiAJZGVzYy0+ZGF0YS5j YXRfYnVmWzFdLmZvcm0ubGVuID0gYnVmZmVyMl9sZW4gLSAxOwpAQCAtODQwLDYgKzg0NCw3IEBA IHN0YXRpYyBpbnQgbWV0aF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCW1l bWNweShkZXYtPmRldl9hZGRyLCBvMm1ldGhfZWFkZHIsIEVUSF9BTEVOKTsKIAogCXByaXYgPSBu ZXRkZXZfcHJpdihkZXYpOworCXByaXYtPnBkZXYgPSBwZGV2OwogCXNwaW5fbG9ja19pbml0KCZw cml2LT5tZXRoX2xvY2spOwogCVNFVF9ORVRERVZfREVWKGRldiwgJnBkZXYtPmRldik7CiAK