From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality. Date: Fri, 21 Apr 2017 15:12:03 +0200 Message-ID: <1492780323.25675.45.camel@redhat.com> References: <20170421075825.6307-1-kraxel@redhat.com> <20170421092530.GE30290@intel.com> <1492768218.25675.33.camel@redhat.com> <20170421110804.GH30290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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: Christian =?ISO-8859-1?Q?K=F6nig?= Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, David Airlie , Michel =?ISO-8859-1?Q?D=E4nzer?= , open list , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Pekka Paalanen , Sean Paul , Jani Nikula , Alex Deucher , Daniel Vetter , Ilia Mirkin , Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= ICBIaSwKCj4gPiAibmF0aXZlIiB0byBtZSBmZWVscyBtb3JlIGxpa2UgIm5hdGl2ZSB0byB0aGUg R1BVIiBzaW5jZSB0aGVzZSB0aGluZ3MKPiA+IHJlYWxseSBhcmUgdGllZCB0byB0aGUgR1BVIG5v dCB0aGUgQ1BVLiBUaGF0J3MgYWxzbyB3aHkgSSB3ZW50IHdpdGggdGhlCj4gPiBleHBsaWNpdCBl bmRpYW5uZXNzIG9yaWdpbmFsbHkgc28gdGhhdCB0aGUgZHJpdmVyIGNvdWxkIHByb3Blcmx5IGRl Y2xhcmUKPiA+IHdoYXQgdGhlIEdQVSBzdXBwb3J0cy4KPiBBbmQgdG8gYmUgaG9uZXN0IEkgd291 bGQgcmVhbGx5IHByZWZlciB0byBzdGljayB3aXRoIHRoYXQgYXBwcm9hY2ggZm9yIAo+IGV4YWN0 bHkgdGhhdCByZWFzb24uCj4gCj4gVGhlIHByb3Bvc2VkIGNoYW5nZSB3b3VsZCByZXF1aXJlIHRo YXQgZHJpdmVycyBoYXZlIGRpZmZlcmVudCBjb2RlIHBhdGggCj4gZm9yIGRpZmZlcmVudCBDUFUg Ynl0ZSBvcmRlci4gVGhvc2UgY29kZSBwYXRoIHRlbmQgdG8gYmUgbm90IHRlc3RlZCB2ZXJ5IAo+ IHdlbGwgYW5kIGFyZSBhZGRpdGlvbmFsIGNvbXBsZXhpdHkgd2UgcHJvYmFibHkgZG9uJ3Qgd2Fu dCBpbnNpZGUgdGhlIGRyaXZlci4KCldlIGNhbiBhZGQgZml4ZWQtZW5kaWFuICNkZWZpbmVzIHdp dGhvdXQgdG9vIG11Y2ggZWZmb3J0LCBhdCBsZWFzdCBmb3IKdGhlIDggYml0cyBwZXIgY29sb3Ig Zm9ybWF0cy4gIEluIHFlbXUgd2UgaGF2ZSB0aGUgc2FtZSBwcm9ibGVtLCBvbmx5CndpdGggcGl4 bWFuLiAgVGhvc2UgZm9ybWF0cyBhcmUgbmF0aXZlIGVuZGlhbiB0b28sIGJ1dCBvZnRlbiB3ZSBo YXZlIHRvCmhhbmRsZSBhIGZpeGVkIGZvcm1hdCwgc28gd2UgZGlkIHRoaXM6CgovKgogKiBwaXht YW4gaW1hZ2UgZm9ybWF0cyBhcmUgZGVmaW5lZCB0byBiZSBuYXRpdmUgZW5kaWFuLAogKiB0aGF0 IG1lYW5zIGhvc3QgYnl0ZSBvcmRlciBvbiBxZW11LiAgU28gd2UgZ28gZGVmaW5lCiAqIGZpeGVk IGZvcm1hdHMgaGVyZSBmb3IgY2FzZXMgd2hlcmUgaXQgaXMgbmVlZGVkLCBsaWtlCiAqIGZlZWRp bmcgbGlianBlZyAvIGxpYnBuZyBhbmQgd3JpdGluZyBzY3JlZW5zaG90cy4KICovCgojaWZkZWYg SE9TVF9XT1JEU19CSUdFTkRJQU4KIyBkZWZpbmUgUElYTUFOX0JFX3I4ZzhiOCAgICAgUElYTUFO X3I4ZzhiOAojIGRlZmluZSBQSVhNQU5fQkVfeDhyOGc4YjggICBQSVhNQU5feDhyOGc4YjgKIyBk ZWZpbmUgUElYTUFOX0JFX2E4cjhnOGI4ICAgUElYTUFOX2E4cjhnOGI4CiMgZGVmaW5lIFBJWE1B Tl9CRV9iOGc4cjh4OCAgIFBJWE1BTl9iOGc4cjh4OAojIGRlZmluZSBQSVhNQU5fQkVfYjhnOHI4 YTggICBQSVhNQU5fYjhnOHI4YTgKIyBkZWZpbmUgUElYTUFOX0JFX3I4ZzhiOHg4ICAgUElYTUFO X3I4ZzhiOHg4CiMgZGVmaW5lIFBJWE1BTl9CRV9yOGc4YjhhOCAgIFBJWE1BTl9yOGc4YjhhOAoj IGRlZmluZSBQSVhNQU5fQkVfeDhiOGc4cjggICBQSVhNQU5feDhiOGc4cjgKIyBkZWZpbmUgUElY TUFOX0JFX2E4YjhnOHI4ICAgUElYTUFOX2E4YjhnOHI4CiMgZGVmaW5lIFBJWE1BTl9MRV94OHI4 ZzhiOCAgIFBJWE1BTl9iOGc4cjh4OAojZWxzZQojIGRlZmluZSBQSVhNQU5fQkVfcjhnOGI4ICAg ICBQSVhNQU5fYjhnOHI4CiMgZGVmaW5lIFBJWE1BTl9CRV94OHI4ZzhiOCAgIFBJWE1BTl9iOGc4 cjh4OAojIGRlZmluZSBQSVhNQU5fQkVfYThyOGc4YjggICBQSVhNQU5fYjhnOHI4YTgKIyBkZWZp bmUgUElYTUFOX0JFX2I4ZzhyOHg4ICAgUElYTUFOX3g4cjhnOGI4CiMgZGVmaW5lIFBJWE1BTl9C RV9iOGc4cjhhOCAgIFBJWE1BTl9hOHI4ZzhiOAojIGRlZmluZSBQSVhNQU5fQkVfcjhnOGI4eDgg ICBQSVhNQU5feDhiOGc4cjgKIyBkZWZpbmUgUElYTUFOX0JFX3I4ZzhiOGE4ICAgUElYTUFOX2E4 YjhnOHI4CiMgZGVmaW5lIFBJWE1BTl9CRV94OGI4ZzhyOCAgIFBJWE1BTl9yOGc4Yjh4OAojIGRl ZmluZSBQSVhNQU5fQkVfYThiOGc4cjggICBQSVhNQU5fcjhnOGI4YTgKIyBkZWZpbmUgUElYTUFO X0xFX3g4cjhnOGI4ICAgUElYTUFOX3g4cjhnOGI4CiNlbmRpZgoKPiBNeSBwZXJzb25hbCBvcGlu aW9uIGlzIHRoYXQgZm9ybWF0cyBpbiBkcm1fZm91cmNjLmggc2hvdWxkIGJlIAo+IGluZGVwZW5k ZW50IG9mIHRoZSBDUFUgYnl0ZSBvcmRlciBhbmQgdGhlIGZ1bmN0aW9uIAo+IGRybV9tb2RlX2xl Z2FjeV9mYl9mb3JtYXQoKSBhbmQgZHJpdmVycyBkZXBlbmRpbmcgb24gdGhhdCBpbmNvcnJlY3Qg Cj4gYXNzdW1wdGlvbiBiZSBmaXhlZCBpbnN0ZWFkLgoKVGhlIHByb2JsZW0gaXMgdGhpcyBpc24n dCBhIGtlcm5lbC1pbnRlcm5hbCB0aGluZyBhbnkgbW9yZS4gIFdpdGggdGhlCmFkZGl0aW9uIG9m IHRoZSBBRERGQjIgaW9jdGwgdGhlIGZvdXJjYyBjb2RlcyBiZWNhbWUgcGFydCBvZiB0aGUKa2Vy bmVsL3VzZXJzcGFjZSBhYmkgLi4uCgpjaGVlcnMsCiAgR2VyZAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1039714AbdDUNMK convert rfc822-to-8bit (ORCPT ); Fri, 21 Apr 2017 09:12:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49446 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1039692AbdDUNMH (ORCPT ); Fri, 21 Apr 2017 09:12:07 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com A7544341450 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=kraxel@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com A7544341450 Message-ID: <1492780323.25675.45.camel@redhat.com> Subject: Re: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality. From: Gerd Hoffmann To: Christian =?ISO-8859-1?Q?K=F6nig?= Cc: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= , Jani Nikula , David Airlie , Michel =?ISO-8859-1?Q?D=E4nzer?= , open list , dri-devel@lists.freedesktop.org, Pekka Paalanen , Sean Paul , amd-gfx@lists.freedesktop.org, Alex Deucher , Daniel Vetter , Ilia Mirkin Date: Fri, 21 Apr 2017 15:12:03 +0200 In-Reply-To: References: <20170421075825.6307-1-kraxel@redhat.com> <20170421092530.GE30290@intel.com> <1492768218.25675.33.camel@redhat.com> <20170421110804.GH30290@intel.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Mime-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 21 Apr 2017 13:12:07 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, > > "native" to me feels more like "native to the GPU" since these things > > really are tied to the GPU not the CPU. That's also why I went with the > > explicit endianness originally so that the driver could properly declare > > what the GPU supports. > And to be honest I would really prefer to stick with that approach for > exactly that reason. > > The proposed change would require that drivers have different code path > for different CPU byte order. Those code path tend to be not tested very > well and are additional complexity we probably don't want inside the driver. We can add fixed-endian #defines without too much effort, at least for the 8 bits per color formats. In qemu we have the same problem, only with pixman. Those formats are native endian too, but often we have to handle a fixed format, so we did this: /* * pixman image formats are defined to be native endian, * that means host byte order on qemu. So we go define * fixed formats here for cases where it is needed, like * feeding libjpeg / libpng and writing screenshots. */ #ifdef HOST_WORDS_BIGENDIAN # define PIXMAN_BE_r8g8b8 PIXMAN_r8g8b8 # define PIXMAN_BE_x8r8g8b8 PIXMAN_x8r8g8b8 # define PIXMAN_BE_a8r8g8b8 PIXMAN_a8r8g8b8 # define PIXMAN_BE_b8g8r8x8 PIXMAN_b8g8r8x8 # define PIXMAN_BE_b8g8r8a8 PIXMAN_b8g8r8a8 # define PIXMAN_BE_r8g8b8x8 PIXMAN_r8g8b8x8 # define PIXMAN_BE_r8g8b8a8 PIXMAN_r8g8b8a8 # define PIXMAN_BE_x8b8g8r8 PIXMAN_x8b8g8r8 # define PIXMAN_BE_a8b8g8r8 PIXMAN_a8b8g8r8 # define PIXMAN_LE_x8r8g8b8 PIXMAN_b8g8r8x8 #else # define PIXMAN_BE_r8g8b8 PIXMAN_b8g8r8 # define PIXMAN_BE_x8r8g8b8 PIXMAN_b8g8r8x8 # define PIXMAN_BE_a8r8g8b8 PIXMAN_b8g8r8a8 # define PIXMAN_BE_b8g8r8x8 PIXMAN_x8r8g8b8 # define PIXMAN_BE_b8g8r8a8 PIXMAN_a8r8g8b8 # define PIXMAN_BE_r8g8b8x8 PIXMAN_x8b8g8r8 # define PIXMAN_BE_r8g8b8a8 PIXMAN_a8b8g8r8 # define PIXMAN_BE_x8b8g8r8 PIXMAN_r8g8b8x8 # define PIXMAN_BE_a8b8g8r8 PIXMAN_r8g8b8a8 # define PIXMAN_LE_x8r8g8b8 PIXMAN_x8r8g8b8 #endif > My personal opinion is that formats in drm_fourcc.h should be > independent of the CPU byte order and the function > drm_mode_legacy_fb_format() and drivers depending on that incorrect > assumption be fixed instead. The problem is this isn't a kernel-internal thing any more. With the addition of the ADDFB2 ioctl the fourcc codes became part of the kernel/userspace abi ... cheers, Gerd