From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm: check_pixel_format() should return true if no modifiers are passed for a supported pixel format Date: Fri, 25 May 2018 19:08:05 +0300 Message-ID: <20180525160805.GG23723@intel.com> References: <1527262541-13964-1-git-send-email-ayan.halder@arm.com> <20180525154859.GB1139@e107564-lin.cambridge.arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2DAD66E96E for ; Fri, 25 May 2018 16:08:09 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180525154859.GB1139@e107564-lin.cambridge.arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: nd@arm.com, airlied@linux.ie, alexandru-cosmin.gheorghe@arm.com, liviu.dudau@arm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Ayan Kumar Halder List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXkgMjUsIDIwMTggYXQgMDQ6NDg6NTlQTSArMDEwMCwgQnJpYW4gU3RhcmtleSB3 cm90ZToKPiBIaSBBeWFuLAo+IAo+IE9uIEZyaSwgTWF5IDI1LCAyMDE4IGF0IDA0OjM1OjQxUE0g KzAxMDAsIEF5YW4gS3VtYXIgSGFsZGVyIHdyb3RlOgo+ID5JZiBhIHBsYW5lIHN1cHBvcnRzIGEg cGl4ZWwgZm9ybWF0IGFuZCB0aGUgZnJhbWVidWZmZXIgZG9lcyBub3QgcGFzcyBhbnkKPiA+bW9k aWZpZXJzLCB0aGVuIGRybV9wbGFuZV9jaGVja19waXhlbF9mb3JtYXQoKSBzaG91bGQgYWx3YXlz IHJldHVybiB0cnVlCj4gPmZvciB0aGUgZ2l2ZW4gZm9ybWF0IHJlZ2FyZGxlc3Mgb2Ygd2hldGhl ciB0aGUgcGxhbmUgc3VwcG9ydHMgYW55Cj4gPm1vZGlmaWVycyBvciBub3QuCj4gPgo+ID5TaWdu ZWQtb2ZmLWJ5OiBBeWFuIEt1bWFyIEhhbGRlciA8YXlhbi5oYWxkZXJAYXJtLmNvbT4KPiA+LS0t Cj4gPiBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgfCAzICsrKwo+ID4gMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKQo+ID4KPiA+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+ID5pbmRleCA2ZDJhNmU0 Li44NzNjMDg0IDEwMDY0NAo+ID4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiA+ KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gPkBAIC01NjQsNiArNTY0LDkgQEAg aW50IGRybV9wbGFuZV9jaGVja19waXhlbF9mb3JtYXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Cj4gPiAJaWYgKCFwbGFuZS0+bW9kaWZpZXJfY291bnQpCj4gPiAJCXJldHVybiAwOwo+ID4KPiA+ KwlpZiAobW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfTk9ORSkKPiA+KwkJcmV0dXJuIDA7Cj4g PisKPiAKPiBUaGVyZSBjYW4gYmUgZHJpdmVycyB3aGljaCBoYXZlIGZvcm1hdHMgd2hpY2ggYXJl IG9ubHkgc3VwcG9ydGVkIHdoZW4KPiBhIG1vZGlmaWVyIGlzIHVzZWQgLSBzbyBJIGRvbid0IHRo aW5rIHRoaXMgY2hlY2sgaXMgcmlnaHQgdG8gaGF2ZSBpbgo+IHRoZSBjb3JlLgo+IAo+IERyaXZl cnMgbmVlZCB0byBjaGVjayBpZiB0aGV5IHN1cHBvcnQgdGhlIGZvcm1hdCB3aXRoIG5vIG1vZGlm aWVyCj4gKHNhbWUgYXMgRFJNX0ZPUk1BVF9NT0RfTElORUFSKSBpbiB0aGVpciBmb3JtYXRfbW9k X3N1cHBvcnRlZCgpCj4gY2FsbGJhY2suCgpCVFcgSSB0cmllZCB0byBtYWtlIHRoZSBjb3JlIGhp ZGUgdGhlICJkaWQgdGhlIHJlcXVlc3QgaGF2ZSBtb2RpZmllcnMKb3Igbm90IiBkaWZmZXJlbmNl IGFzIG11Y2ggYXMgcG9zc2libGUsIGFuZCB0byB2YWxpZGF0ZSB0aGF0IHRoZXJlIGlzCmF0IGxl YXN0IG9uZSBwbGFuZSB0aGF0IGNhbiB1c2UgdGhlIGNyZWF0ZWQgZmI6Cmh0dHBzOi8vcGF0Y2h3 b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvMzk4MTQvCgpOb3Qgc3VyZSB3ZSBldmVyIGZpZ3Vy ZWQgb3V0IGEgZ29vZCBzb2x1dGlvbiBpbiB0aGUgZW5kLCBidXQgYXQgbGVhc3QKRXJpYydzIGFw cHJvYWNoIGluIGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNDAxMzMv CndvdWxkIGF2b2lkIHNvbWUgb2YgdGhlIHByb2JsZW1zIEkgd2FzIGhhdmluZyBpbiBteSBhdHRl bXB0cy4gSSBndWVzcyAKSSBzaG91bGQgdHJ5IHRvIHJldmlzaXQgdGhhdCBwYXRjaHNldCBhbmQg c2VlIGlmIEkgY2FuIG1ha2UgaXQgbGVzcwpvYmplY3Rpb25hYmxlIHRoaXMgdGltZSBhcm91bmQu Cgo+IAo+IFRoYW5rcywKPiAtQnJpYW4KPiAKPiA+IAlmb3IgKGkgPSAwOyBpIDwgcGxhbmUtPm1v ZGlmaWVyX2NvdW50OyBpKyspIHsKPiA+IAkJaWYgKG1vZGlmaWVyID09IHBsYW5lLT5tb2RpZmll cnNbaV0pCj4gPiAJCQlicmVhazsKPiA+LS0gCj4gPjIuNy40Cj4gPgo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlz dAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gClZpbGxlIFN5cmrDpGzD pApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967198AbeEYQIL (ORCPT ); Fri, 25 May 2018 12:08:11 -0400 Received: from mga11.intel.com ([192.55.52.93]:25866 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966599AbeEYQIK (ORCPT ); Fri, 25 May 2018 12:08:10 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,440,1520924400"; d="scan'208";a="52181250" Date: Fri, 25 May 2018 19:08:05 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Brian Starkey Cc: Ayan Kumar Halder , airlied@linux.ie, alexandru-cosmin.gheorghe@arm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, liviu.dudau@arm.com, nd@arm.com Subject: Re: [PATCH] drm: check_pixel_format() should return true if no modifiers are passed for a supported pixel format Message-ID: <20180525160805.GG23723@intel.com> References: <1527262541-13964-1-git-send-email-ayan.halder@arm.com> <20180525154859.GB1139@e107564-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180525154859.GB1139@e107564-lin.cambridge.arm.com> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 25, 2018 at 04:48:59PM +0100, Brian Starkey wrote: > Hi Ayan, > > On Fri, May 25, 2018 at 04:35:41PM +0100, Ayan Kumar Halder wrote: > >If a plane supports a pixel format and the framebuffer does not pass any > >modifiers, then drm_plane_check_pixel_format() should always return true > >for the given format regardless of whether the plane supports any > >modifiers or not. > > > >Signed-off-by: Ayan Kumar Halder > >--- > > drivers/gpu/drm/drm_plane.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > >diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > >index 6d2a6e4..873c084 100644 > >--- a/drivers/gpu/drm/drm_plane.c > >+++ b/drivers/gpu/drm/drm_plane.c > >@@ -564,6 +564,9 @@ int drm_plane_check_pixel_format(struct drm_plane *plane, > > if (!plane->modifier_count) > > return 0; > > > >+ if (modifier == DRM_FORMAT_MOD_NONE) > >+ return 0; > >+ > > There can be drivers which have formats which are only supported when > a modifier is used - so I don't think this check is right to have in > the core. > > Drivers need to check if they support the format with no modifier > (same as DRM_FORMAT_MOD_LINEAR) in their format_mod_supported() > callback. BTW I tried to make the core hide the "did the request have modifiers or not" difference as much as possible, and to validate that there is at least one plane that can use the created fb: https://patchwork.freedesktop.org/series/39814/ Not sure we ever figured out a good solution in the end, but at least Eric's approach in https://patchwork.freedesktop.org/series/40133/ would avoid some of the problems I was having in my attempts. I guess I should try to revisit that patchset and see if I can make it less objectionable this time around. > > Thanks, > -Brian > > > for (i = 0; i < plane->modifier_count; i++) { > > if (modifier == plane->modifiers[i]) > > break; > >-- > >2.7.4 > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Ville Syrjälä Intel