From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 4/4] amdgpu/dc: remove bitmap implementation in gpio_service Date: Tue, 3 Oct 2017 13:49:45 +1000 Message-ID: <20171003034945.27909-4-airlied@gmail.com> References: <20171003034945.27909-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171003034945.27909-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaGFuZHJvbGxzIGEg Yml0IG1hcCBpbXBsZW1lbnRhdGlvbiAobGludXgvYml0bWFwLmgpLApidXQgaXQgYWxzbyBhY3R1 YWxseSBkb2Vzbid0IG5lZWQgaXQsIHRoZSBtYXggdmFsdWUgZ3JlcHBhYmxlCmluIHRoZSBjb2Rl IGlzIDMxIGZvciBhIGdwaW8gY291bnQuIFNvIGp1c3QgdXNlIGEgdWludDMyX3QgZm9yIG5vdy4K ClRoaXMgc2hvdWxkIHByb2JhYmx5IG1pZ3JhdGUgdG8gdXNpbmcgdGhlIGxpbnV4L2JpdG9wcy5o IG9wZXJhdGlvbnMsCmJ1dCBmb3Igbm93IGp1c3QgcmlwIG91dCB0aGUgYml0bWFwIGltcGxlbWVu dGF0aW9uIGFuZCBmYWlsIGlmIHdlCj4gMzIgYml0cy4KClNpZ25lZC1vZmYtYnk6IERhdmUgQWly bGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmMgfCA4NSArKystLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZ3Bpby9ncGlvX3NlcnZpY2UuaCB8ICA4ICstCiAy IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDgyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9ncGlvL2dwaW9fc2VydmljZS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmMKaW5k ZXggZDRlNWVmNi4uOTVkZjdkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmMKQEAgLTU2LDggKzU2LDcgQEAgc3RydWN0IGdwaW9f c2VydmljZSAqZGFsX2dwaW9fc2VydmljZV9jcmVhdGUoCiAJc3RydWN0IGRjX2NvbnRleHQgKmN0 eCkKIHsKIAlzdHJ1Y3QgZ3Bpb19zZXJ2aWNlICpzZXJ2aWNlOwotCi0JdWludDMyX3QgaW5kZXhf b2ZfaWQ7CisJaW50IGk7CiAKIAlzZXJ2aWNlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGdwaW9f c2VydmljZSksIEdGUF9LRVJORUwpOwogCkBAIC03OCw2MiArNzcsMTYgQEAgc3RydWN0IGdwaW9f c2VydmljZSAqZGFsX2dwaW9fc2VydmljZV9jcmVhdGUoCiAJCWdvdG8gZmFpbHVyZV8xOwogCX0K IAotCS8qIGFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGJ1c2luZXNzIHN0b3JhZ2UgKi8KLQl7Ci0J CWNvbnN0IHVpbnQzMl90IGJpdHNfcGVyX3VpbnQgPSBzaXplb2YodWludDMyX3QpIDw8IDM7Ci0K LQkJaW5kZXhfb2ZfaWQgPSAwOwotCQlzZXJ2aWNlLT5jdHggPSBjdHg7Ci0KLQkJZG8gewotCQkJ dWludDMyX3QgbnVtYmVyX29mX2JpdHMgPQotCQkJCXNlcnZpY2UtPmZhY3RvcnkubnVtYmVyX29m X3BpbnNbaW5kZXhfb2ZfaWRdOwotCi0JCQl1aW50MzJfdCBudW1iZXJfb2ZfdWludHMgPQotCQkJ CShudW1iZXJfb2ZfYml0cyArIGJpdHNfcGVyX3VpbnQgLSAxKSAvCi0JCQkJYml0c19wZXJfdWlu dDsKLQotCQkJdWludDMyX3QgKnNsb3Q7Ci0KLQkJCWlmIChudW1iZXJfb2ZfYml0cykgewotCQkJ CXVpbnQzMl90IGluZGV4X29mX3VpbnQgPSAwOworCXNlcnZpY2UtPmN0eCA9IGN0eDsKIAotCQkJ CXNsb3QgPSBremFsbG9jKG51bWJlcl9vZl91aW50cyAqIHNpemVvZih1aW50MzJfdCksCi0JCQkJ CSAgICAgICBHRlBfS0VSTkVMKTsKLQotCQkJCWlmICghc2xvdCkgewotCQkJCQlCUkVBS19UT19E RUJVR0dFUigpOwotCQkJCQlnb3RvIGZhaWx1cmVfMjsKLQkJCQl9Ci0KLQkJCQlkbyB7Ci0JCQkJ CXNsb3RbaW5kZXhfb2ZfdWludF0gPSAwOwotCi0JCQkJCSsraW5kZXhfb2ZfdWludDsKLQkJCQl9 IHdoaWxlIChpbmRleF9vZl91aW50IDwgbnVtYmVyX29mX3VpbnRzKTsKLQkJCX0gZWxzZQotCQkJ CXNsb3QgPSBOVUxMOwotCi0JCQlzZXJ2aWNlLT5idXN5bmVzc1tpbmRleF9vZl9pZF0gPSBzbG90 OwotCi0JCQkrK2luZGV4X29mX2lkOwotCQl9IHdoaWxlIChpbmRleF9vZl9pZCA8IEdQSU9fSURf Q09VTlQpOworCWZvciAoaSA9IDA7IGkgPCBHUElPX0lEX0NPVU5UOyBpKyspIHsKKwkJaWYgKHNl cnZpY2UtPmZhY3RvcnkubnVtYmVyX29mX3BpbnNbaV0gPiAzMikgeworCQkJQlJFQUtfVE9fREVC VUdHRVIoKTsKKwkJCWdvdG8gZmFpbHVyZV8xOworCQl9CiAJfQotCiAJcmV0dXJuIHNlcnZpY2U7 CiAKLWZhaWx1cmVfMjoKLQl3aGlsZSAoaW5kZXhfb2ZfaWQpIHsKLQkJdWludDMyX3QgKnNsb3Q7 Ci0KLQkJLS1pbmRleF9vZl9pZDsKLQotCQlzbG90ID0gc2VydmljZS0+YnVzeW5lc3NbaW5kZXhf b2ZfaWRdOwotCi0JCWlmIChzbG90KQotCQkJa2ZyZWUoc2xvdCk7Ci0JfTsKLQogZmFpbHVyZV8x OgogCWtmcmVlKHNlcnZpY2UpOwogCkBAIC0xNjQsMjAgKzExNyw2IEBAIHZvaWQgZGFsX2dwaW9f c2VydmljZV9kZXN0cm95KAogCQlyZXR1cm47CiAJfQogCi0JLyogZnJlZSBidXNpbmVzcyBzdG9y YWdlICovCi0JewotCQl1aW50MzJfdCBpbmRleF9vZl9pZCA9IDA7Ci0KLQkJZG8gewotCQkJdWlu dDMyX3QgKnNsb3QgPSAoKnB0ciktPmJ1c3luZXNzW2luZGV4X29mX2lkXTsKLQotCQkJaWYgKHNs b3QpCi0JCQkJa2ZyZWUoc2xvdCk7Ci0KLQkJCSsraW5kZXhfb2ZfaWQ7Ci0JCX0gd2hpbGUgKGlu ZGV4X29mX2lkIDwgR1BJT19JRF9DT1VOVCk7Ci0JfQotCiAJa2ZyZWUoKnB0cik7CiAKIAkqcHRy ID0gTlVMTDsKQEAgLTE5NSw5ICsxMzQsNyBAQCBzdGF0aWMgYm9vbCBpc19waW5fYnVzeSgKIHsK IAljb25zdCB1aW50MzJfdCBiaXRzX3Blcl91aW50ID0gc2l6ZW9mKHVpbnQzMl90KSA8PCAzOwog Ci0JY29uc3QgdWludDMyX3QgKnNsb3QgPSBzZXJ2aWNlLT5idXN5bmVzc1tpZF0gKyAoZW4gLyBi aXRzX3Blcl91aW50KTsKLQotCXJldHVybiAwICE9ICgqc2xvdCAmICgxIDw8IChlbiAlIGJpdHNf cGVyX3VpbnQpKSk7CisJcmV0dXJuIDAgIT0gKHNlcnZpY2UtPmJ1c3luZXNzW2lkXSAmICgxIDw8 IChlbiAlIGJpdHNfcGVyX3VpbnQpKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9waW5fYnVzeSgK QEAgLTIwNyw4ICsxNDQsNyBAQCBzdGF0aWMgdm9pZCBzZXRfcGluX2J1c3koCiB7CiAJY29uc3Qg dWludDMyX3QgYml0c19wZXJfdWludCA9IHNpemVvZih1aW50MzJfdCkgPDwgMzsKIAotCXNlcnZp Y2UtPmJ1c3luZXNzW2lkXVtlbiAvIGJpdHNfcGVyX3VpbnRdIHw9Ci0JCSgxIDw8IChlbiAlIGJp dHNfcGVyX3VpbnQpKTsKKwlzZXJ2aWNlLT5idXN5bmVzc1tpZF0gfD0gKDEgPDwgKGVuICUgYml0 c19wZXJfdWludCkpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRfcGluX2ZyZWUoCkBAIC0yMTgsOCAr MTU0LDcgQEAgc3RhdGljIHZvaWQgc2V0X3Bpbl9mcmVlKAogewogCWNvbnN0IHVpbnQzMl90IGJp dHNfcGVyX3VpbnQgPSBzaXplb2YodWludDMyX3QpIDw8IDM7CiAKLQlzZXJ2aWNlLT5idXN5bmVz c1tpZF1bZW4gLyBiaXRzX3Blcl91aW50XSAmPQotCQl+KDEgPDwgKGVuICUgYml0c19wZXJfdWlu dCkpOworCXNlcnZpY2UtPmJ1c3luZXNzW2lkXSAmPSB+KDEgPDwgKGVuICUgYml0c19wZXJfdWlu dCkpOwogfQogCiBlbnVtIGdwaW9fcmVzdWx0IGRhbF9ncGlvX3NlcnZpY2Vfb3BlbigKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9ncGlvL2dwaW9fc2VydmljZS5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmgKaW5k ZXggYzdmMzA4MS4uOTZjNTJiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2dwaW8vZ3Bpb19zZXJ2aWNlLmgKQEAgLTMzLDEzICszMyw3IEBAIHN0cnVjdCBncGlv X3NlcnZpY2UgewogCXN0cnVjdCBkY19jb250ZXh0ICpjdHg7CiAJc3RydWN0IGh3X3RyYW5zbGF0 ZSB0cmFuc2xhdGU7CiAJc3RydWN0IGh3X2ZhY3RvcnkgZmFjdG9yeTsKLQkvKgotCSAqIEBicmll ZgotCSAqIEJ1c2luZXNzIHN0b3JhZ2UuCi0JICogRm9yIGVhY2ggbWVtYmVyIG9mICdlbnVtIGdw aW9faWQnLAotCSAqIHN0b3JlIGFycmF5IG9mIGJpdHMgKHBhY2tlZCBpbnRvIHVpbnQzMl90IHNs b3RzKSwKLQkgKiBpbmRleCBpbmRpdmlkdWFsIGJpdCBieSAnZW4nIHZhbHVlICovCi0JdWludDMy X3QgKmJ1c3luZXNzW0dQSU9fSURfQ09VTlRdOworCXVpbnQzMl90IGJ1c3luZXNzW0dQSU9fSURf Q09VTlRdOwogfTsKIAogZW51bSBncGlvX3Jlc3VsdCBkYWxfZ3Bpb19zZXJ2aWNlX29wZW4oCi0t IAoyLjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K YW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==