From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH v2] drm/arm/malidp: Added support for AFBC modifiers for all layers except DE_SMART Date: Thu, 5 Jul 2018 17:48:22 +0200 Message-ID: <20180705154822.GC4273@phenom.ffwll.local> References: <1530800743-2250-1-git-send-email-ayan.halder@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 037AC6EE05 for ; Thu, 5 Jul 2018 15:48:27 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id x5-v6so2858149edr.0 for ; Thu, 05 Jul 2018 08:48:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1530800743-2250-1-git-send-email-ayan.halder@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ayan Kumar Halder Cc: airlied@linux.ie, liviu.dudau@arm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, malidp@foss.arm.com, nd@arm.com List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMDUsIDIwMTggYXQgMDM6MjU6NDNQTSArMDEwMCwgQXlhbiBLdW1hciBIYWxk ZXIgd3JvdGU6Cj4gT24gcGxhbmVzIHdoaWNoIHN1cHBvcnQgQUZCQywgZXhwb3NlIGFuIEFGQkMg bW9kaWZpZXIgZm9yIHVzZSB3aXRoIEJHUjg4OC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBeWFuIEt1 bWFyIGhhbGRlciA8YXlhbi5oYWxkZXJAYXJtLmNvbT4KPiBSZXZpZXdlZC1ieTogQnJpYW4gU3Rh cmtleSA8YnJpYW4uc3RhcmtleUBhcm0uY29tPgo+IFJldmlld2VkLWJ5OiBMaXZpdSBEdWRhdSA8 bGl2aXUuZHVkYXVAYXJtLmNvbT4KPiAKPiBDaGFuZ2VzIGZyb20gdjI6Cj4gLSBSZW1vdmVkIHRo ZSBnZXJyaXQgY2hhbmdlLWlkCj4gLSBSZXBsYWNlZCBEUk1fRVJST1IoKSB3aXRoIERSTV9ERUJV R19LTVMoKSBpbiBtYWxpZHBfZm9ybWF0X21vZF9zdXBwb3J0ZWQoKQo+IHRvIHJlcG9ydCB1bnN1 cHBvcnRlZCBtb2RpZmllcnMuCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Ry di5jICAgIHwgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMuYyB8IDQ2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgMiBmaWxlcyBjaGFuZ2Vk LCA0NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCj4gaW5kZXggN2I2YTg0OC4uN2JjZDY3OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtL21hbGlkcF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRw X2Rydi5jCj4gQEAgLTM5Miw2ICszOTIsNyBAQCBzdGF0aWMgaW50IG1hbGlkcF9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkcm0pCj4gIAlkcm0tPm1vZGVfY29uZmlnLm1heF9oZWlnaHQgPSBod2Rl di0+bWF4X2xpbmVfc2l6ZTsKPiAgCWRybS0+bW9kZV9jb25maWcuZnVuY3MgPSAmbWFsaWRwX21v ZGVfY29uZmlnX2Z1bmNzOwo+ICAJZHJtLT5tb2RlX2NvbmZpZy5oZWxwZXJfcHJpdmF0ZSA9ICZt YWxpZHBfbW9kZV9jb25maWdfaGVscGVyczsKPiArCWRybS0+bW9kZV9jb25maWcuYWxsb3dfZmJf bW9kaWZpZXJzID0gdHJ1ZTsKPiAgCj4gIAlyZXQgPSBtYWxpZHBfY3J0Y19pbml0KGRybSk7Cj4g IAlpZiAocmV0KSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3Bs YW5lcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKPiBpbmRleCAzOTUw NTA0Li45MTRjYzU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3Bs YW5lcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKPiBAQCAt MTI0LDYgKzEyNCwzNSBAQCBzdGF0aWMgdm9pZCBtYWxpZHBfcGxhbmVfYXRvbWljX3ByaW50X3N0 YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiAgCWRybV9wcmludGYocCwgIlx0bl9wbGFuZXM9 JXVcbiIsIG1zLT5uX3BsYW5lcyk7Cj4gIH0KPiAgCj4gK3N0YXRpYyBib29sIG1hbGlkcF9mb3Jt YXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCQl1MzIgZm9y bWF0LCB1NjQgbW9kaWZpZXIpCj4gK3sKPiArCWlmIChXQVJOX09OKG1vZGlmaWVyID09IERSTV9G T1JNQVRfTU9EX0lOVkFMSUQpKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwkvKiBBbGwgdGhl IHBpeGVsIGZvcm1hdHMgYXJlIHN1cHBvcnRlZCB3aXRob3V0IGFueSBtb2RpZmllciAqLwo+ICsJ aWYgKG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUikKPiArCQlyZXR1cm4gdHJ1ZTsK PiArCj4gKwlpZiAoKG1vZGlmaWVyID4+IDU2KSAhPSBEUk1fRk9STUFUX01PRF9WRU5ET1JfQVJN KQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAobW9kaWZpZXIgJgo+ICsJICAgIH5EUk1f Rk9STUFUX01PRF9BUk1fQUZCQyhBRkJDX01PRF9WQUxJRF9CSVRTKSkgewo+ICsJCURSTV9ERUJV R19LTVMoIlVuc3VwcG9ydGVkIG1vZGlmaWVyc1xuIik7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJ fQoKSSB0aGluayB0aGUgY29yZSBjaGVja3MgZm9yIHRoYXQgYnkgbm93LCBvciBhdCBsZWFzdCBW aWxsZSBoYWQgc29tZQpwYXRjaGVzIHRvIG1ha2UgdGhhdCBoYXBwZW4gLi4uCgpJIGFsc28gZG9u J3Qgc2VlIHRoZSBBUk1fQUZCQyBtb2RpZmllciBpbiB1cHN0cmVhbSB5ZXQsIGlzIHRoYXQgc3Rp bGwKaW4tZmxpZ2h0IHNvbWV3aGVyZT8KLURhbmllbAoKPiArCj4gKwlzd2l0Y2ggKG1vZGlmaWVy KSB7Cj4gKwljYXNlIERSTV9GT1JNQVRfTU9EX0FSTV9BRkJDKEFGQkNfRk9STUFUX01PRF9CTE9D S19TSVpFXzE2eDE2IHwKPiArCQkJCUFGQkNfRk9STUFUX01PRF9ZVFIgfAo+ICsJCQkJQUZCQ19G T1JNQVRfTU9EX1NQQVJTRSk6Cj4gKwkJaWYgKGZvcm1hdCA9PSBEUk1fRk9STUFUX0JHUjg4OCkK PiArCQkJcmV0dXJuIHRydWU7Cj4gKwl9Cj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIG1hbGlkcF9kZV9wbGFuZV9mdW5jcyA9 IHsKPiAgCS51cGRhdGVfcGxhbmUgPSBkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfcGxhbmUsCj4g IAkuZGlzYWJsZV9wbGFuZSA9IGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfcGxhbmUsCj4gQEAg LTEzMiw2ICsxNjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBtYWxp ZHBfZGVfcGxhbmVfZnVuY3MgPSB7Cj4gIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IG1hbGlk cF9kdXBsaWNhdGVfcGxhbmVfc3RhdGUsCj4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBtYWxp ZHBfZGVzdHJveV9wbGFuZV9zdGF0ZSwKPiAgCS5hdG9taWNfcHJpbnRfc3RhdGUgPSBtYWxpZHBf cGxhbmVfYXRvbWljX3ByaW50X3N0YXRlLAo+ICsJLmZvcm1hdF9tb2Rfc3VwcG9ydGVkID0gbWFs aWRwX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkLAo+ICB9Owo+ICAKPiAgc3RhdGljIGludCBtYWxpZHBf c2VfY2hlY2tfc2NhbGluZyhzdHJ1Y3QgbWFsaWRwX3BsYW5lICptcCwKPiBAQCAtNTI0LDYgKzU1 NCwxMyBAQCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0p Cj4gIAl1MzIgKmZvcm1hdHM7Cj4gIAlpbnQgcmV0LCBpLCBqLCBuOwo+ICAKPiArCXN0YXRpYyBj b25zdCB1NjQgbW9kaWZpZXJzW10gPSB7Cj4gKwkJRFJNX0ZPUk1BVF9NT0RfQVJNX0FGQkMoQUZC Q19GT1JNQVRfTU9EX0JMT0NLX1NJWkVfMTZ4MTYgfAo+ICsJCQlBRkJDX0ZPUk1BVF9NT0RfWVRS IHwgQUZCQ19GT1JNQVRfTU9EX1NQQVJTRSksCj4gKwkJRFJNX0ZPUk1BVF9NT0RfTElORUFSLAo+ ICsJCURSTV9GT1JNQVRfTU9EX0lOVkFMSUQKPiArCX07Cj4gKwo+ICAJZm9ybWF0cyA9IGtjYWxs b2MobWFwLT5uX3BpeGVsX2Zvcm1hdHMsIHNpemVvZigqZm9ybWF0cyksIEdGUF9LRVJORUwpOwo+ ICAJaWYgKCFmb3JtYXRzKSB7Cj4gIAkJcmV0ID0gLUVOT01FTTsKPiBAQCAtNTQ3LDkgKzU4NCwx NCBAQCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4g IAo+ICAJCXBsYW5lX3R5cGUgPSAoaSA9PSAwKSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOgo+ ICAJCQkJCURSTV9QTEFORV9UWVBFX09WRVJMQVk7Cj4gKwo+ICsJCS8qCj4gKwkJICogQWxsIHRo ZSBsYXllcnMgZXhjZXB0IHNtYXJ0IGxheWVyIHN1cHBvcnRzIEFGQkMgbW9kaWZpZXJzLgo+ICsJ CSAqLwo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFz ZSwgY3J0Y3MsCj4gLQkJCQkJICAgICAgICZtYWxpZHBfZGVfcGxhbmVfZnVuY3MsIGZvcm1hdHMs Cj4gLQkJCQkJICAgICAgIG4sIE5VTEwsIHBsYW5lX3R5cGUsIE5VTEwpOwo+ICsJCQkJJm1hbGlk cF9kZV9wbGFuZV9mdW5jcywgZm9ybWF0cywgbiwKPiArCQkJCShpZCA9PSBERV9TTUFSVCkgPyBO VUxMIDogbW9kaWZpZXJzLCBwbGFuZV90eXBlLCBOVUxMKTsKPiArCj4gIAkJaWYgKHJldCA8IDAp Cj4gIAkJCWdvdG8gY2xlYW51cDsKPiAgCj4gLS0gCj4gMi43LjQKPiAKPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=3.0 tests=DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,T_DKIM_INVALID, URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AF3D4C6778C for ; Thu, 5 Jul 2018 15:48:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5D64C23FF6 for ; Thu, 5 Jul 2018 15:48:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="kz5QjLRb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D64C23FF6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754008AbeGEPs2 (ORCPT ); Thu, 5 Jul 2018 11:48:28 -0400 Received: from mail-ed1-f67.google.com ([209.85.208.67]:46693 "EHLO mail-ed1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753812AbeGEPs0 (ORCPT ); Thu, 5 Jul 2018 11:48:26 -0400 Received: by mail-ed1-f67.google.com with SMTP id r17-v6so6520063edo.13 for ; Thu, 05 Jul 2018 08:48:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=sender:date:from:to:cc:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=2nOIuSxUJ93lpkBnvZE72TAfzIBJpI3SWbGj7im3seM=; b=kz5QjLRbMihsA/X8/nmgO9IfVoGwQZj+4aDIu6xAJToSvJpWf+kkbqqukSUDd9t80D io1CYtmwWOYCXyhAPJZvhHgQeKXvJcOGqbcIYcjO/8wv/28IkoKJzP5JjDPgJUh6vI69 zBGjlFU+ZjD00ESypfFHID8avb7FNH8PIYu5E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-disposition :in-reply-to:user-agent; bh=2nOIuSxUJ93lpkBnvZE72TAfzIBJpI3SWbGj7im3seM=; b=qwhIq5awCS8cZC3TUnNp+1Vd9UrcdBnB9Ce5jdVW9cuiso7atYq7Qbz/rrkow6ZjoF tDDNpTT2dWHYkxQ+3YxHLPfP43YfnbCjBRomTJBQG2K2Fj0uMlWrR1GTjOTeyf/dcpBd xgYEqRbUKRJ4kSlkjX8NgMRZnPXrTHPYdffOgJ6O0fntTu8pCPl04cfkQHXj2tSs/oYc CLpE6XeidACseWfq6XAlY6FjHiB5f9lfYnyxL9+nXJqdez0ka9733Hprw8UNvUvc66g8 teV9uX7PUERyZSVlz0hH4mCz2+N8NGSnLNGHM1i2Ya4qB8hYoqFf/ZHXYx/b3eyyh80r 9v1Q== X-Gm-Message-State: APt69E0q7Pod+rlbZ0dixPcnZj0JrsfG0PiUZmHYqan2KROLiPRJoYp+ xVuMmnALg0PxXUzQQGva3LobDQ== X-Google-Smtp-Source: AAOMgpdY45Q19KhZMkXFz3fO9QkTb3xmHme/q/5l77TsQoxqlGUfocoszJjHcV/P32dbYCcKEU4b5w== X-Received: by 2002:aa7:d40a:: with SMTP id z10-v6mr7243481edq.203.1530805705644; Thu, 05 Jul 2018 08:48:25 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:5628:0:496f:7dc5:66d7:a057]) by smtp.gmail.com with ESMTPSA id d11-v6sm2808373edr.24.2018.07.05.08.48.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 05 Jul 2018 08:48:24 -0700 (PDT) Date: Thu, 5 Jul 2018 17:48:22 +0200 From: Daniel Vetter To: Ayan Kumar Halder Cc: liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, nd@arm.com Subject: Re: [RFC PATCH v2] drm/arm/malidp: Added support for AFBC modifiers for all layers except DE_SMART Message-ID: <20180705154822.GC4273@phenom.ffwll.local> Mail-Followup-To: Ayan Kumar Halder , liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, nd@arm.com References: <1530800743-2250-1-git-send-email-ayan.halder@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1530800743-2250-1-git-send-email-ayan.halder@arm.com> X-Operating-System: Linux phenom 4.16.0-2-amd64 User-Agent: Mutt/1.10.0 (2018-05-17) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 05, 2018 at 03:25:43PM +0100, Ayan Kumar Halder wrote: > On planes which support AFBC, expose an AFBC modifier for use with BGR888. > > Signed-off-by: Ayan Kumar halder > Reviewed-by: Brian Starkey > Reviewed-by: Liviu Dudau > > Changes from v2: > - Removed the gerrit change-id > - Replaced DRM_ERROR() with DRM_DEBUG_KMS() in malidp_format_mod_supported() > to report unsupported modifiers. > --- > drivers/gpu/drm/arm/malidp_drv.c | 1 + > drivers/gpu/drm/arm/malidp_planes.c | 46 +++++++++++++++++++++++++++++++++++-- > 2 files changed, 45 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c > index 7b6a848..7bcd679 100644 > --- a/drivers/gpu/drm/arm/malidp_drv.c > +++ b/drivers/gpu/drm/arm/malidp_drv.c > @@ -392,6 +392,7 @@ static int malidp_init(struct drm_device *drm) > drm->mode_config.max_height = hwdev->max_line_size; > drm->mode_config.funcs = &malidp_mode_config_funcs; > drm->mode_config.helper_private = &malidp_mode_config_helpers; > + drm->mode_config.allow_fb_modifiers = true; > > ret = malidp_crtc_init(drm); > if (ret) { > diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c > index 3950504..914cc58 100644 > --- a/drivers/gpu/drm/arm/malidp_planes.c > +++ b/drivers/gpu/drm/arm/malidp_planes.c > @@ -124,6 +124,35 @@ static void malidp_plane_atomic_print_state(struct drm_printer *p, > drm_printf(p, "\tn_planes=%u\n", ms->n_planes); > } > > +static bool malidp_format_mod_supported(struct drm_plane *plane, > + u32 format, u64 modifier) > +{ > + if (WARN_ON(modifier == DRM_FORMAT_MOD_INVALID)) > + return false; > + > + /* All the pixel formats are supported without any modifier */ > + if (modifier == DRM_FORMAT_MOD_LINEAR) > + return true; > + > + if ((modifier >> 56) != DRM_FORMAT_MOD_VENDOR_ARM) > + return false; > + > + if (modifier & > + ~DRM_FORMAT_MOD_ARM_AFBC(AFBC_MOD_VALID_BITS)) { > + DRM_DEBUG_KMS("Unsupported modifiers\n"); > + return false; > + } I think the core checks for that by now, or at least Ville had some patches to make that happen ... I also don't see the ARM_AFBC modifier in upstream yet, is that still in-flight somewhere? -Daniel > + > + switch (modifier) { > + case DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 | > + AFBC_FORMAT_MOD_YTR | > + AFBC_FORMAT_MOD_SPARSE): > + if (format == DRM_FORMAT_BGR888) > + return true; > + } > + return false; > +} > + > static const struct drm_plane_funcs malidp_de_plane_funcs = { > .update_plane = drm_atomic_helper_update_plane, > .disable_plane = drm_atomic_helper_disable_plane, > @@ -132,6 +161,7 @@ static const struct drm_plane_funcs malidp_de_plane_funcs = { > .atomic_duplicate_state = malidp_duplicate_plane_state, > .atomic_destroy_state = malidp_destroy_plane_state, > .atomic_print_state = malidp_plane_atomic_print_state, > + .format_mod_supported = malidp_format_mod_supported, > }; > > static int malidp_se_check_scaling(struct malidp_plane *mp, > @@ -524,6 +554,13 @@ int malidp_de_planes_init(struct drm_device *drm) > u32 *formats; > int ret, i, j, n; > > + static const u64 modifiers[] = { > + DRM_FORMAT_MOD_ARM_AFBC(AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 | > + AFBC_FORMAT_MOD_YTR | AFBC_FORMAT_MOD_SPARSE), > + DRM_FORMAT_MOD_LINEAR, > + DRM_FORMAT_MOD_INVALID > + }; > + > formats = kcalloc(map->n_pixel_formats, sizeof(*formats), GFP_KERNEL); > if (!formats) { > ret = -ENOMEM; > @@ -547,9 +584,14 @@ int malidp_de_planes_init(struct drm_device *drm) > > plane_type = (i == 0) ? DRM_PLANE_TYPE_PRIMARY : > DRM_PLANE_TYPE_OVERLAY; > + > + /* > + * All the layers except smart layer supports AFBC modifiers. > + */ > ret = drm_universal_plane_init(drm, &plane->base, crtcs, > - &malidp_de_plane_funcs, formats, > - n, NULL, plane_type, NULL); > + &malidp_de_plane_funcs, formats, n, > + (id == DE_SMART) ? NULL : modifiers, plane_type, NULL); > + > if (ret < 0) > goto cleanup; > > -- > 2.7.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch