From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: Re: [PATCH v7 6/6] drm/msm: iommu: Replace runtime calls with runtime suppliers Date: Wed, 14 Feb 2018 09:47:04 +0530 Message-ID: References: <1517999482-17317-1-git-send-email-vivek.gautam@codeaurora.org> <1517999482-17317-7-git-send-email-vivek.gautam@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Tomasz Figa Cc: Mark Rutland , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux PM , David Airlie , Will Deacon , "list-Y9sIeH5OGRo@public.gmane.org:IOMMU DRIVERS , Joerg Roedel , " , "Rafael J. Wysocki" "list-Y9sIeH5OGRo@public.gmane.org:IOMMU DRIVERS , Joerg Roedel , " , dri-devel , Linux Kernel Mailing List , Rob Clark , Rob Herring , Greg KH , freedreno , Robin Murphy , Stephen Boyd , linux-arm-msm List-Id: linux-arm-msm@vger.kernel.org SGkgVG9tYXN6LAoKT24gV2VkLCBGZWIgMTQsIDIwMTggYXQgODozMSBBTSwgVG9tYXN6IEZpZ2Eg PHRmaWdhQGNocm9taXVtLm9yZz4gd3JvdGU6Cj4gT24gV2VkLCBGZWIgMTQsIDIwMTggYXQgMTE6 MTMgQU0sIFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4gd3JvdGU6Cj4+IE9uIFR1ZSwg RmViIDEzLCAyMDE4IGF0IDg6NTkgUE0sIFRvbWFzeiBGaWdhIDx0ZmlnYUBjaHJvbWl1bS5vcmc+ IHdyb3RlOgo+Pj4gT24gV2VkLCBGZWIgMTQsIDIwMTggYXQgMzowMyBBTSwgUm9iIENsYXJrIDxy b2JkY2xhcmtAZ21haWwuY29tPiB3cm90ZToKPj4+PiBPbiBUdWUsIEZlYiAxMywgMjAxOCBhdCA0 OjEwIEFNLCBUb21hc3ogRmlnYSA8dGZpZ2FAY2hyb21pdW0ub3JnPiB3cm90ZToKPj4+Pj4gSGkg Vml2ZWssCj4+Pj4+Cj4+Pj4+IFRoYW5rcyBmb3IgdGhlIHBhdGNoLiBQbGVhc2Ugc2VlIG15IGNv bW1lbnRzIGlubGluZS4KPj4+Pj4KPj4+Pj4gT24gV2VkLCBGZWIgNywgMjAxOCBhdCA3OjMxIFBN LCBWaXZlayBHYXV0YW0KPj4+Pj4gPHZpdmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9yZz4gd3JvdGU6 Cj4+Pj4+PiBXaGlsZSBoYW5kbGluZyB0aGUgY29uY2VybmVkIGlvbW11LCB0aGVyZSBzaG91bGQg bm90IGJlIGEKPj4+Pj4+IG5lZWQgdG8gcG93ZXIgY29udHJvbCB0aGUgZHJtIGRldmljZXMgZnJv bSBpb21tdSBpbnRlcmZhY2UuCj4+Pj4+PiBJZiB0aGVzZSBkcm0gZGV2aWNlcyBuZWVkIHRvIGJl IHBvd2VyZWQgYXJvdW5kIHRoaXMgdGltZSwKPj4+Pj4+IHRoZSByZXNwZWN0aXZlIGRyaXZlcnMg c2hvdWxkIHRha2UgY2FyZSBvZiB0aGlzLgo+Pj4+Pj4KPj4+Pj4+IFJlcGxhY2UgdGhlIHBtX3J1 bnRpbWVfZ2V0L3B1dF9zeW5jKDxkcm1fZGV2aWNlPikgd2l0aAo+Pj4+Pj4gcG1fcnVudGltZV9n ZXQvcHV0X3N1cHBsaWVycyg8ZHJtX2RldmljZT4pIGNhbGxzLCB0byBwb3dlci11cAo+Pj4+Pj4g dGhlIGNvbm5lY3RlZCBpb21tdSB0aHJvdWdoIHRoZSBkZXZpY2UgbGluayBpbnRlcmZhY2UuCj4+ Pj4+PiBJbiBjYXNlIHRoZSBkZXZpY2UgbGluayBpcyBub3Qgc2V0dXAgdGhlc2UgZ2V0L3B1dF9z dXBwbGllcnMoKQo+Pj4+Pj4gY2FsbHMgd2lsbCBiZSBhIG5vLW9wLCBhbmQgdGhlIGlvbW11IGRy aXZlciBzaG91bGQgdGFrZSBjYXJlIG9mCj4+Pj4+PiBwb3dlcmluZyBvbiBpdHMgZGV2aWNlcyBh Y2NvcmRpbmdseS4KPj4+Pj4+Cj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBWaXZlayBHYXV0YW0gPHZp dmVrLmdhdXRhbUBjb2RlYXVyb3JhLm9yZz4KPj4+Pj4+IC0tLQo+Pj4+Pj4gIGRyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2lvbW11LmMgfCAxNiArKysrKysrKy0tLS0tLS0tCj4+Pj4+PiAgMSBmaWxl IGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPj4+Pj4+Cj4+Pj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21faW9tbXUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2lvbW11LmMKPj4+Pj4+IGluZGV4IGIyM2QzMzYyMmYzNy4uMWFiNjI5YmJl ZTY5IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21faW9tbXUuYwo+ Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21faW9tbXUuYwo+Pj4+Pj4gQEAgLTQw LDkgKzQwLDkgQEAgc3RhdGljIGludCBtc21faW9tbXVfYXR0YWNoKHN0cnVjdCBtc21fbW11ICpt bXUsIGNvbnN0IGNoYXIgKiBjb25zdCAqbmFtZXMsCj4+Pj4+PiAgICAgICAgIHN0cnVjdCBtc21f aW9tbXUgKmlvbW11ID0gdG9fbXNtX2lvbW11KG1tdSk7Cj4+Pj4+PiAgICAgICAgIGludCByZXQ7 Cj4+Pj4+Pgo+Pj4+Pj4gLSAgICAgICBwbV9ydW50aW1lX2dldF9zeW5jKG1tdS0+ZGV2KTsKPj4+ Pj4+ICsgICAgICAgcG1fcnVudGltZV9nZXRfc3VwcGxpZXJzKG1tdS0+ZGV2KTsKPj4+Pj4+ICAg ICAgICAgcmV0ID0gaW9tbXVfYXR0YWNoX2RldmljZShpb21tdS0+ZG9tYWluLCBtbXUtPmRldik7 Cj4+Pj4+PiAtICAgICAgIHBtX3J1bnRpbWVfcHV0X3N5bmMobW11LT5kZXYpOwo+Pj4+Pj4gKyAg ICAgICBwbV9ydW50aW1lX3B1dF9zdXBwbGllcnMobW11LT5kZXYpOwo+Pj4+Pgo+Pj4+PiBGb3Ig bWUsIGl0IGxvb2tzIGxpa2UgYSB3cm9uZyBwbGFjZSB0byBoYW5kbGUgcnVudGltZSBQTSBvZiBJ T01NVQo+Pj4+PiBoZXJlLiBpb21tdV9hdHRhY2hfZGV2aWNlKCkgY2FsbHMgaW50byBJT01NVSBk cml2ZXIncyBhdHRhY2hfZGV2aWNlKCkKPj4+Pj4gY2FsbGJhY2sgYW5kIHRoYXQncyB3aGVyZSBu ZWNlc3NhcnkgcnVudGltZSBQTSBnZXRzIHNob3VsZCBoYXBwZW4sIGlmCj4+Pj4+IGFueS4gSW4g b3RoZXIgd29yZHMsIGRyaXZlciBBIChNU00gRFJNIGRyaXZlcikgc2hvdWxkbid0IGJlIGRlYWxp bmcKPj4+Pj4gd2l0aCBwb3dlciBzdGF0ZSBvZiBkZXZpY2UgY29udHJvbGxlZCBieSBkcml2ZXIg QiAoQVJNIFNNTVUpLgo+Pj4+Cj4+Pj4gTm90ZSB0aGF0IHdlIGVuZCB1cCBoYXZpbmcgdG8gZG8g dGhlIHNhbWUsIGJlY2F1c2Ugb2YgaW9tbXVfdW5tYXAoKQo+Pj4+IHdoaWxlIERSTSBkcml2ZXIg aXMgcG93ZXJlZCBvZmYuLiAgaXQgbWlnaHQgYmUgY2xlYW5lciBpZiBpdCB3YXMgYWxsCj4+Pj4g c2VsZiBjb250YWluZWQgaW4gdGhlIGlvbW11IGRyaXZlciwgYnV0IHRoYXQgd291bGQgbWFrZSBp dCBzbyBvdGhlcgo+Pj4+IGRyaXZlcnMgY291bGRuJ3QgY2FsbCBpb21tdV91bm1hcCgpIGZyb20g YW4gaXJxIGhhbmRsZXIsIHdoaWNoIGlzCj4+Pj4gYXBwYXJlbnRseSBzb21ldGhpbmcgdGhhdCBz b21lIG9mIHRoZW0gd2FudCB0byBkby4uCj4+Pgo+Pj4gSSdkIGFzc3VtZSB0aGF0IHJ1bnRpbWUg UE0gc3RhdHVzIGlzIGFscmVhZHkgZ3VhcmFudGVlZCB0byBiZSBhY3RpdmUKPj4+IHdoZW4gdGhl IElSUSBoYW5kbGVyIGlzIHJ1bm5pbmcsIGJ5IHNvbWUgb3RoZXIgbWVhbnMgKGUuZy4KPj4+IHBt X3J1bnRpbWVfZ2V0X3N5bmMoKSBjYWxsZWQgZWFybGllciwgd2hlbiBxdWV1aW5nIHNvbWUgd29y ayB0byB0aGUKPj4+IGhhcmR3YXJlKS4gT3RoZXJ3aXNlLCBJJ20gbm90IHN1cmUgaG93IGEgcG93 ZXJlZCBkb3duIGRldmljZSBjb3VsZAo+Pj4gdHJpZ2dlciBhbiBJUlEuCj4+Pgo+Pj4gU28sIGlm IHRoZSBtYXN0ZXIgZGV2aWNlIHBvd2VyIGlzIGFscmVhZHkgb24sIHN1cHBsaWVycyBzaG91bGQg YmUKPj4+IHBvd2VyZWQgb24gYXMgd2VsbCwgdGhhbmtzIHRvIGRldmljZSBsaW5rcy4KPj4+Cj4+ Cj4+IHVtbSwgdGhhdCBpcyBraW5kb2YgdGhlIGludmVyc2Ugb2YgdGhlIHByb2JsZW0uLiAgdGhl IHByb2JsZW0gaXMKPj4gdGhpbmdzIGxpa2UgZ3B1IGRyaXZlciAoYW5kIHY0bDIgZHJpdmVycyB0 aGF0IGltcG9ydCBkbWEtYnVmJ3MsCj4+IGFmYWljdCkuLiB0aGV5IHdpbGwgcG90ZW50aWFsbHkg Y2FsbCBpb21tdS0+dW5tYXAoKSB3aGVuIGRldmljZSBpcyBub3QKPj4gYWN0aXZlIChkdWUgdG8g dXNlcnNwYWNlIG9yIHRoaW5ncyBiZXlvbmQgdGhlIGNvbnRyb2wgb2YgdGhlIGRyaXZlcikuLgo+ PiBzbyAqdGhleSogd291bGQgd2FudCBpb21tdSB0byBkbyBwbSBnZXQvcHV0IGNhbGxzLgo+Cj4g V2hpY2ggaXMgZmluZSBhbmQgd2hpY2ggaXMgYWN0dWFsbHkgYWxyZWFkeSBkb25lIGJ5IG9uZSBv ZiB0aGUgcGF0Y2hlcwo+IGluIHRoaXMgc2VyaWVzLCBub3QgZm9yIG1hcC91bm1hcCwgYnV0IHBy b2JlLCBhZGRfZGV2aWNlLAo+IHJlbW92ZV9kZXZpY2UuIEhhdmluZyBwYXJ0cyBvZiB0aGUgQVBJ IGRvaW5nIGl0IGluc2lkZSB0aGUgY2FsbGJhY2sKPiBhbmQgb3RoZXIgcGFydHMgb3V0c2lkZSBz b3VuZHMgYXQgbGVhc3QgaW5jb25zaXN0ZW50Lgo+Cj4+IEJ1dCBvdGhlciBkcml2ZXJzCj4+IHRy eWluZyB0byB1bm1hcCBmcm9tIGlycSBjdHggd291bGQgbm90LiAgV2hpY2ggaXMgdGhlIGNvbnRy YWRpY3RvcnkKPj4gcmVxdWlyZW1lbnQgdGhhdCBsZWFkIHRvIHRoZSBpZGVhIG9mIGlvbW11IHVz ZXIgcG93ZXJpbmcgdXAgaW9tbXUgZm9yCj4+IHVubWFwLgo+Cj4gU29ycnksIG1heWJlIEkgd2Fz bid0IGNsZWFyLiBNeSBsYXN0IG1lc3NhZ2Ugd2FzIHN1cHBvc2VkIHRvIHNob3cgdGhhdAo+IGl0 J3Mgbm90IGNvbnRyYWRpY3RvcnkgYXQgYWxsLCBiZWNhdXNlICJvdGhlciBkcml2ZXJzIHRyeWlu ZyB0byB1bm1hcAo+IGZyb20gaXJxIGN0eCIgd291bGQgYWxyZWFkeSBoYXZlIGNhbGxlZCBwbV9y dW50aW1lX2dldF8qKCkgZWFybGllcgo+IGZyb20gYSBub24taXJxIGN0eCwgd2hpY2ggd291bGQg aGF2ZSBhbHNvIGRvbmUgdGhlIHNhbWUgb24gYWxsIHRoZQo+IGxpbmtlZCBzdXBwbGllcnMsIGlu Y2x1ZGluZyB0aGUgSU9NTVUuIFRoZSB1bHRpbWF0ZSByZXN1bHQgd291bGQgYmUKPiB0aGF0IHRo ZSBtYXAvdW5tYXAoKSBvZiB0aGUgSU9NTVUgZHJpdmVyIGNhbGxpbmcgcG1fcnVudGltZV9nZXRf c3luYygpCj4gd291bGQgZG8gbm90aGluZyBiZXNpZGVzIGluY3JlbWVudGluZyB0aGUgcmVmZXJl bmNlIGNvdW50LgoKVGhlIGVudGlyZSBwb2ludCB3YXMgdG8gYXZvaWQgdGhlIHNsb3dwYXRoIHRo YXQgcG1fcnVudGltZV9nZXQvcHV0X3N5bmMoKQp3b3VsZCBhZGQgaW4gbWFwL3VubWFwLiBJdCB3 b3VsZCBub3QgYmUgY29ycmVjdCB0byBhZGQgYSBzbG93cGF0aCBpbiBpcnFfY3R4CmZvciB0YWtp bmcgY2FyZSBvZiBub24taXJxX2N0eCBhbmQgZm9yIHRoZSBzaXR1YXRpb25zIHdoZXJlIG1hc3Rl ciBpcyBhbHJlYWR5CnBvd2VyZWQtb2ZmLgoKPgo+Pgo+PiBUaGVyZSBoYXMgYWxyZWFkeSBiZWVu IHNvbWUgZGlzY3Vzc2lvbiBhYm91dCB0aGlzIG9uIHZhcmlvdXMgZWFybGllcgo+PiBwZXJtdXRh dGlvbnMgb2YgdGhpcyBwYXRjaHNldC4gIEkgdGhpbmsgd2UgaGF2ZSBleGhhdXN0ZWQgYWxsIG90 aGVyCj4+IG9wdGlvbnMuCj4KPiBJIGd1ZXNzIEkgc2hvdWxkIGhhdmUgcmVhZCB0aG9zZS4gTGV0 IG1lIGRvIHRoYXQgbm93LgpZZWEsIGkgcG9pbnQgdG8gdGhlIHRocmVhZCBpbiBjb3ZlciBsZXR0 ZXIgYW5kIFtQQVRDSCAxLzZdLgpUaGFua3MuCgpyZWdhcmRzClZpdmVrCgo+Cj4gQmVzdCByZWdh cmRzLAo+IFRvbWFzego+IC0tCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQg dGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LWFybS1tc20iIGluCj4gdGhlIGJvZHkgb2YgYSBt ZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPiBNb3JlIG1ham9yZG9tbyBpbmZv IGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwKCgoKLS0gClFV QUxDT01NIElORElBLCBvbiBiZWhhbGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIElu Yy4gaXMgYSBtZW1iZXIKb2YgQ29kZSBBdXJvcmEgRm9ydW0sIGhvc3RlZCBieSBUaGUgTGludXgg Rm91bmRhdGlvbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x227+KYc3cMjvzEFILrllUFkSqIDVik1eLnO+RkHDt4C2KWgDZF2Tqfv+6RL9ZBe6kF5VXLpl ARC-Seal: i=1; a=rsa-sha256; t=1518581827; cv=none; d=google.com; s=arc-20160816; b=sM+8L1AzhW4ZugEIDuT7vns0GD5TVFW9o3KkZ22tWkwg2CwaWCcuHar6xT6Wy89KvW jIlzNNaPEoJM9N1I4pi1lMVlkZTGOstfxcusM47IVyJmF/5x8Vn3nhfvOAdMGrcrWsxn 4ZDB3ykmgONgwNf4zGL0clsA5KXnBACr8QcYvjDp8PVuWljEl7B+A+2UoH+e9tKRyBV8 pH69NUUqVEW+JGjgoO9L1SRGcwQP/eFiCLokqzjyjQyikb4C5vnNxZVFviwbQaVlX/or lRVrnaCYwiJ3qgSpUbOmFzh2KGHg/kebZWgcc0tS664PSQ79B9C08YvIBu/elRgl5Mhr W7kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=OiwsRH+FBu0XJueJ6zSpcBZa3WXUPLeqxQRUnK8/hHw=; b=lIUoRa95nJaPafBp5L4Ji/8ztv5vATuHGHqWU1J3tdTqczQ2xCIXB2hrkrA3RbDpWB Ph2u56t+FC2b+IV6NvDj1WJtL+sAT1AxWJ/dodoSZ6lOmGsuX0Z4OqqHpnbUoFy3ru5A V2J5KgJsNMi4SpBJvshcP+U8FK1+nAlwQ6TuNQL4mDyyvOwsXM9L0QHwElzZGmpZb1aO 7BmSKGXYfJLd/FBnY/G+WZnxXsR8Z+DvzFe94hrrXxCWQrG9cOimK0u8QdGp54s1NgBj IgxZ2Pq+Lb8GB+APLaDfEdRVP9gHarb4LAoqVraQTU4b1ApGph0R35enP0uNexjzIu9h vgyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=TEkY0PG2; dkim=pass header.i=@codeaurora.org header.s=default header.b=WK44fmPN; spf=pass (google.com: domain of vivek.gautam@codeaurora.org designates 198.145.29.96 as permitted sender) smtp.mailfrom=vivek.gautam@codeaurora.org Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=TEkY0PG2; dkim=pass header.i=@codeaurora.org header.s=default header.b=WK44fmPN; spf=pass (google.com: domain of vivek.gautam@codeaurora.org designates 198.145.29.96 as permitted sender) smtp.mailfrom=vivek.gautam@codeaurora.org DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org DD9DD60F90 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=vivek.gautam@codeaurora.org MIME-Version: 1.0 In-Reply-To: References: <1517999482-17317-1-git-send-email-vivek.gautam@codeaurora.org> <1517999482-17317-7-git-send-email-vivek.gautam@codeaurora.org> From: Vivek Gautam Date: Wed, 14 Feb 2018 09:47:04 +0530 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v7 6/6] drm/msm: iommu: Replace runtime calls with runtime suppliers To: Tomasz Figa Cc: Rob Clark , "list@263.net:IOMMU DRIVERS , Joerg Roedel ," , Rob Herring , Mark Rutland , "Rafael J. Wysocki" , Robin Murphy , Will Deacon , "list@263.net:IOMMU DRIVERS , Joerg Roedel ," , devicetree@vger.kernel.org, Linux Kernel Mailing List , Linux PM , dri-devel , freedreno , David Airlie , Greg KH , Stephen Boyd , linux-arm-msm Content-Type: text/plain; charset="UTF-8" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1591737886832187485?= X-GMAIL-MSGID: =?utf-8?q?1592348457950778555?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Hi Tomasz, On Wed, Feb 14, 2018 at 8:31 AM, Tomasz Figa wrote: > On Wed, Feb 14, 2018 at 11:13 AM, Rob Clark wrote: >> On Tue, Feb 13, 2018 at 8:59 PM, Tomasz Figa wrote: >>> On Wed, Feb 14, 2018 at 3:03 AM, Rob Clark wrote: >>>> On Tue, Feb 13, 2018 at 4:10 AM, Tomasz Figa wrote: >>>>> Hi Vivek, >>>>> >>>>> Thanks for the patch. Please see my comments inline. >>>>> >>>>> On Wed, Feb 7, 2018 at 7:31 PM, Vivek Gautam >>>>> wrote: >>>>>> While handling the concerned iommu, there should not be a >>>>>> need to power control the drm devices from iommu interface. >>>>>> If these drm devices need to be powered around this time, >>>>>> the respective drivers should take care of this. >>>>>> >>>>>> Replace the pm_runtime_get/put_sync() with >>>>>> pm_runtime_get/put_suppliers() calls, to power-up >>>>>> the connected iommu through the device link interface. >>>>>> In case the device link is not setup these get/put_suppliers() >>>>>> calls will be a no-op, and the iommu driver should take care of >>>>>> powering on its devices accordingly. >>>>>> >>>>>> Signed-off-by: Vivek Gautam >>>>>> --- >>>>>> drivers/gpu/drm/msm/msm_iommu.c | 16 ++++++++-------- >>>>>> 1 file changed, 8 insertions(+), 8 deletions(-) >>>>>> >>>>>> diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c >>>>>> index b23d33622f37..1ab629bbee69 100644 >>>>>> --- a/drivers/gpu/drm/msm/msm_iommu.c >>>>>> +++ b/drivers/gpu/drm/msm/msm_iommu.c >>>>>> @@ -40,9 +40,9 @@ static int msm_iommu_attach(struct msm_mmu *mmu, const char * const *names, >>>>>> struct msm_iommu *iommu = to_msm_iommu(mmu); >>>>>> int ret; >>>>>> >>>>>> - pm_runtime_get_sync(mmu->dev); >>>>>> + pm_runtime_get_suppliers(mmu->dev); >>>>>> ret = iommu_attach_device(iommu->domain, mmu->dev); >>>>>> - pm_runtime_put_sync(mmu->dev); >>>>>> + pm_runtime_put_suppliers(mmu->dev); >>>>> >>>>> For me, it looks like a wrong place to handle runtime PM of IOMMU >>>>> here. iommu_attach_device() calls into IOMMU driver's attach_device() >>>>> callback and that's where necessary runtime PM gets should happen, if >>>>> any. In other words, driver A (MSM DRM driver) shouldn't be dealing >>>>> with power state of device controlled by driver B (ARM SMMU). >>>> >>>> Note that we end up having to do the same, because of iommu_unmap() >>>> while DRM driver is powered off.. it might be cleaner if it was all >>>> self contained in the iommu driver, but that would make it so other >>>> drivers couldn't call iommu_unmap() from an irq handler, which is >>>> apparently something that some of them want to do.. >>> >>> I'd assume that runtime PM status is already guaranteed to be active >>> when the IRQ handler is running, by some other means (e.g. >>> pm_runtime_get_sync() called earlier, when queuing some work to the >>> hardware). Otherwise, I'm not sure how a powered down device could >>> trigger an IRQ. >>> >>> So, if the master device power is already on, suppliers should be >>> powered on as well, thanks to device links. >>> >> >> umm, that is kindof the inverse of the problem.. the problem is >> things like gpu driver (and v4l2 drivers that import dma-buf's, >> afaict).. they will potentially call iommu->unmap() when device is not >> active (due to userspace or things beyond the control of the driver).. >> so *they* would want iommu to do pm get/put calls. > > Which is fine and which is actually already done by one of the patches > in this series, not for map/unmap, but probe, add_device, > remove_device. Having parts of the API doing it inside the callback > and other parts outside sounds at least inconsistent. > >> But other drivers >> trying to unmap from irq ctx would not. Which is the contradictory >> requirement that lead to the idea of iommu user powering up iommu for >> unmap. > > Sorry, maybe I wasn't clear. My last message was supposed to show that > it's not contradictory at all, because "other drivers trying to unmap > from irq ctx" would already have called pm_runtime_get_*() earlier > from a non-irq ctx, which would have also done the same on all the > linked suppliers, including the IOMMU. The ultimate result would be > that the map/unmap() of the IOMMU driver calling pm_runtime_get_sync() > would do nothing besides incrementing the reference count. The entire point was to avoid the slowpath that pm_runtime_get/put_sync() would add in map/unmap. It would not be correct to add a slowpath in irq_ctx for taking care of non-irq_ctx and for the situations where master is already powered-off. > >> >> There has already been some discussion about this on various earlier >> permutations of this patchset. I think we have exhausted all other >> options. > > I guess I should have read those. Let me do that now. Yea, i point to the thread in cover letter and [PATCH 1/6]. Thanks. regards Vivek > > Best regards, > Tomasz > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation