From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v2 5/5] ARM: Unconditionally enable ARM_DMA_USE_IOMMU Date: Wed, 25 Apr 2018 12:10:51 +0200 Message-ID: <20180425101051.15349-5-thierry.reding@gmail.com> References: <20180425101051.15349-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180425101051.15349-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Christoph Hellwig , Joerg Roedel Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Russell King , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Daniel Vetter , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: iommu@lists.linux-foundation.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoZSBBUk1fRE1BX1VT RV9JT01NVSBLY29uZmlnIG9wdGlvbiBoYXMgc2lkZS1lZmZlY3RzIHRoYXQgZHJpdmVycyBjYW4K bm90IG9wdCBpbnRvIGJ1dCBoYXZlIHRvIGV4cGxpY2l0bHkgb3B0IG91dCBvZi4gVGhpcyBjYW4g bGVhZCB0byBzdWJ0bGUKYnVncyB0aGF0IGFyZSBkaWZmaWN1bHQgdG8gdHJhY2sgZG93biBhbmQg bm90IGltbWVkaWF0ZWx5IG9idmlvdXMgdG8gYmUKcmVsYXRlZCB0byB0aGlzIEtjb25maWcgb3B0 aW9uLgoKVG8gYXZvaWQgdGhpcyBjb25mdXNpb24sIGFsd2F5cyBlbmFibGUgdGhlIG9wdGlvbiB0 byBleHBvc2UgYW55IGx1cmtpbmcKYnVncyBvbmNlIGFuZCBhbGxvdyBhbnkgcmVncmVzc2lvbnMg aW50cm9kdWNlZCBieSB0aGUgRE1BL0lPTU1VIGNvZGUgdG8KYmUgY2F1Z2h0IG1vcmUgcXVpY2ts eSBpbiB0aGUgZnV0dXJlLgoKTm90ZSB0aGF0IHNvbWUgZHJpdmVycyBzdGlsbCB1c2UgdGhlIEtj b25maWcgc3ltYm9sIHRvIHByb3ZpZGUgZGlmZmVyZW50CmNvZGUgcGF0aHMgZGVwZW5kaW5nIG9u IHdoYXQgYXJjaGl0ZWN0dXJlIHRoZSBjb2RlIHJ1bnMgb24gKGUuZy4gMzItYml0CkFSTSB2cy4g NjQtYml0IEFSTSB3aGljaCBoYXZlIGRpZmZlcmVudCBhbmQgaW5jb21wYXRpYmxlIGltcGxlbWVu dGF0aW9ucwpvZiB0aGUgRE1BL0lPTU1VIGludGVncmF0aW9uIGNvZGUpLCBzbyBsZWF2ZSB0aGUg c3ltYm9sIGluIHBsYWNlIHRvIGtlZXAKdGhvc2UgZHJpdmVycyB3b3JraW5nLgoKRm9yIHRoZSBs b25nIHRlcm0sIGl0IGlzIHByZWZlcmFibGUgdG8gdHJhbnNpdGlvbiBldmVyeW9uZSB0byB0aGUK Z2VuZXJpYyBETUEvSU9NTVUgaW50ZWdyYXRpb24gY29kZSBpbiBkcml2ZXJzL2lvbW11L2RtYS1p b21tdS5jLgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNv bT4KLS0tCkNoYW5nZXMgaW4gdjI6Ci0gbmV3IHBhdGNoCgogYXJjaC9hcm0vS2NvbmZpZyAgICAg ICAgICAgICAgIHwgIDIgKy0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL2RldmljZS5oICB8ICA2IC0t LS0tLQogYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcuYyAgICAgIHwgMTggLS0tLS0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2lvbW11L0tjb25maWcgICAgICAgICAgfCAgNyAtLS0tLS0tCiBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL0tjb25maWcgfCAgMSAtCiA1IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9LY29uZmlnIGIv YXJjaC9hcm0vS2NvbmZpZwppbmRleCBmYTBiMTkwZjhhMzguLjNjOTFkZTc4NTM1YSAxMDA2NDQK LS0tIGEvYXJjaC9hcm0vS2NvbmZpZworKysgYi9hcmNoL2FybS9LY29uZmlnCkBAIC0xMjQsNyAr MTI0LDcgQEAgY29uZmlnIE5FRURfU0dfRE1BX0xFTkdUSAogCWJvb2wKIAogY29uZmlnIEFSTV9E TUFfVVNFX0lPTU1VCi0JYm9vbAorCWRlZl9ib29sIHkKIAlzZWxlY3QgQVJNX0hBU19TR19DSEFJ TgogCXNlbGVjdCBORUVEX1NHX0RNQV9MRU5HVEgKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5j bHVkZS9hc20vZGV2aWNlLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kZXZpY2UuaAppbmRleCAz MjM0ZmU5YmJhNmUuLmMzY2YzOGUxNjg2NiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9h c20vZGV2aWNlLmgKKysrIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vZGV2aWNlLmgKQEAgLTEzLDkg KzEzLDcgQEAgc3RydWN0IGRldl9hcmNoZGF0YSB7CiAjaWZkZWYgQ09ORklHX0lPTU1VX0FQSQog CXZvaWQgKmlvbW11OyAvKiBwcml2YXRlIElPTU1VIGRhdGEgKi8KICNlbmRpZgotI2lmZGVmIENP TkZJR19BUk1fRE1BX1VTRV9JT01NVQogCXN0cnVjdCBkbWFfaW9tbXVfbWFwcGluZwkqbWFwcGlu ZzsKLSNlbmRpZgogI2lmZGVmIENPTkZJR19YRU4KIAljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMg KmRldl9kbWFfb3BzOwogI2VuZGlmCkBAIC0zMSwxMCArMjksNiBAQCBzdHJ1Y3QgcGRldl9hcmNo ZGF0YSB7CiAjZW5kaWYKIH07CiAKLSNpZmRlZiBDT05GSUdfQVJNX0RNQV9VU0VfSU9NTVUKICNk ZWZpbmUgdG9fZG1hX2lvbW11X21hcHBpbmcoZGV2KSAoKGRldiktPmFyY2hkYXRhLm1hcHBpbmcp Ci0jZWxzZQotI2RlZmluZSB0b19kbWFfaW9tbXVfbWFwcGluZyhkZXYpIE5VTEwKLSNlbmRpZgog CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2RtYS1tYXBwaW5nLmMgYi9hcmNoL2Fy bS9tbS9kbWEtbWFwcGluZy5jCmluZGV4IGNjNjNhMjViZDA4OC4uZjZjMjhlZDU2NTFhIDEwMDY0 NAotLS0gYS9hcmNoL2FybS9tbS9kbWEtbWFwcGluZy5jCisrKyBiL2FyY2gvYXJtL21tL2RtYS1t YXBwaW5nLmMKQEAgLTExNzQsOCArMTE3NCw2IEBAIHN0YXRpYyBpbnQgX19pbml0IGRtYV9kZWJ1 Z19kb19pbml0KHZvaWQpCiB9CiBjb3JlX2luaXRjYWxsKGRtYV9kZWJ1Z19kb19pbml0KTsKIAot I2lmZGVmIENPTkZJR19BUk1fRE1BX1VTRV9JT01NVQotCiBzdGF0aWMgaW50IF9fZG1hX2luZm9f dG9fcHJvdChlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVuc2lnbmVkIGxvbmcgYXR0cnMp CiB7CiAJaW50IHByb3QgPSAwOwpAQCAtMjM2NiwyMCArMjM2NCw2IEBAIHN0YXRpYyB2b2lkIGFy bV90ZWFyZG93bl9pb21tdV9kbWFfb3BzKHN0cnVjdCBkZXZpY2UgKmRldikKIAlhcm1faW9tbXVf cmVsZWFzZV9tYXBwaW5nKG1hcHBpbmcpOwogfQogCi0jZWxzZQotCi1zdGF0aWMgYm9vbCBhcm1f c2V0dXBfaW9tbXVfZG1hX29wcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBkbWFfYmFzZSwgdTY0 IHNpemUsCi0JCQkJICAgIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgKmlvbW11KQotewotCXJldHVy biBmYWxzZTsKLX0KLQotc3RhdGljIHZvaWQgYXJtX3RlYXJkb3duX2lvbW11X2RtYV9vcHMoc3Ry dWN0IGRldmljZSAqZGV2KSB7IH0KLQotI2RlZmluZSBhcm1fZ2V0X2lvbW11X2RtYV9tYXBfb3Bz IGFybV9nZXRfZG1hX21hcF9vcHMKLQotI2VuZGlmCS8qIENPTkZJR19BUk1fRE1BX1VTRV9JT01N VSAqLwotCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9tYXBfb3BzICphcm1fZ2V0X2RtYV9tYXBf b3BzKGJvb2wgY29oZXJlbnQpCiB7CiAJcmV0dXJuIGNvaGVyZW50ID8gJmFybV9jb2hlcmVudF9k bWFfb3BzIDogJmFybV9kbWFfb3BzOwpAQCAtMjQyNiw3ICsyNDEwLDYgQEAgdm9pZCBhcmNoX3Rl YXJkb3duX2RtYV9vcHMoc3RydWN0IGRldmljZSAqZGV2KQogCiB2b2lkIGFyY2hfaW9tbXVfZGV0 YWNoX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0jaWZkZWYgQ09ORklHX0FSTV9ETUFf VVNFX0lPTU1VCiAJc3RydWN0IGRtYV9pb21tdV9tYXBwaW5nICptYXBwaW5nID0gdG9fZG1hX2lv bW11X21hcHBpbmcoZGV2KTsKIAljb25zdCBzdHJ1Y3QgZG1hX21hcF9vcHMgKmRtYV9vcHM7CiAK QEAgLTI0MzgsNSArMjQyMSw0IEBAIHZvaWQgYXJjaF9pb21tdV9kZXRhY2hfZGV2aWNlKHN0cnVj dCBkZXZpY2UgKmRldikKIAogCWRtYV9vcHMgPSBhcm1fZ2V0X2RtYV9tYXBfb3BzKGRldi0+YXJj aGRhdGEuZG1hX2NvaGVyZW50KTsKIAlzZXRfZG1hX29wcyhkZXYsIGRtYV9vcHMpOwotI2VuZGlm CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L0tjb25maWcgYi9kcml2ZXJzL2lvbW11L0tj b25maWcKaW5kZXggZGYxNzFjYjg1ODIyLi43ZjBiM2NhNzZhMTcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvaW9tbXUvS2NvbmZpZworKysgYi9kcml2ZXJzL2lvbW11L0tjb25maWcKQEAgLTIyNiw3ICsy MjYsNiBAQCBjb25maWcgUk9DS0NISVBfSU9NTVUKIAlkZXBlbmRzIG9uIEFSTSB8fCBBUk02NAog CWRlcGVuZHMgb24gQVJDSF9ST0NLQ0hJUCB8fCBDT01QSUxFX1RFU1QKIAlzZWxlY3QgSU9NTVVf QVBJCi0Jc2VsZWN0IEFSTV9ETUFfVVNFX0lPTU1VCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgSU9N TVVzIGZvdW5kIG9uIFJvY2tjaGlwIHJrMzJ4eCBTT0NzLgogCSAgVGhlc2UgSU9NTVVzIGFsbG93 IHZpcnR1YWxpemF0aW9uIG9mIHRoZSBhZGRyZXNzIHNwYWNlIHVzZWQgYnkgbW9zdApAQCAtMjU5 LDcgKzI1OCw2IEBAIGNvbmZpZyBFWFlOT1NfSU9NTVUKIAlkZXBlbmRzIG9uIEFSQ0hfRVhZTk9T ICYmIE1NVQogCWRlcGVuZHMgb24gIUNQVV9CSUdfRU5ESUFOICMgcmV2aXNpdCBkcml2ZXIgaWYg d2UgY2FuIGVuYWJsZSBiaWctZW5kaWFuIHB0ZXMKIAlzZWxlY3QgSU9NTVVfQVBJCi0Jc2VsZWN0 IEFSTV9ETUFfVVNFX0lPTU1VCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgdGhlIElPTU1VIChTeXN0 ZW0gTU1VKSBvZiBTYW1zdW5nIEV4eW5vcyBhcHBsaWNhdGlvbgogCSAgcHJvY2Vzc29yIGZhbWls eS4gVGhpcyBlbmFibGVzIEgvVyBtdWx0aW1lZGlhIGFjY2VsZXJhdG9ycyB0byBzZWUKQEAgLTI4 Myw3ICsyODEsNiBAQCBjb25maWcgSVBNTVVfVk1TQQogCWRlcGVuZHMgb24gQVJDSF9SRU5FU0FT IHx8IChDT01QSUxFX1RFU1QgJiYgIUdFTkVSSUNfQVRPTUlDNjQpCiAJc2VsZWN0IElPTU1VX0FQ SQogCXNlbGVjdCBJT01NVV9JT19QR1RBQkxFX0xQQUUKLQlzZWxlY3QgQVJNX0RNQV9VU0VfSU9N TVUKIAloZWxwCiAJICBTdXBwb3J0IGZvciB0aGUgUmVuZXNhcyBWTVNBLWNvbXBhdGlibGUgSVBN TVUgUmVuZXNhcyBmb3VuZCBpbiB0aGUKIAkgIFItTW9iaWxlIEFQRTYgYW5kIFItQ2FyIEgyL00y IFNvQ3MuCkBAIC0zMDQsNyArMzAxLDYgQEAgY29uZmlnIEFSTV9TTU1VCiAJZGVwZW5kcyBvbiAo QVJNNjQgfHwgQVJNKSAmJiBNTVUKIAlzZWxlY3QgSU9NTVVfQVBJCiAJc2VsZWN0IElPTU1VX0lP X1BHVEFCTEVfTFBBRQotCXNlbGVjdCBBUk1fRE1BX1VTRV9JT01NVSBpZiBBUk0KIAloZWxwCiAJ ICBTdXBwb3J0IGZvciBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIEFSTSBTeXN0ZW0gTU1VIGFyY2hp dGVjdHVyZQogCSAgdmVyc2lvbnMgMSBhbmQgMi4KQEAgLTM0NCw3ICszNDAsNiBAQCBjb25maWcg TVRLX0lPTU1VCiAJYm9vbCAiTVRLIElPTU1VIFN1cHBvcnQiCiAJZGVwZW5kcyBvbiBBUk0gfHwg QVJNNjQKIAlkZXBlbmRzIG9uIEFSQ0hfTUVESUFURUsgfHwgQ09NUElMRV9URVNUCi0Jc2VsZWN0 IEFSTV9ETUFfVVNFX0lPTU1VCiAJc2VsZWN0IElPTU1VX0FQSQogCXNlbGVjdCBJT01NVV9ETUEK IAlzZWxlY3QgSU9NTVVfSU9fUEdUQUJMRV9BUk1WN1MKQEAgLTM2MSw3ICszNTYsNiBAQCBjb25m aWcgTVRLX0lPTU1VX1YxCiAJYm9vbCAiTVRLIElPTU1VIFZlcnNpb24gMSAoTTRVIGdlbjEpIFN1 cHBvcnQiCiAJZGVwZW5kcyBvbiBBUk0KIAlkZXBlbmRzIG9uIEFSQ0hfTUVESUFURUsgfHwgQ09N UElMRV9URVNUCi0Jc2VsZWN0IEFSTV9ETUFfVVNFX0lPTU1VCiAJc2VsZWN0IElPTU1VX0FQSQog CXNlbGVjdCBNRU1PUlkKIAlzZWxlY3QgTVRLX1NNSQpAQCAtMzc5LDcgKzM3Myw2IEBAIGNvbmZp ZyBRQ09NX0lPTU1VCiAJZGVwZW5kcyBvbiBIQVNfRE1BCiAJc2VsZWN0IElPTU1VX0FQSQogCXNl bGVjdCBJT01NVV9JT19QR1RBQkxFX0xQQUUKLQlzZWxlY3QgQVJNX0RNQV9VU0VfSU9NTVUKIAlo ZWxwCiAJICBTdXBwb3J0IGZvciBJT01NVSBvbiBjZXJ0YWluIFF1YWxjb21tIFNvQ3MuCiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vS2NvbmZpZyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vS2NvbmZpZwppbmRleCBlMzIyOWY3YmFlZDEuLjVmNzEzNWIwNTJlZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29uZmlnCisrKyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vS2NvbmZpZwpAQCAtNjYsNyArNjYsNiBAQCBjb25maWcgVklERU9fT01BUDMKIAlk ZXBlbmRzIG9uIChBUkNIX09NQVAzICYmIE9NQVBfSU9NTVUpIHx8IENPTVBJTEVfVEVTVAogCWRl cGVuZHMgb24gQ09NTU9OX0NMSwogCWRlcGVuZHMgb24gSEFTX0RNQSAmJiBPRgotCXNlbGVjdCBB Uk1fRE1BX1VTRV9JT01NVSBpZiBPTUFQX0lPTU1VCiAJc2VsZWN0IFZJREVPQlVGMl9ETUFfQ09O VElHCiAJc2VsZWN0IE1GRF9TWVNDT04KIAlzZWxlY3QgVjRMMl9GV05PREUKLS0gCjIuMTcuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBt YWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: thierry.reding@gmail.com (Thierry Reding) Date: Wed, 25 Apr 2018 12:10:51 +0200 Subject: [PATCH v2 5/5] ARM: Unconditionally enable ARM_DMA_USE_IOMMU In-Reply-To: <20180425101051.15349-1-thierry.reding@gmail.com> References: <20180425101051.15349-1-thierry.reding@gmail.com> Message-ID: <20180425101051.15349-5-thierry.reding@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org From: Thierry Reding The ARM_DMA_USE_IOMMU Kconfig option has side-effects that drivers can not opt into but have to explicitly opt out of. This can lead to subtle bugs that are difficult to track down and not immediately obvious to be related to this Kconfig option. To avoid this confusion, always enable the option to expose any lurking bugs once and allow any regressions introduced by the DMA/IOMMU code to be caught more quickly in the future. Note that some drivers still use the Kconfig symbol to provide different code paths depending on what architecture the code runs on (e.g. 32-bit ARM vs. 64-bit ARM which have different and incompatible implementations of the DMA/IOMMU integration code), so leave the symbol in place to keep those drivers working. For the long term, it is preferable to transition everyone to the generic DMA/IOMMU integration code in drivers/iommu/dma-iommu.c. Signed-off-by: Thierry Reding --- Changes in v2: - new patch arch/arm/Kconfig | 2 +- arch/arm/include/asm/device.h | 6 ------ arch/arm/mm/dma-mapping.c | 18 ------------------ drivers/iommu/Kconfig | 7 ------- drivers/media/platform/Kconfig | 1 - 5 files changed, 1 insertion(+), 33 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index fa0b190f8a38..3c91de78535a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -124,7 +124,7 @@ config NEED_SG_DMA_LENGTH bool config ARM_DMA_USE_IOMMU - bool + def_bool y select ARM_HAS_SG_CHAIN select NEED_SG_DMA_LENGTH diff --git a/arch/arm/include/asm/device.h b/arch/arm/include/asm/device.h index 3234fe9bba6e..c3cf38e16866 100644 --- a/arch/arm/include/asm/device.h +++ b/arch/arm/include/asm/device.h @@ -13,9 +13,7 @@ struct dev_archdata { #ifdef CONFIG_IOMMU_API void *iommu; /* private IOMMU data */ #endif -#ifdef CONFIG_ARM_DMA_USE_IOMMU struct dma_iommu_mapping *mapping; -#endif #ifdef CONFIG_XEN const struct dma_map_ops *dev_dma_ops; #endif @@ -31,10 +29,6 @@ struct pdev_archdata { #endif }; -#ifdef CONFIG_ARM_DMA_USE_IOMMU #define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping) -#else -#define to_dma_iommu_mapping(dev) NULL -#endif #endif diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index cc63a25bd088..f6c28ed5651a 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -1174,8 +1174,6 @@ static int __init dma_debug_do_init(void) } core_initcall(dma_debug_do_init); -#ifdef CONFIG_ARM_DMA_USE_IOMMU - static int __dma_info_to_prot(enum dma_data_direction dir, unsigned long attrs) { int prot = 0; @@ -2366,20 +2364,6 @@ static void arm_teardown_iommu_dma_ops(struct device *dev) arm_iommu_release_mapping(mapping); } -#else - -static bool arm_setup_iommu_dma_ops(struct device *dev, u64 dma_base, u64 size, - const struct iommu_ops *iommu) -{ - return false; -} - -static void arm_teardown_iommu_dma_ops(struct device *dev) { } - -#define arm_get_iommu_dma_map_ops arm_get_dma_map_ops - -#endif /* CONFIG_ARM_DMA_USE_IOMMU */ - static const struct dma_map_ops *arm_get_dma_map_ops(bool coherent) { return coherent ? &arm_coherent_dma_ops : &arm_dma_ops; @@ -2426,7 +2410,6 @@ void arch_teardown_dma_ops(struct device *dev) void arch_iommu_detach_device(struct device *dev) { -#ifdef CONFIG_ARM_DMA_USE_IOMMU struct dma_iommu_mapping *mapping = to_dma_iommu_mapping(dev); const struct dma_map_ops *dma_ops; @@ -2438,5 +2421,4 @@ void arch_iommu_detach_device(struct device *dev) dma_ops = arm_get_dma_map_ops(dev->archdata.dma_coherent); set_dma_ops(dev, dma_ops); -#endif } diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index df171cb85822..7f0b3ca76a17 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -226,7 +226,6 @@ config ROCKCHIP_IOMMU depends on ARM || ARM64 depends on ARCH_ROCKCHIP || COMPILE_TEST select IOMMU_API - select ARM_DMA_USE_IOMMU help Support for IOMMUs found on Rockchip rk32xx SOCs. These IOMMUs allow virtualization of the address space used by most @@ -259,7 +258,6 @@ config EXYNOS_IOMMU depends on ARCH_EXYNOS && MMU depends on !CPU_BIG_ENDIAN # revisit driver if we can enable big-endian ptes select IOMMU_API - select ARM_DMA_USE_IOMMU help Support for the IOMMU (System MMU) of Samsung Exynos application processor family. This enables H/W multimedia accelerators to see @@ -283,7 +281,6 @@ config IPMMU_VMSA depends on ARCH_RENESAS || (COMPILE_TEST && !GENERIC_ATOMIC64) select IOMMU_API select IOMMU_IO_PGTABLE_LPAE - select ARM_DMA_USE_IOMMU help Support for the Renesas VMSA-compatible IPMMU Renesas found in the R-Mobile APE6 and R-Car H2/M2 SoCs. @@ -304,7 +301,6 @@ config ARM_SMMU depends on (ARM64 || ARM) && MMU select IOMMU_API select IOMMU_IO_PGTABLE_LPAE - select ARM_DMA_USE_IOMMU if ARM help Support for implementations of the ARM System MMU architecture versions 1 and 2. @@ -344,7 +340,6 @@ config MTK_IOMMU bool "MTK IOMMU Support" depends on ARM || ARM64 depends on ARCH_MEDIATEK || COMPILE_TEST - select ARM_DMA_USE_IOMMU select IOMMU_API select IOMMU_DMA select IOMMU_IO_PGTABLE_ARMV7S @@ -361,7 +356,6 @@ config MTK_IOMMU_V1 bool "MTK IOMMU Version 1 (M4U gen1) Support" depends on ARM depends on ARCH_MEDIATEK || COMPILE_TEST - select ARM_DMA_USE_IOMMU select IOMMU_API select MEMORY select MTK_SMI @@ -379,7 +373,6 @@ config QCOM_IOMMU depends on HAS_DMA select IOMMU_API select IOMMU_IO_PGTABLE_LPAE - select ARM_DMA_USE_IOMMU help Support for IOMMU on certain Qualcomm SoCs. diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index e3229f7baed1..5f7135b052ed 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -66,7 +66,6 @@ config VIDEO_OMAP3 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST depends on COMMON_CLK depends on HAS_DMA && OF - select ARM_DMA_USE_IOMMU if OMAP_IOMMU select VIDEOBUF2_DMA_CONTIG select MFD_SYSCON select V4L2_FWNODE -- 2.17.0