From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= Subject: [PATCHv6 0/8] dmaengine: rcar-dmac: add iommu support for slave transfers Date: Mon, 9 May 2016 18:43:59 +0200 Message-ID: <1462812247-3414-1-git-send-email-niklas.soderlund+renesas@ragnatech.se> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org Cc: linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, =?UTF-8?q?Niklas=20S=C3=B6derlund?= , geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org List-Id: iommu@lists.linux-foundation.org SGksCgpUaGlzIHNlcmllcyB0cmllcyB0byBzb2x2ZSB0aGUgcHJvYmxlbSB3aXRoIERNQSB3aXRo IGRldmljZSByZWdpc3RlcnMKKE1NSU8gcmVnaXN0ZXJzKSB0aGF0IGFyZSBiZWhpbmQgYW4gSU9N TVUgZm9yIHRoZSByY2FyLWRtYWMgZHJpdmVyLiBBCnJlY2VudCBwYXRjaCAnOTU3NTYzMiAoZG1h ZW5naW5lOiBtYWtlIHNsYXZlIGFkZHJlc3MgcGh5c2ljYWwpJwpjbGFyaWZpZXMgdGhhdCBETUEg c2xhdmUgYWRkcmVzcyBwcm92aWRlZCBieSBjbGllbnRzIGlzIHRoZSBwaHlzaWNhbAphZGRyZXNz LiBUaGlzIHB1dHMgdGhlIHRhc2sgb2YgbWFwcGluZyB0aGUgRE1BIHNsYXZlIGFkZHJlc3MgZnJv bSBhCnBoeXNfYWRkcl90IHRvIGEgZG1hX2FkZHJfdCBvbiB0aGUgRE1BIGVuZ2luZS4KCldpdGhv dXQgYW4gSU9NTVUgdGhpcyBpcyBlYXN5IHNpbmNlIHRoZSBwaHlzX2FkZHJfdCBhbmQgZG1hX2Fk ZHJfdCBhcmUKdGhlIHNhbWUgYW5kIG5vIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQuIEhvd2V2ZXIg aWYgeW91IGhhdmUgYSBJT01NVSB5b3UKbmVlZCB0byBtYXAgdGhlIERNQSBzbGF2ZSBwaHlzX2Fk ZHJfdCB0byBhIGRtYV9hZGRyX3QgdXNpbmcgc29tZXRoaW5nCmxpa2UgdGhpcy4KClRoaXMgc2Vy aWVzIGlzIGJhc2VkIG9uIHRvcCBvZiBhbmQgcmVxdWlyZXMgdGhlIHBhdGNoZXMgZnJvbSBSb2Jp bgpNdXJwaHkgaW4gdGhlIHRhZyAnYXJtL2lvLXBndGFibGUnIGZyb20gdGhlIGlvbW11IHJlcG9z aXRvcnkgYXQ6CgogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dp dC9qb3JvL2lvbW11LmdpdAoKSXQncyB0ZXN0ZWQgb24gYSBLb2Vsc2NoIHdpdGggQ09ORklHX0lQ TU1VX1ZNU0EgYW5kIGJ5IGVuYWJsaW5nIHRoZQppcG1tdV9kcyBub2RlIGluIHI4YTc3OTEuZHRz aS4gSSB2ZXJpZmllZCBvcGVyYXRpb24gYnkgaW50ZXJhY3Rpbmcgd2l0aAovZGV2L21tY2JsazEg YW5kIHRoZSBzZXJpYWwgY29uc29sZSB3aGljaCBib3RoIGFyZSBkZXZpY2VzIGJlaGluZCB0aGUK aW9tbXUuCgpGdXJ0aGVybW9yZSBJIGhhdmUgYXVkaXRlZCB0byB0aGUgYmVzdCBvZiBteSBhYmls aXR5IGFsbCBjYWxsIHBhdGhzCmludm9sdmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBkbWFfYWRk cl90IG9idGFpbmVkIGZyb20KZG1hX21hcF9yZXNvdXJjZSgpIHRvIGlzIG5vdCB1c2VkIGluIGEg d2F5IHdoZXJlIGl0IHdvdWxkIGJlIGV4cGVjdGVkCmZvciB0aGUgbWFwcGluZyB0byBiZSBSQU0g KGhhdmUgYSBzdHJ1Y3QgcGFnZSkuIE1hbnkgdGhhbmtzIHRvIENocmlzdG9waApIZWxsd2lnIGFu ZCBMYXVyZW50IFBpbmNoYXJ0IGZvciB0aGVyZSBpbnB1dCBpbiB0aGlzIGVmZm9ydC4KCiAgKiBk cml2ZXJzL2RtYS9zaC9yY2FyLWRtYWMuYwogICAgT25jZSB0aGUgcGh5c19hZGRyX3QgaXMgbWFw cGVkIHRvIGEgZG1hX2FkZHJfdCB1c2luZwogICAgZG1hX21hcF9yZXNvdXJjZSgpIGl0IGlzIG9u bHkgdXNlZCB0byBjaGVjayB0aGF0IHRoZSB0cmFuc2ZlcmVlIGRvIG5vdAogICAgY3Jvc3MgNEdC IGJvdW5kYXJpZXMgYW5kIHRoZW4gb25seSBkaXJlY3RseSB3cml0dGVuIHRvIEhXIHJlZ2lzdGVy cy4KCiAgKiBkcml2ZXJzL2lvbW11L2lvbW11LmMKICAgIC0gaW9tbXVfbWFwKCkKICAgICAgQ2hl Y2sgdGhhdCBpdCdzIGFsaWduIHRvIG1pbiBwYWdlIHNpemUgb3IgcmV0dXJuIC1FSU5WQUwgdGhl biBjYWxscwogICAgICBkb21haW4tPm9wcy0+bWFwKCkKCiAgKiBkcml2ZXJzL2lvbW11L2lwbW11 LXZtc2EuYwogICAgLSBpcG1tdV9tYXAoKQogICAgICBObyBsb2dpYyBvbmx5IGNhbGxzIGRvbWFp bi0+b3BzLT5tYXAoKQoKICAqIGRyaXZlcnMvaW9tbXUvaW8tcGd0YWJsZS1hcm0uYwogICAgLSBh cm1fbHBhZV9tYXAoKQogICAgICBObyBsb2dpYyBvbmx5IGNhbGxzIF9fYXJtX2xwYWVfbWFwKCkK ICAgIC0gX19hcm1fbHBhZV9tYXAoKQogICAgICBObyBsb2dpYyBvbmx5IGNhbGxzIGFybV9scGFl X2luaXRfcHRlKCkKICAgIC0gYXJtX2xwYWVfaW5pdF9wdGUoKQogICAgICBVc2VkIHRvIGdldCBh IHB0ZToKICAgICAgICBwdGUgfD0gcGZuX3RvX2lvcHRlKHBhZGRyID4+IGRhdGEtPnBnX3NoaWZ0 LCBkYXRhKTsKCiAgKiBkcml2ZXJzL2lvbW11L2lvLXBndGFibGUtYXJtLXY3cy5jCiAgICAtIGFy bV92N3NfbWFwKCkKICAgICAgTm8gbG9naWMgb25seSBjYWxscyBfX2FybV92N3NfbWFwKCkKICAg IC0gX19hcm1fdjdzX21hcCgpCiAgICAgIE5vIGxvZ2ljIG9ubHkgY2FsbHMgYXJtX3Y3c19pbml0 X3B0ZSgpCiAgICAtIGFybV92N3NfaW5pdF9wdGUKICAgICAgVXNlZCB0byBnZXQgYSBwdGU6CiAg ICAgICAgcHRlIHw9IHBhZGRyICYgQVJNX1Y3U19MVkxfTUFTSyhsdmwpOwoKICAqIEFSTSBkbWEt bWFwcGluZwogICAgLSBkbWFfdW5tYXBfKgogICAgICBPbmx5IHZhbGlkIHVubWFwIGlzIGRtYV91 bm1hcF9yZXNvdXJjZSgpIGFsbCBvdGhlcnMgYXJlIGFuIGludmFsaWQKICAgICAgdXNlIGNhc2Uu CiAgICAtIGRtYV9zeW5jX3NpbmdsZV8qCiAgICAgIEludmFsaWQgdXNlIGNhc2UsIG1lbW9yeSB0 aGF0IGlzIG1hcHBlZCBpcyBkZXZpY2UgbWVtb3J5CiAgICAtIGRtYV9jb21tb25fbW1hcCgpIGFu ZCBkbWFfbW1hcF9hdHRycygpCiAgICAgIEludmFsaWQgdXNlIGNhc2UKICAgIC0gZG1hX2NvbW1v bl9nZXRfc2d0YWJsZSgpIGFuZCBkbWFfZ2V0X3NndGFibGVfYXR0cnMoKQogICAgICBJbnZhbGlk IHVzZSBjYXNlLCBvbmx5IGZvciBkbWFfYWxsb2NfKiBhbGxvY2F0ZWQgbWVtb3J5LAogICAgLSBk bWFfbWFwcGluZ19lcnJvcigpCiAgICAgIE9LCgpXaGlsZSB3b3JraW5nIG9uIHRoZSBkbWEtZGVi dWcgcGFydHMgb2YgdGhpcyBzZXJpZXMgSSBmb3VuZCBhbiB1bnJlbGF0ZWQKaXNzdWUgd2l0aCBk cml2ZXJzL2lvbW11L2lvLXBndGFibGUtYXJtLmMgYW5kIENPTkZJR19ETUFfQVBJX0RFQlVHIG9u CnRoZSBLb2Vsc2NoLiBJIHRyaWVkIHRvIGFkZHJlc3MgdGhpcyBpbiB0aGUgdGhyZWFkCmh0dHBz Oi8vbGttbC5vcmcvbGttbC8yMDE2LzUvOC8zMyAsIGhvd2V2ZXIgaXQgdHVybmVkIG91dCBteSBz b2x1dGlvbgp3YXMgbm90IHRoZSBjb3JyZWN0IG9uZS4gSSBoYXZlIG5vdCB0cmllZCB0byBhZGRy ZXNzIHRoaXMgZnVydGhlciBzbwpydW5uaW5nIHRoaXMgc2VyaWVzIHdpdGggQ09ORklHX0RNQV9B UElfREVCVUcgd2lsbCB0cmlnZ2VyIHRoaXMgd2FybmluZwpidXQgaXMgdW5yZWxhdGVkIHRvIHRo aXMgd29yay4KCiogQ2hhbmdlcyBzaW5jZSB2NQotIEFkZCBkbWEtZGVidWcgd29yayB3aGljaCBh ZGRzIGEgbmV3IG1hcHBpbmcgdHlwZSBmb3IgdGhlIHJlc291cmNlCiAgbWFwcGluZyB3aGljaCBj b3JyZWN0bHkgY2FuIGJlIHRyYW5zbGF0ZWQgdG8gYSBwaHlzaWNhbCBhZGRyZXNzLgotIERyb3Ag cGF0Y2hlcyBmcm9tIFJvYmluIE11cnBoeSBzaW5jZSB0aGV5IG5vdyBhcmUgYWNjZXB0ZWQgaW4g dGhlCiAgaW9tbXUgcmVwb3NpdG9yeSBhbmQgYmFzZSB0aGUgc2VyaWVzIG9uIHRoYXQgdHJlZSBp bnN0ZWFkLgotIEFkZCBhIHJldmlldyB0YWcgZnJvbSBMYXVyZW50LgoKKiBDaGFuZ2VzIHNpbmNl IHY0Ci0gTW92ZSB0aGUgbWFwcGluZyBmcm9tIHBoeXNfYWRkcl90IHRvIGRtYV9hZGRyX3QgZnJv bSBzbGF2ZV9jb25maWcgdG8gdGhlCiAgcHJlcGFyZSBjYWxscy4gVGhpcyB3YXkgd2Uga25vdyB0 aGUgZGlyZWN0aW9uIG9mIHRoZSBtYXBwaW5nIGFuZCBkb24ndCBoYXZlCiAgdG8gdXNlIERNQV9C SURJUkVDVElPTkFMLiBUaGFua3MgVmlub2QgZm9yIHN1Z2dlc3RpbmcgdGhpcy4KLSBUbyBiZSBj bGVhciB0aGF0IHRoZSBkYXRhIHR5cGUgZm9yIHNsYXZlIGFkZHJlc3NlcyBhcmUgY2hhbmdlZCBh ZGQgYSBwYXRjaAogIHRoYXQgb25seSBjaGFuZ2VzIHRoZSBkYXRhIHR5cGUgdG8gcGh5c19hZGRy X3QuCi0gRml4ZWQgdXAgY29tbWl0IG1lc3NhZ2VzLgoKKiBDaGFuZ2VzIHNpbmNlIHYzCi0gRm9s ZGVkIGluIGEgZml4IGZyb20gUm9iaW4gdG8gaGlzIHBhdGNoLgotIEFkZGVkIGEgY2hlY2sgdG8g bWFrZSBzdXJlIGRtYV9tYXBfcmVzb3VyY2UgY2FuIG5vdCBiZSB1c2VkIHRvIG1hcCBSQU0gYXMK ICBwb2ludGVkIG91dCBieSBSb2Jpbi4gSSB1c2UgQlVHX09OIHRvIGVuZm9yY2UgdGhpcy4gSXQg bWlnaHQgbm90IGJlIHRoZSBiZXN0CiAgbWV0aG9kIGJ1dCBJIHNhdyBubyBvdGhlciBnb29kIHdh eSBzaW5jZSBETUFfRVJST1JfQ09ERSBtaWdodCBub3QgYmUgZGVmaW5lZAogIG9uIGFsbCBwbGF0 Zm9ybXMuCi0gQWRkZWQgY29tbWVudCBhYm91dCB0aGF0IERUUyBjaGFuZ2VzIHdpbGwgZGlzYWJs ZSAyIERNQSBjaGFubmVscyBkdWUgdG8gYSBIVwogICg/KSBidXQgaW4gdGhlIERNQUMuCi0gRHJv cHBlZCB0aGUgdXNlIG9mIGRtYV9hdHRycywgbm8gbG9uZ2VyIG5lZWRlZC4KLSBDb2xsZWN0ZWQg QWNrZWQtYnkgYW5kIFJldmlld2VkLWJ5IGZyb20gTGF1cmVudC4KLSBWYXJpb3VzIGluZGVudGF0 aW9uIGZpeCB1cHMuCgoqIENoYW5nZXMgc2luY2UgdjIKLSBEcm9wIHBhdGNoIHRvIGFkZCBkbWFf e21hcCx1bm1hcH1fcGFnZV9hdHRycy4KLSBBZGQgZG1hX3ttYXAsdW5tYXB9X3Jlc291cmNlIHRv IGhhbmRsZSB0aGUgbWFwcGluZyB3aXRob3V0IGludm9sdmluZyBhCiAgJ3N0cnVjdCBwYWdlJy4g VGhhbmtzIExhdXJlbnQgYW5kIFJvYmluIGZvciBwb2ludGluZyB0aGlzIG91dC4KLSBVc2Ugc2l6 ZSBpbnN0ZWFkIG9mIGFkZHJlc3MgdG8ga2VlcCB0cmFjayBvZiBpZiBhIG1hcHBpbmcgZXhpc3Qg b3Igbm90CiAgc2luY2UgYWRkciA9PSAwIGlzIHZhbGlkLiBUaGFua3MgTGF1cmVudC4KLSBQaWNr IHVwIHBhdGNoIGZyb20gUm9iaW4gd2l0aCBMYXVyZW50cyBhY2sgKGhvcGUgaXQncyBPSyBmb3Ig bWUgdG8KICBhdHRhY2ggdGhlIGFjaz8pIHRvIGFkZCBJT01NVV9NTUlPLgotIEZpeCBidWcgaW4g cmNhcl9kbWFjX2RldmljZV9jb25maWcgd2hlcmUgdGhlIGVycm9yIGNoZWNrIHdoZXJlCiAgaW52 ZXJ0ZWQuCi0gVXNlIERNQV9CSURJUkVDVElPTkFMIGluIHJjYXJfZG1hY19kZXZpY2VfY29uZmln IHNpbmNlIHdlIGF0IHRoYXQKICBwb2ludCBjYW4ndCBiZSBzdXJlIHdoYXQgZGlyZWN0aW9uIHRo ZSBtYXBwaW5nIGlzIGdvaW5nIHRvIGJlIHVzZWQuCgoqIENoYW5nZXMgc2luY2UgdjEKLSBBZGQg YW5kIHVzZSBhIGRtYV97bWFwLHVubWFwfV9wYWdlX2F0dHJzIHRvIGJlIGFibGUgdG8gbWFwIHRo ZSBwYWdlCiAgdXNpbmcgYXR0cmlidXRlcyBETUFfQVRUUl9OT19LRVJORUxfTUFQUElORyBhbmQK ICBETUFfQVRUUl9TS0lQX0NQVV9TWU5DLiBUaGFua3MgTGF1cmVudC4KLSBEcm9wIGNoZWNrIGlm IGRtYWMgaXMgcGFydCBvZiBhIGlvbW11IGdyb3VwIG9yIG5vdCwgbGV0IHRoZSBETUEKICBtYXBw aW5nIGFwaSBoYW5kbGUgaXQuCi0gTW92ZSBzbGF2ZSBjb25maWd1cmF0aW9uIGRhdGEgYXJvdW5k IGluIHJjYXItZG1hYyB0byBhdm9pZCBjb2RlCiAgZHVwbGljYXRpb24uCi0gRml4IGJ1aWxkIGlz c3VlIHJlcG9ydGVkIGJ5ICdrYnVpbGQgdGVzdCByb2JvdCcgcmVnYXJkaW5nIHBoeXNfdG9fcGFn ZQogIG5vdCBhdmFpbGFiaWxpdHkgb24gc29tZSBjb25maWd1cmF0aW9ucy4KLSBBZGQgRFQgaW5m b3JtYXRpb24gZm9yIHI4YTc3OTEuCgoqIENoYW5nZXMgc2luY2UgUkZDCi0gU3dpdGNoIHRvIHVz ZSB0aGUgZG1hLW1hcHBpbmcgYXBpIGluc3RlYWQgb2YgdXNpbmcgdGhlIGlvbW11X21hcCgpCiAg ZGlyZWN0bHkuIFR1cm5zIG91dCB0aGUgZG1hLW1hcHBlciBpcyBtdWNoIHNtYXJ0ZXIgdGhlbiBt ZS4uLgotIERyb3BwZWQgdGhlIHBhdGNoIHRvIGV4cG9zZSBkb21haW4tPm9wcy0+cGdzaXplX2Jp dG1hcCBmcm9tIHdpdGhpbiB0aGUKICBpb21tdSBhcGkuCi0gRHJvcHBlZCB0aGUgcGF0Y2ggc2hv d2luZyBob3cgSSB0ZXN0ZWQgdGhlIFJGQy4KCk5pa2xhcyBTw7ZkZXJsdW5kICg4KToKICBkbWEt bWFwcGluZzogYWRkIHttYXAsdW5tYXB9X3Jlc291cmNlIHRvIGRtYV9tYXBfb3BzCiAgZG1hLWRl YnVnOiBhZGQgc3VwcG9ydCBmb3IgcmVzb3VyY2UgbWFwcGluZ3MKICBkbWEtbWFwcGluZzogYWRk IGRtYV97bWFwLHVubWFwfV9yZXNvdXJjZQogIGFybTogZG1hLW1hcHBpbmc6IGFkZCB7bWFwLHVu bWFwfV9yZXNvdXJjZSBmb3IgaW9tbXUgb3BzCiAgZG1hZW5naW5lOiByY2FyLWRtYWM6IGdyb3Vw IHNsYXZlIGNvbmZpZ3VyYXRpb24KICBkbWFlbmdpbmU6IHJjYXItZG1hYzogYWRkIGlvbW11IHN1 cHBvcnQgZm9yIHNsYXZlIHRyYW5zZmVycwogIEFSTTogZHRzOiByOGE3NzkwOiBhZGQgaW9tbXVz IHRvIGRtYWMwIGFuZCBkbWFjMQogIEFSTTogZHRzOiByOGE3NzkxOiBhZGQgaW9tbXVzIHRvIGRt YWMwIGFuZCBkbWFjMQoKIERvY3VtZW50YXRpb24vRE1BLUFQSS50eHQgICAgICB8ICAyMiArKysr KystLQogYXJjaC9hcm0vYm9vdC9kdHMvcjhhNzc5MC5kdHNpIHwgIDMwICsrKysrKysrKysrCiBh cmNoL2FybS9ib290L2R0cy9yOGE3NzkxLmR0c2kgfCAgMzAgKysrKysrKysrKysKIGFyY2gvYXJt L21tL2RtYS1tYXBwaW5nLmMgICAgICB8ICA2MyArKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2RtYS9zaC9yY2FyLWRtYWMuYyAgICAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0KIGluY2x1ZGUvbGludXgvZG1hLWRlYnVnLmggICAgICB8ICAxOSAr KysrKysrCiBpbmNsdWRlL2xpbnV4L2RtYS1tYXBwaW5nLmggICAgfCAgNDIgKysrKysrKysrKysr KysrCiBsaWIvZG1hLWRlYnVnLmMgICAgICAgICAgICAgICAgfCAgNTIgKysrKysrKysrKysrKysr KystCiA4IGZpbGVzIGNoYW5nZWQsIDM0NSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkK Ci0tIAoyLjguMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KaW9tbXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0 dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lvbW11