From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH RFC 2/2] drm: sunxi: Add a basic DRM driver for Allwinner DE2 Date: Tue, 5 Jan 2016 20:38:17 +0000 Message-ID: <20160105203817.GZ19062@n2100.arm.linux.org.uk> References: <58463fd5b674c7eedec4ae05567ee56770a12996.1452021349.git.moinejf@free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.arm.linux.org.uk (pandora.arm.linux.org.uk [78.32.30.218]) by gabe.freedesktop.org (Postfix) with ESMTPS id D49006E222 for ; Tue, 5 Jan 2016 12:38:38 -0800 (PST) Content-Disposition: inline In-Reply-To: <58463fd5b674c7eedec4ae05567ee56770a12996.1452021349.git.moinejf@free.fr> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jean-Francois Moine Cc: dri-devel@lists.freedesktop.org, Emilio =?iso-8859-1?Q?L=F3pez?= , Chen-Yu Tsai , Maxime Ripard , linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org U29tZSBjb21tZW50cyBmcm9tIGFuIEFSTSBhcmNoaXRlY3R1cmUgcG9pbnQgb2Ygdmlldy4gIEkg aGF2ZW4ndApyZXZpZXdlZCBpdCBmcm9tIGEgRFJNIHBvaW50IG9mIHZpZXcgeWV0LgoKT24gVHVl LCBKYW4gMDUsIDIwMTYgYXQgMDc6NDA6MTFQTSArMDEwMCwgSmVhbi1GcmFuY29pcyBNb2luZSB3 cm90ZToKPiArc3RydWN0IHRjb24gewo+ICsJdTMyIGdjdGw7Cj4gKyNkZWZpbmUJCVRDT05fR0NU TF9UQ09OX0VuIDB4ODAwMDAwMDAKPiArCXUzMiBnaW50MDsKPiArI2RlZmluZQkJVENPTl9HSU5U MF9UQ09OMV9WYl9JbnRfRW4gMHg0MDAwMDAwMAo+ICsjZGVmaW5lCQlUQ09OX0dJTlQwX1RDT04x X1ZiX0ludF9GbGFnIDB4MDAwMDEwMDAKPiArCXUzMiBnaW50MTsKPiArCXUzMiBkdW0wWzEzXTsK PiArCXUzMiB0Y29uMF9jdGw7Cj4gKyNkZWZpbmUJCVRDT04wX0NUTF9UQ09OX0VuIDB4ODAwMDAw MDAKPiArCXUzMiBkdW0xWzE5XTsKPiArCXUzMiB0Y29uMV9jdGw7Cj4gKyNkZWZpbmUJCVRDT04x X0NUTF9UQ09OX0VuIDB4ODAwMDAwMDAKPiArI2RlZmluZQkJVENPTjFfQ1RMX0ludGVybGFjZV9F biAweDAwMTAwMDAwCj4gKyNkZWZpbmUJCVRDT04xX0NUTF9TdGFydF9EZWxheV9TSElGVCA0Cj4g KyNkZWZpbmUJCVRDT04xX0NUTF9TdGFydF9EZWxheV9NQVNLIDB4MDAwMDAxZjAKPiArCXUzMiBi YXNpYzA7CQkJLyogWEkvWUkgKi8KPiArCXUzMiBiYXNpYzE7CQkJLyogTFNfWE8vTFNfWU8gKi8K PiArCXUzMiBiYXNpYzI7CQkJLyogWE8vWU8gKi8KPiArCXUzMiBiYXNpYzM7CQkJLyogSFQvSEJQ ICovCj4gKwl1MzIgYmFzaWM0OwkJCS8qIFZUL1ZCUCAqLwo+ICsJdTMyIGJhc2ljNTsJCQkvKiBI U1BXL1ZTUFcgKi8KPiArCXUzMiBkdW0yOwo+ICsJdTMyIHBzX3N5bmM7Cj4gKwl1MzIgZHVtM1sx NV07Cj4gKwl1MzIgaW9fcG9sOwo+ICsjZGVmaW5lCQlUQ09OMV9JT19QT0xfSU8wX2ludiAweDAx MDAwMDAwCj4gKyNkZWZpbmUJCVRDT04xX0lPX1BPTF9JTzFfaW52IDB4MDIwMDAwMDAKPiArI2Rl ZmluZQkJVENPTjFfSU9fUE9MX0lPMl9pbnYgMHgwNDAwMDAwMAo+ICsJdTMyIGlvX3RyaTsKPiAr CXUzMiBkdW00WzJdOwo+ICsKPiArCXUzMiBjZXVfY3RsOwkJCS8qIDEwMCAqLwo+ICsjZGVmaW5l ICAgICBUQ09OX0NFVV9DVExfY2V1X2VuIDB4ODAwMDAwMDAKPiArCXUzMiBkdW01WzNdOwo+ICsJ dTMyIGNldV9ycjsKPiArCXUzMiBjZXVfcmc7Cj4gKwl1MzIgY2V1X3JiOwo+ICsJdTMyIGNldV9y YzsKPiArCXUzMiBjZXVfZ3I7Cj4gKwl1MzIgY2V1X2dnOwo+ICsJdTMyIGNldV9nYjsKPiArCXUz MiBjZXVfZ2M7Cj4gKwl1MzIgY2V1X2JyOwo+ICsJdTMyIGNldV9iZzsKPiArCXUzMiBjZXVfYmI7 Cj4gKwl1MzIgY2V1X2JjOwo+ICsJdTMyIGNldV9ydjsKPiArCXUzMiBjZXVfZ3Y7Cj4gKwl1MzIg Y2V1X2J2Owo+ICsJdTMyIGR1bTZbNDVdOwo+ICsKPiArCXUzMiBtdXhfY3RsOwkJCS8qIDIwMCAq Lwo+ICsjZGVmaW5lCQlUQ09OX01VWF9DVExfSERNSV9TUkNfU0hJRlQgOAo+ICsjZGVmaW5lCQlU Q09OX01VWF9DVExfSERNSV9TUkNfTUFTSyAweDAwMDAwMzAwCj4gKwl1MzIgZHVtN1s2M107Cj4g Kwo+ICsJdTMyIGZpbGxfY3RsOwkJCS8qIDMwMCAqLwo+ICsJdTMyIGZpbGxfc3RhcnQwOwo+ICsJ dTMyIGZpbGxfZW5kMDsKPiArCXUzMiBmaWxsX2RhdGEwOwo+ICt9OwoKVGhpcyBzZXRzIG9mZiB3 YXJuaW5ncyBiZWxscyBmb3IgbWUuLi4KCj4gK3N0YXRpYyB2b2lkIGRlMl9zZXRfZnJhbWVfdGlt aW5ncyhzdHJ1Y3QgbGNkICpsY2QpCj4gK3sKPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZs Y2QtPmNydGM7Cj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRj LT5tb2RlOwo+ICsJc3RydWN0IHRjb24gKnBfdGNvbiA9IGxjZC0+bW1pbzsKPiArCWludCBpbnRl cmxhY2UgPSBtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFID8gMiA6IDE7Cj4g KwlpbnQgc3RhcnRfZGVsYXk7Cj4gKwl1MzIgZGF0YTsKPiArCj4gKwlEUk1fREVCVUdfRFJJVkVS KCJcbiIpOwo+ICsKPiArCWRhdGEgPSBYWShtb2RlLT5oZGlzcGxheSAtIDEsIG1vZGUtPnZkaXNw bGF5IC8gaW50ZXJsYWNlIC0gMSk7Cj4gKwlwX3Rjb24tPmJhc2ljMCA9IGRhdGE7Cj4gKwlwX3Rj b24tPmJhc2ljMSA9IGRhdGE7Cj4gKwlwX3Rjb24tPmJhc2ljMiA9IGRhdGE7Cj4gKwlwX3Rjb24t PmJhc2ljMyA9IFhZKG1vZGUtPmh0b3RhbCAtIDEsCj4gKwkJCQltb2RlLT5odG90YWwgLSBtb2Rl LT5oc3luY19zdGFydCAtIDEpOwo+ICsJcF90Y29uLT5iYXNpYzQgPSBYWShtb2RlLT52dG90YWwg KiAoMyAtIGludGVybGFjZSksCj4gKwkJCQltb2RlLT52dG90YWwgLSBtb2RlLT52c3luY19zdGFy dCAtIDEpOwo+ICsJcF90Y29uLT5iYXNpYzUgPSBYWShtb2RlLT5oc3luY19lbmQgLSBtb2RlLT5o c3luY19zdGFydCAtIDEsCj4gKwkJCQltb2RlLT52c3luY19lbmQgLSBtb2RlLT52c3luY19zdGFy dCAtIDEpOwo+ICsKPiArCXBfdGNvbi0+cHNfc3luYyA9IFhZKDEsIDEpOwo+ICsKPiArCWRhdGEg PSBUQ09OMV9JT19QT0xfSU8yX2ludjsKPiArCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfUFZTWU5DKQo+ICsJCWRhdGEgfD0gVENPTjFfSU9fUE9MX0lPMF9pbnY7Cj4gKwlpZiAobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX1BIU1lOQykKPiArCQlkYXRhIHw9IFRDT04xX0lPX1BP TF9JTzFfaW52Owo+ICsJcF90Y29uLT5pb19wb2wgPSBkYXRhOwo+ICsKPiArCXBfdGNvbi0+Y2V1 X2N0bCAmPSB+VENPTl9DRVVfQ1RMX2NldV9lbjsKPiArCj4gKwlpZiAoaW50ZXJsYWNlID09IDIp Cj4gKwkJcF90Y29uLT50Y29uMV9jdGwgfD0gVENPTjFfQ1RMX0ludGVybGFjZV9FbjsKPiArCWVs c2UKPiArCQlwX3Rjb24tPnRjb24xX2N0bCAmPSB+VENPTjFfQ1RMX0ludGVybGFjZV9FbjsKPiAr Cj4gKwlwX3Rjb24tPmZpbGxfY3RsID0gMDsKPiArCXBfdGNvbi0+ZmlsbF9zdGFydDAgPSBtb2Rl LT52dG90YWwgKyAxOwo+ICsJcF90Y29uLT5maWxsX2VuZDAgPSBtb2RlLT52dG90YWw7Cj4gKwlw X3Rjb24tPmZpbGxfZGF0YTAgPSAwOwo+ICsKPiArCXN0YXJ0X2RlbGF5ID0gKG1vZGUtPnZ0b3Rh bCAtIG1vZGUtPnZkaXNwbGF5KSAvIGludGVybGFjZSAtIDU7Cj4gKwlpZiAoc3RhcnRfZGVsYXkg PiAzMSkKPiArCQlzdGFydF9kZWxheSA9IDMxOwo+ICsJcF90Y29uLT50Y29uMV9jdGwgJj0gflRD T04xX0NUTF9TdGFydF9EZWxheV9NQVNLOwo+ICsJcF90Y29uLT50Y29uMV9jdGwgfD0gc3RhcnRf ZGVsYXkgPDwgVENPTjFfQ1RMX1N0YXJ0X0RlbGF5X1NISUZUOwoKSGVyZSwgdGhlIGNvbXBpbGVy IG1pZ2h0IHJlYWQgdGNvbjFfY3RsLCBjbGVhciB0aGUgYml0cywgbWVyZ2UgdGhlCm5ldyBiaXRz IGluLCBhbmQgd3JpdGUgdGhlbSBiYWNrLiAgT3IgaXQgbWlnaHQgZGVjaWRlIHRvIHJlYWQsCmNs ZWFyIGJpdHMsIHdyaXRlIGJhY2ssIHNldCB0aGUgbmV3IGJpdHMsIGFuZCB3cml0ZSBiYWNrIGFn YWluLgpXaGF0IGhhcHBlbnMgaWYgc3RhcnRfZGVsYXkgd2VyZSB3cml0dGVuIGFzIHplcm8/Cgo+ ICsKPiArCXBfdGNvbi0+aW9fdHJpID0gMHgwZmZmZmZmZjsKClRoaXMgd2hvbGUgdGhpbmcgZXZl biBtb3JlIHNvIC0gdGhlIGNvbXBpbGVyIGlzIGZyZWUgdG8gcmVvcmRlcgp0aGVzZSBhY2Nlc3Nl cywgbWVyZ2UgdGhlbSB0b2dldGhlciwgZXRjLiAgSWYgdGhlIGNvbXBpbGVyIGRlY2lkZXMKdG8g aW5saW5lIHRoaXMgaW50byBjYWxsZXJzLCB0aGVuIGl0IGNhbiBtZXJnZSB0aGVzZSBhY2Nlc3Nl cyB3aXRoCmFjY2Vzc2VzIGluIHRoZSBjYWxsZXIgZnVuY3Rpb25zIHRvby4KClRoaXMgaXMgd2h5 IHdlIGhhdmUgSU8gYWNjZXNzb3JzOyB0aGV5IHByZXZlbnQgdGhlIGNvbXBpbGVyIGRvaW5nCnRo ZXNlIGtpbmRzIG9mIG9wdGltaXNhdGlvbnMsIGFuZCB0byBlbnN1cmUgY29ycmVjdG5lc3MsIHdl IGhhdmUKc3BhcnNlLCBhbmQgd2UgbWFyayBNTUlPIG1lbW9yeSB3aXRoIF9faW9tZW0gdG8gcHJl dmVudCB0aGlzIGtpbmQKb2YgcHJvZ3JhbW1pbmcgbWlzdGFrZS4KClBsZWFzZSB1c2Ugc3BhcnNl IHRvIGNoZWNrIHlvdXIgd29yaywgYW5kIGFsc28gdXNlIHRoZSBJTyBhY2Nlc3NvcnMuCgpUaGUg c2FtZSBjb21tZW50cyBhcHBseSBlbHNld2hlcmUuCgo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBk ZTJfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlzdHJ1Y3QgbGNk ICpsY2QgPSBjcnRjX3RvX2xjZChjcnRjKTsKPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlID0gJmNydGMtPm1vZGU7Cj4gKwlzdHJ1Y3QgdGNvbiAqcF90Y29uID0gbGNkLT5tbWlvOwo+ ICsKPiArCURSTV9ERUJVR19EUklWRVIoImNsb2NrICVkXG4iLCBtb2RlLT5jbG9jayk7Cj4gKwo+ ICsJaWYgKG1vZGUtPmNsb2NrID09IDApIHsKPiArCQlkZXZfZXJyKGxjZC0+ZGV2LCAiY3J0Y19z dGFydDogbm8gY2xvY2shXG4iKTsKPiArCQlyZXR1cm47Cj4gKwl9CgpXaHkgZG8geW91IG5lZWQg dG8gY2hlY2sgdGhpcyBoZXJlPwoKPiArCj4gKwlkZTJfc2V0X2ZyYW1lX3RpbWluZ3MobGNkKTsK PiArCj4gKwljbGtfc2V0X3JhdGUobGNkLT5jbGssIG1vZGUtPmNsb2NrICogMTAwMCk7CgpXaGF0 IGlmIHRoZSBjbG9jayBjYW4ndCBzdXBwb3J0IHRoZSByYXRlPwoKLi4uCgo+ICsJLyogc2V0IHRo ZSBWSS9VSXMgY2hhbm5lbHMgKi8KPiArCWZvciAoY2hhbiA9IDA7IGNoYW4gPCA0OyBjaGFuKysp IHsKPiArCQlpbnQgY2hhbl9vID0gbXV4X28gKyBERV9NVVhfQ0hBTl9SRUdTICsKPiArCQkJCURF X01VWF9DSEFOX1NaICogY2hhbjsKPiArCj4gKwkJaWYgKGNoYW4gPT0gMCkKPiArCQkJbWVtc2V0 KHByaXYtPm1taW8gKyBjaGFuX28sIDAsIHNpemVvZihzdHJ1Y3QgZGVfdmkpKTsKPiArCQllbHNl Cj4gKwkJCW1lbXNldChwcml2LT5tbWlvICsgY2hhbl9vLCAwLCBzaXplb2Yoc3RydWN0IGRlX3Vp KSk7CgpUaGUgY29tcGlsZXIgaXMgYWxsb3dlZCB0byBvcHRpbWlzZSBtZW1zZXQoKSBhbnkgd2F5 IGl0IGNob29zZXM7IGl0IG1ha2VzCm5vIGd1YXJhbnRlZXMgd2hhdCBzbyBldmVyLCBhbmQgdGhl IGNvbXBpbGVyIGlzIGFsbG93ZWQgdG8gYXNzdW1lIHRoYXQgaXQKaXMgYWNjZXNzaW5nIG1lbW9y eSB3aGljaCBoYXMgbm8gc2lkZSBlZmZlY3RzLiAgSXQncyBldmVuIGFsbG93ZWQgdG8gdXNlCnVu YWxpZ25lZCBhY2Nlc3NlcyBpZiBpdCBzbyBwbGVhc2VzLCB3aGljaCBhcmUgaWxsZWdhbCBmb3Ig TU1JTyBtZW1vcnkgb24KQVJNLiAgbWVtc2V0X2lvKCkgbXVzdCBiZSB1c2VkIGluc3RlYWQuICBT cGFyc2Ugd291bGQgaGF2ZSBmb3VuZCB0aGlzCmFzIHdlbGwuCgouLi4KCj4gK3N0YXRpYyBpbnQg ZGUyX2hkbWlfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiArCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiArewo+ICsJaWYg KCFkcm1fbWF0Y2hfY2VhX21vZGUobW9kZSkpCj4gKwkJcmV0dXJuIE1PREVfTk9NT0RFOwoKTWF5 YmUgZGV0ZWN0IG1vZGVzIHdpdGggYSB6ZXJvIGNsb2NrIGhlcmUgaW5zdGVhZD8KCj4gKwlyZXR1 cm4gTU9ERV9PSzsKPiArfQoKLi4uCgo+ICtzdGF0aWMgdm9pZCBoZG1pX3BoeV9pbml0KHN0cnVj dCBkZTJfaGRtaV9wcml2ICpwcml2KQo+ICt7Cj4gKwlpbnQgdG9fY250Owo+ICsJdTMyIHRtcDsK PiArCj4gKwloZG1pX3dyaXRlbChwcml2LCAweDEwMDIwLCAwKTsKPiArCWhkbWlfd3JpdGVsKHBy aXYsIDB4MTAwMjAsIDEgPDwgMCk7Cj4gKwl1ZGVsYXkoNSk7Cgp1ZGVsYXkoKSBkb2VzIG5vdCBk ZWxheSBwcmVjaXNlbHk7IGl0IG1heSByZXR1cm4gc2xpZ2h0bHkgc2hvcnQgb2YgdGhlCnJlcXVl c3RlZCBkZWxheS4gIEkgaG9wZSB5b3UndmUgbWFkZSBhbGxvd2FuY2UgZm9yIHRoYXQuCgoKLS0g ClJNSydzIFBhdGNoIHN5c3RlbTogaHR0cDovL3d3dy5hcm0ubGludXgub3JnLnVrL2RldmVsb3Bl ci9wYXRjaGVzLwpGVFRDIGJyb2FkYmFuZCBmb3IgMC44bWlsZSBsaW5lOiBjdXJyZW50bHkgYXQg OS42TWJwcyBkb3duIDQwMGticHMgdXAKYWNjb3JkaW5nIHRvIHNwZWVkdGVzdC5uZXQuCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==