From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 35/72] gpu: ipu-v3: Add IDMA channel linking support Date: Fri, 31 Oct 2014 15:54:18 -0700 Message-ID: <1414796095-10107-36-git-send-email-steve_longerbeam@mentor.com> References: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f170.google.com (mail-pd0-f170.google.com [209.85.192.170]) by gabe.freedesktop.org (Postfix) with ESMTP id 52B896E850 for ; Fri, 31 Oct 2014 15:57:17 -0700 (PDT) Received: by mail-pd0-f170.google.com with SMTP id z10so8120684pdj.1 for ; Fri, 31 Oct 2014 15:57:17 -0700 (PDT) In-Reply-To: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QWRkcyBmdW5jdGlvbnMgdG8gbGluayBhbmQgdW5saW5rIElETUFDIHNvdXJjZSBjaGFubmVscyB0 byBzaW5rCmNoYW5uZWxzLgoKU28gZmFyIHRoZSBmb2xsb3dpbmcgbGlua3MgYXJlIHN1cHBvcnRl ZDoKCklQVVYzX0NIQU5ORUxfSUNfUFJQX0VOQ19NRU0gLT4gSVBVVjNfQ0hBTk5FTF9NRU1fUk9U X0VOQwpQVVYzX0NIQU5ORUxfSUNfUFJQX1ZGX01FTSAgIC0+IElQVVYzX0NIQU5ORUxfTUVNX1JP VF9WRgpJUFVWM19DSEFOTkVMX0lDX1BQX01FTSAgICAgIC0+IElQVVYzX0NIQU5ORUxfTUVNX1JP VF9QUAoKTW9yZSBsaW5rcyBjYW4gYmUgYWRkZWQgdG8gdGhlIGlkbWFjX2xpbmtfaW5mb1tdIGFy cmF5LgoKU2lnbmVkLW9mZi1ieTogU3RldmUgTG9uZ2VyYmVhbSA8c3RldmVfbG9uZ2VyYmVhbUBt ZW50b3IuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2lwdS12My9pcHUtY29tbW9uLmMgfCAgMTEyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS92aWRlby9pbXgt aXB1LXYzLmggICAgICB8ICAgIDMgKysKIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNvbW1vbi5jIGIvZHJpdmVy cy9ncHUvaXB1LXYzL2lwdS1jb21tb24uYwppbmRleCBiMWYwZmViLi5jZTFkZTU0IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWNvbW1vbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2lw dS12My9pcHUtY29tbW9uLmMKQEAgLTc1NSw2ICs3NTUsMTE4IEBAIHZvaWQgaXB1X3NldF9pY19z cmNfbXV4KHN0cnVjdCBpcHVfc29jICppcHUsIGludCBjc2lfaWQsIGJvb2wgdmRpKQogfQogRVhQ T1JUX1NZTUJPTF9HUEwoaXB1X3NldF9pY19zcmNfbXV4KTsKIAorCisvKiBJRE1BQyBDaGFubmVs IExpbmtpbmcgKi8KKworc3RydWN0IGlkbWFjX2xpbmtfcmVnX2luZm8geworCWludCBjaG5vOwor CXUzMiByZWc7CisJaW50IHNoaWZ0OworCWludCBiaXRzOworCXUzMiBzZWw7Cit9OworCitzdHJ1 Y3QgaWRtYWNfbGlua19pbmZvIHsKKwlzdHJ1Y3QgaWRtYWNfbGlua19yZWdfaW5mbyBzcmM7CisJ c3RydWN0IGlkbWFjX2xpbmtfcmVnX2luZm8gc2luazsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgaWRtYWNfbGlua19pbmZvIGlkbWFjX2xpbmtfaW5mb1tdID0geworCXsKKwkJLnNyYyAgPSB7 IDIwLCBJUFVfRlNfUFJPQ19GTE9XMSwgIDAsIDQsIDcgfSwKKwkJLnNpbmsgPSB7IDQ1LCBJUFVf RlNfUFJPQ19GTE9XMiwgIDAsIDQsIDEgfSwKKwl9LCB7CisJCS5zcmMgPSAgeyAyMSwgSVBVX0ZT X1BST0NfRkxPVzEsICA4LCA0LCA4IH0sCisJCS5zaW5rID0geyA0NiwgSVBVX0ZTX1BST0NfRkxP VzIsICA0LCA0LCAxIH0sCisJfSwgeworCQkuc3JjID0gIHsgMjIsIElQVV9GU19QUk9DX0ZMT1cx LCAxNiwgNCwgNSB9LAorCQkuc2luayA9IHsgNDcsIElQVV9GU19QUk9DX0ZMT1cyLCAxMiwgNCwg MyB9LAorCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGlkbWFjX2xpbmtfaW5mbyAqZmlu ZF9pZG1hY19saW5rX2luZm8oCisJc3RydWN0IGlwdXYzX2NoYW5uZWwgKnNyYywgc3RydWN0IGlw dXYzX2NoYW5uZWwgKnNpbmspCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlf U0laRShpZG1hY19saW5rX2luZm8pOyBpKyspIHsKKwkJaWYgKHNyYy0+bnVtID09IGlkbWFjX2xp bmtfaW5mb1tpXS5zcmMuY2hubyAmJgorCQkgICAgc2luay0+bnVtID09IGlkbWFjX2xpbmtfaW5m b1tpXS5zaW5rLmNobm8pCisJCQlyZXR1cm4gJmlkbWFjX2xpbmtfaW5mb1tpXTsKKwl9CisKKwly ZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIExpbmtzIGFuIElETUFDIHNvdXJjZSBjaGFubmVsIHRv IGEgc2luayBjaGFubmVsLgorICovCitpbnQgaXB1X2lkbWFjX2xpbmsoc3RydWN0IGlwdXYzX2No YW5uZWwgKnNyYywgc3RydWN0IGlwdXYzX2NoYW5uZWwgKnNpbmspCit7CisJc3RydWN0IGlwdV9z b2MgKmlwdSA9IHNyYy0+aXB1OworCWNvbnN0IHN0cnVjdCBpZG1hY19saW5rX2luZm8gKmxpbms7 CisJdTMyIHNyY19yZWcsIHNpbmtfcmVnLCBzcmNfbWFzaywgc2lua19tYXNrOworCXVuc2lnbmVk IGxvbmcgZmxhZ3M7CisKKwlsaW5rID0gZmluZF9pZG1hY19saW5rX2luZm8oc3JjLCBzaW5rKTsK KwlpZiAoIWxpbmspCisJCXJldHVybiAtRUlOVkFMOworCisJc3JjX21hc2sgPSAoKDEgPDwgbGlu ay0+c3JjLmJpdHMpIC0gMSkgPDwgbGluay0+c3JjLnNoaWZ0OworCXNpbmtfbWFzayA9ICgoMSA8 PCBsaW5rLT5zaW5rLmJpdHMpIC0gMSkgPDwgbGluay0+c2luay5zaGlmdDsKKworCXNwaW5fbG9j a19pcnFzYXZlKCZpcHUtPmxvY2ssIGZsYWdzKTsKKworCXNyY19yZWcgPSBpcHVfY21fcmVhZChp cHUsIGxpbmstPnNyYy5yZWcpOworCXNpbmtfcmVnID0gaXB1X2NtX3JlYWQoaXB1LCBsaW5rLT5z aW5rLnJlZyk7CisKKwlzcmNfcmVnICY9IH5zcmNfbWFzazsKKwlzcmNfcmVnIHw9IChsaW5rLT5z cmMuc2VsIDw8IGxpbmstPnNyYy5zaGlmdCk7CisKKwlzaW5rX3JlZyAmPSB+c2lua19tYXNrOwor CXNpbmtfcmVnIHw9IChsaW5rLT5zaW5rLnNlbCA8PCBsaW5rLT5zaW5rLnNoaWZ0KTsKKworCWlw dV9jbV93cml0ZShpcHUsIHNyY19yZWcsIGxpbmstPnNyYy5yZWcpOworCWlwdV9jbV93cml0ZShp cHUsIHNpbmtfcmVnLCBsaW5rLT5zaW5rLnJlZyk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZpcHUtPmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlw dV9pZG1hY19saW5rKTsKKworLyoKKyAqIFVubGlua3MgSURNQUMgc291cmNlIGFuZCBzaW5rIGNo YW5uZWxzLgorICovCitpbnQgaXB1X2lkbWFjX3VubGluayhzdHJ1Y3QgaXB1djNfY2hhbm5lbCAq c3JjLCBzdHJ1Y3QgaXB1djNfY2hhbm5lbCAqc2luaykKK3sKKwlzdHJ1Y3QgaXB1X3NvYyAqaXB1 ID0gc3JjLT5pcHU7CisJY29uc3Qgc3RydWN0IGlkbWFjX2xpbmtfaW5mbyAqbGluazsKKwl1MzIg c3JjX3JlZywgc2lua19yZWcsIHNyY19tYXNrLCBzaW5rX21hc2s7CisJdW5zaWduZWQgbG9uZyBm bGFnczsKKworCWxpbmsgPSBmaW5kX2lkbWFjX2xpbmtfaW5mbyhzcmMsIHNpbmspOworCWlmICgh bGluaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcmNfbWFzayA9ICgoMSA8PCBsaW5rLT5zcmMu Yml0cykgLSAxKSA8PCBsaW5rLT5zcmMuc2hpZnQ7CisJc2lua19tYXNrID0gKCgxIDw8IGxpbmst PnNpbmsuYml0cykgLSAxKSA8PCBsaW5rLT5zaW5rLnNoaWZ0OworCisJc3Bpbl9sb2NrX2lycXNh dmUoJmlwdS0+bG9jaywgZmxhZ3MpOworCisJc3JjX3JlZyA9IGlwdV9jbV9yZWFkKGlwdSwgbGlu ay0+c3JjLnJlZyk7CisJc2lua19yZWcgPSBpcHVfY21fcmVhZChpcHUsIGxpbmstPnNpbmsucmVn KTsKKworCXNyY19yZWcgJj0gfnNyY19tYXNrOworCXNpbmtfcmVnICY9IH5zaW5rX21hc2s7CisK KwlpcHVfY21fd3JpdGUoaXB1LCBzcmNfcmVnLCBsaW5rLT5zcmMucmVnKTsKKwlpcHVfY21fd3Jp dGUoaXB1LCBzaW5rX3JlZywgbGluay0+c2luay5yZWcpOworCisJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmaXB1LT5sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQ TChpcHVfaWRtYWNfdW5saW5rKTsKKwogc3RydWN0IGlwdV9kZXZ0eXBlIHsKIAljb25zdCBjaGFy ICpuYW1lOwogCXVuc2lnbmVkIGxvbmcgY21fb2ZzOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS92aWRl by9pbXgtaXB1LXYzLmggYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAppbmRleCBmNDhkZWQ2 Li5kZjRjYzVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAorKysgYi9p bmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaApAQCAtMTI5LDYgKzEyOSw3IEBAIGVudW0gaXB1X2No YW5uZWxfaXJxIHsKICNkZWZpbmUgSVBVVjNfQ0hBTk5FTF9ST1RfVkZfTUVNCQk0OQogI2RlZmlu ZSBJUFVWM19DSEFOTkVMX1JPVF9QUF9NRU0JCTUwCiAjZGVmaW5lIElQVVYzX0NIQU5ORUxfTUVN X0JHX1NZTkNfQUxQSEEJCTUxCisjZGVmaW5lIElQVVYzX05VTV9DSEFOTkVMUwkJCTY0CiAKIGlu dCBpcHVfbWFwX2lycShzdHJ1Y3QgaXB1X3NvYyAqaXB1LCBpbnQgaXJxKTsKIGludCBpcHVfaWRt YWNfY2hhbm5lbF9pcnEoc3RydWN0IGlwdV9zb2MgKmlwdSwgc3RydWN0IGlwdXYzX2NoYW5uZWwg KmNoYW5uZWwsCkBAIC0xNzEsNiArMTcyLDggQEAgaW50IGlwdV9pZG1hY19nZXRfY3VycmVudF9i dWZmZXIoc3RydWN0IGlwdXYzX2NoYW5uZWwgKmNoYW5uZWwpOwogYm9vbCBpcHVfaWRtYWNfYnVm ZmVyX2lzX3JlYWR5KHN0cnVjdCBpcHV2M19jaGFubmVsICpjaGFubmVsLCB1MzIgYnVmX251bSk7 CiB2b2lkIGlwdV9pZG1hY19zZWxlY3RfYnVmZmVyKHN0cnVjdCBpcHV2M19jaGFubmVsICpjaGFu bmVsLCB1MzIgYnVmX251bSk7CiB2b2lkIGlwdV9pZG1hY19jbGVhcl9idWZmZXIoc3RydWN0IGlw dXYzX2NoYW5uZWwgKmNoYW5uZWwsIHUzMiBidWZfbnVtKTsKK2ludCBpcHVfaWRtYWNfbGluayhz dHJ1Y3QgaXB1djNfY2hhbm5lbCAqc3JjLCBzdHJ1Y3QgaXB1djNfY2hhbm5lbCAqc2luayk7Citp bnQgaXB1X2lkbWFjX3VubGluayhzdHJ1Y3QgaXB1djNfY2hhbm5lbCAqc3JjLCBzdHJ1Y3QgaXB1 djNfY2hhbm5lbCAqc2luayk7CiAKIC8qCiAgKiBJUFUgQ2hhbm5lbCBQYXJhbWV0ZXIgTWVtb3J5 IChjcG1lbSkgZnVuY3Rpb25zCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=