Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1039950AbdDUN2I (ORCPT ); Fri, 21 Apr 2017 09:28:08 -0400 Received: from mail-by2nam01on0047.outbound.protection.outlook.com ([104.47.34.47]:7652 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1037533AbdDUN2E (ORCPT ); Fri, 21 Apr 2017 09:28:04 -0400 Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality. To: Gerd Hoffmann , =?UTF-8?Q?Christian_K=c3=b6nig?= References: <20170421075825.6307-1-kraxel@redhat.com> <20170421092530.GE30290@intel.com> <1492768218.25675.33.camel@redhat.com> <20170421110804.GH30290@intel.com> <1492780323.25675.45.camel@redhat.com> <041de509-f56f-f460-1961-810bc5a3c18e@vodafone.de> CC: , Daniel Vetter , =?UTF-8?Q?Michel_D=c3=a4nzer?= , open list , , "Wentland, Harry" From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Fri, 21 Apr 2017 15:27:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <041de509-f56f-f460-1961-810bc5a3c18e@vodafone.de> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:1251:7981:14ef:ff99:ae89:1a37] X-ClientProxiedBy: VI1P18901CA0010.EURP189.PROD.OUTLOOK.COM (10.173.66.148) To MWHPR12MB1309.namprd12.prod.outlook.com (10.169.205.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7d7135d0-5ae6-4485-fe1f-08d488ba3c13 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:MWHPR12MB1309; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1309;3:6yt6i6VFEcXJ6Xmeo5KUV6on/7MNrKZnBjFrWvBQSD1x7vFf3YhsdQ5ZjgAr2rNyEKeD6P0un1wwvcy4iliFRDL5UideNRxWKzUmiFeryk0C12F81rxKGJLM9jj+V9GMBI6GBeVNJtbTtBI5M8+dHdCTBkep4NxmCqxgX8JkrciO+lgGrIGq1zBmP/e5fn2JwSaVfwBEzoXWNi1oKBPjU59AyY9VQuVZhtiE1y3qtNt/BNVriaLZZLUlgY7Z7s4h+Gc4pU5JS3kW7RAL84rrJPgPr9ObkdH/Gi2qJ0OqSYk7tAD53DHltRqpproCBbfELZwxO+KaOPk0Vxz+wQP21NZn+NfHAmGVIrBMLNFs/Sk=;25:s0k3M0/jwLwIYwbP2bDQjU87JuplIZd42Ht8uBn2HqFD+8aZbFbFq1sXwdSFBGo1zgj6GNIDei/+leM0BJYMfa/nVL9NphiaudQTRBIhuEaQZJYGD0j7ao1aTsusB8bc5e2bflJORSxcj6KbpqERuueE/dWPCHLNhQA5pIdbGfjDExVg2XEYYdRuoElcVt37qDMEWM1ffIyYVPoqeyL9pQ40TCU8dicAFlkmjvwYS8H2jSnAOs0HjjqUc0IItHvDBjGQeARzP9A8d/TaRhDDDPS0d/Sq5lbFHYMxr2VJfnDrE71cI5+yUugZmBFXvsdNuLauhdlum8WjZmgQm848OOA5jiIlVGMq47XcI5tYlXhT5lXIddnNhu5nRAYTD09rVzEzMKnLxVV5QFv8qL7ay6fWQzwJhBXRHZVvLUUl/bxqzmQFaD/qUM+T/uh6PEKEWoqerzsOJPduUtdX8ryMVg== X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1309;31:EsbahxrrGPbsCTVf+f25YMJTvqgcmHSiiWWqx2KYN4E9qwtLiZ8cmlPhYyu8CxNZaROkCSvwiwOAjRUbkiP+o3vGdJFCETwKl8T0OJPX4mk+5J1CUJ6TIfvVCdhSKvf3ctDd7WwsoWQFpvpxCwbpK921tGyq0zBqgaAf96q6enLtp7IKdgAxliGrH1iEjSdOay6RDF8YUYApmwIXZSu9v+PkR1wGPXgp/3wUWJL+v9Q=;20:5e8MyXA4bOnklEYi2PpVDvFrLNVDNYsOaMaI7DQWVcEnPm1chDFGhNJYop+yLDLtVvhDSk5/TKOEJzXN5K+i7DyeKYsKkn16vcf2zYVNYbTfhEzNun8QiCa612i3PO9FryXnymC89FEmwidD+JE7cnnbiTNZzPcteVHkXy1O4Jx5X3lZbwLVl08OGi2zVaa5zPfHHFh1kug4PGdXJfbZKGuSdGQApzWtNcaKj6vc7ReFdlBemm9nmjxhyrMLMVuft1qWWmn38n1n74lei2DU2H7WCCsVysMLg0Ox7ZGwZP+7vihdnZwEWRO56gjpgS9szWqRFoUMP9nkGfWzFr8nLaC9u7H4ae8Z6SSD107WbeyMt50CVjuIzsWX1mYLuHNIwUBgIjG62HPcpGFnV4a4OPqSLYXpFbOLNLCN5TELEvwJquvhmzgnxcTEvZBw05JZ6bA+u2nR06FI1qR2JT51TKjUmTbGqHJ2vQ9Zx7OOgCI2Hb7Y/PCUfnSdBxQC8x7A X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(217544274631240)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123564025)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(20161123555025)(6072148);SRVR:MWHPR12MB1309;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1309; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1309;4:JPYtEiX6W2IZRtPzNAbU8u4tw8QijepWYJ/3YtKfh4dffzAB/GjemjLie/4HWuLDUqNaGZ5o1na43AMc2/yjDmjIoDPcGbVsjbwI7mOSOufmuEnrMdUTuD21qYSn+i2DQFLFnRs6OjErTQgPiPAUOgFLWoggATo+MrWdD3ldjoAscHx7mG0j24IOqJviDrVOaKuUs2ZCGQBCbhh/Wnn+6+y0ZeuM8rZ4AvfFXqdtArHprqaYqOWQETf14MeAb90VlBhMJXQzOWKh5zY+I97c0J1LbrhLR7ENYdRGZr7kiBmMAs+Len79C96VKmZiMtF45jHtk2ySgZj7nBq3QAPW0zXVoQBq1KxCfPvT4xvE67UPKutD1v+buwQT/h0/RQ/59dzhaa2pjqXK6Rtk77TTDell4y5mJ6W+3aUbKDmkZ1iwDFU+yK/Mp7lhXQi2/SHexCjh5hc4fIgFobbzp1LUWq2G2SfS0iQXlq+P3ve7VCLDK1RPR9IgbxnA+U2ywUfGIVGM9HJg7kV96ty9HMoXfvAlHWp4+D0iDSIJScxohyM8GoRljb6L9u+wHBOwx2cXl0Wv2aS2Nvap7QQO9K4k4La1oS5dSjF7Ly922551k29BnTy8IrqwucyvFCxYh8Cwy8hCfyl0IihsC3q3TRlfbO0h6kRNd+rieTL1/9GbwnGIvQ4rq0zJtEtOz466PnaCVkphBDdzxBVQ6BJ670ZYTvkfq/suiEsNecPUjNwMAbqydXjfaR5kZyKJ7uruiQeeOMCBIrJsnb5UkL3A9la35aIKqmUuTHj5PfAAuDFeLO3Ykq/cVHVawq3cj95mziM2 X-Forefront-PRVS: 02843AA9E0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39850400002)(39400400002)(39840400002)(39450400003)(39410400002)(39860400002)(6666003)(6306002)(54906002)(2950100002)(305945005)(93886004)(229853002)(4001350100001)(23676002)(6486002)(36756003)(86362001)(83506001)(189998001)(50466002)(8676002)(47776003)(81166006)(64126003)(76176999)(31686004)(25786009)(4326008)(54356999)(31696002)(42186005)(50986999)(53936002)(5660300001)(6116002)(6246003)(7736002)(65956001)(2906002)(33646002)(38730400002)(2870700001)(65806001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1309;H:[IPv6:2a02:908:1251:7981:14ef:ff99:ae89:1a37];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMzA5OzIzOlNoU0NjRmM0b1RvdzVWSXdSd25UWjhUTU9E?= =?utf-8?B?Z0RiSjR4WGxiSHJEaVpiYmp0Y2hJZk5GSVZTQU0rWXIxZUIxOExuNzU1SW83?= =?utf-8?B?Mk9UVXgrQlZCcUtOdWtmWUQranBvaHhNRVMvTzBUUGluTDBnNjYvZG5FcHRE?= =?utf-8?B?TVRjdFhzeGVqVTdsV2RrdytsTnc4eHR6YjJJZmRXRWQ4SU9GcTlOMzhJWFh1?= =?utf-8?B?NURYVFQvTUdzeUZGd3JtdVlzNUZCVWFLU2FFSHhpcjdLeGlBb0Z2b1hDOHdn?= =?utf-8?B?VVlWYmVQTk9QbllyMEtvcjYxZUcyL3RDSFBWWGRObGVqNFpSWTd6aitSVnY5?= =?utf-8?B?aTZqU3h6d3Z3MWxIc0FFbEh2R3U0YnRWMmRaSmFaMzBzQjVVODhDV05haW0v?= =?utf-8?B?ZEt1TDlpQ0V4UG95bVBwS05OOXQ4dXlYOFpXYVVGajRBbXBaSWF0a3VqWkYr?= =?utf-8?B?OTFzeGs3d25KaVhLQ0d6a2kvaDJsWWhGalM1V3RvMFJHdGZEVjRPUHdBTkNX?= =?utf-8?B?cjVFT2xMSm5DVC8zY2t4Zm5LSmJmeEFkbGZFZzRiYlYrMWJGcGRIMVNFU3Er?= =?utf-8?B?VkdFejh0SFplUG5oZmxRcDZSbkJycTczcUg5WDcxNFJ2a3NsY2pnVi93NXNH?= =?utf-8?B?cmdsT1RPc0FyejI2R1ZjK1c4bnlodDNkVG9TK0pJL0cxTWRKcURtMjh5T2Jo?= =?utf-8?B?VHpvZkk2aWZieWpqZUx0MDh4MlJjbC9vUzI5a1gwd2JJQnZrVW1mTnJPMWVy?= =?utf-8?B?Vy9mWU1qYkt2blFNdmgxYllrL2N5Q3QxSHBSNWoxRUtiSkxTRjkvdnNNMmdp?= =?utf-8?B?QU92bWR2L0ZZUElIbjlzZHR1RmVnMEh6Q3FTZ3ZPSGU4dHk0R3RkVzN6RjBS?= =?utf-8?B?RFhOWXRDZzdKbEJMOGVrVUJ6MTFYMkpRS09IWUp1b0FXWTFFdmg5bjVPSTBC?= =?utf-8?B?cVVmU21ZQ2Y5WERKbE5tQzdvMCtIbUxWMmlyV1lFUVIrdjJLK1FWOTNmRkxS?= =?utf-8?B?UnpoZGpsdXlFa0tROUNQWjE3WUlFQWV6UEcrOHBaL09XZkhqdkhicHFaL2JW?= =?utf-8?B?d3ROeHRaTmM3Qy9GcHcvNDBrME5TMzZKM2ZtSEJWUXlZVnhOQ3hEaXpqMlFS?= =?utf-8?B?aDVNMXAzNThSWGhmUDBUQnd5N3lPZUFhaXhqd2VBVExsaDR0WFFTWWpsMmxQ?= =?utf-8?B?QnV4MFlTSTBYK0RJb1l3aEZUZGJPNDV2aVZidW9nMWxnaXdocktzS1B2aTBZ?= =?utf-8?B?cHU2T3pKZlBCSVpFbENYNXhLaWorQ2hqdnZWOWc4WHRGMStiWjJvdkw3NmhW?= =?utf-8?B?Q3c1RXUzQVoyeEZLMkFXNFo5Z0tHYTNYSWZSZk04ZUZtTStCMWdEVEgzSm1V?= =?utf-8?B?Zm5oM3RHdzduVStZTmRnZTBGOVpDbCtmQTFaWnc3THRVUjhJY3ZKMElJeXJ6?= =?utf-8?B?QnFsU3VjRVJaMU9uKzQ0VThkOThIUjdwZUN0NFRzZFlJRGtla1g2YmFrNWdS?= =?utf-8?B?MVlwTmw3NTdOQytBb0h5N1BMNHdkMy9tQ0d3YWdhd0RySmx1ZFVqaytPd3Zh?= =?utf-8?B?SG9HamVRdFlYdGxIaVhncmdjSURacmc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1309;6:7nLBOlEZFcsMepPV+qawUjbFo1H8VPyi0SbU6Fa+B8YFUW+Unh+I4EW8IaCMsq94HWU0SVUXpz2YKIWTvgHjzZvKmTZ2dR5Pf6nb1KKBTWwNimvWbOIFqjiKAXdKkfoLjQEX+au9u7bvDBob38qH0gWANEYvjxqIFdGA/gGZB16PrsR/P9ERsI4svcC/XRewj5SCtOpZqXKvPZgzC3/agjtkly2+WEPBIPVefZ+iz/2DVjNRXFbbSowp/G8upmYI5fyEtGlxwcVRZdeFcInb3wq/CVcJRpGsafSM1JWAO+dO3FzYAClWeOyPsOvUoROVpzI3vssbAdBr7pyLrNF3IITAwrj+uv+Q3fc9bbK6aCv2HLWyv+nTwmgDn+ctaBw8dgPnS+B9KyLLwxVI6nogpx5lDyY2c+rG4jf0pm5Nixr09tOxwQjko5lv2omkHPM5/k+ray/C7jaQO3bYfhBtGEYPHam+u/ZwWZb02dPu/oZ+4KVT/5Zof/p3pjE6ryJRozkoNeUT6ElUSblCqfP8qUnBLgeaauiDZktbP79Y2KA=;5:ErJc2UneM9LJXxadkrw/zAZPHMH8hyv7IovKNuPqKXiYcKP1sPiG7gX4tqAQ7diwszKGDbyASMqatDKVuo675vrJj7bLI0IJVGBQk9IAEHL5ls08VIBjQOXKzU00XQRtWpujF7SmMxg5r7LJAPB/1g==;24:1IzGoiA3iwFD4rWYinfyY7gBpPxQHtDCvOvYK5+8nCGqS5Hx3r2f59qACA2DT7LqCYrSgkQVlt/h3CmXDSQ8b+/J0GYf80EloMY00ORw4vA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1309;7:nwZHbcB0QVRSNxc7mVZuC5XFpf7CmJvTrIwA6e3AWR+TwbZA/IGNcs6jHg5WifbvKH2QPOJCC0mb+ImJXbTysvcJnykQlFlvs6ZBvUpiP6GbM3Kg5PgEbsCHyL0HM8gd7QOA5EIcTB0p/yBtC9xVi2eta8ZY0Tpz6w0Zms0VNmNX86drkgH3NsTe9MzD1r1zW4se5gr5DpqBrUiTFXMq0Ezto0D2bmVTbgUJZrJ4Y2iBT/JCDI6hH6DRLKKoGbEQsHtgjk3kzWBJpfehumWVvGZezVhMyryNGLyGlkw+2dJcjpyACmZrhCiQp70nxXVMgxJWFOcFTfmuuO0tRNhB0w==;20:3Yc883OBLaQ2niq01pD75qcep0leMX39iTleFu/FuK6TSUkXooqf/9e1qItCBPLrYjdkxh2J72CyaPD8sGSEjgj02s0RYXdDC4bhmBlV0adyiRU6iYFFf19nqQPA+npInJba1B0N88nWogI++ZlVEYT1vEYJfRdQjmlrZy8vDsimJPyrfdUmp8ipcMVNQpDM6timx/4t4KbG5z2nQ4GgUqSOabG+p7xI2+JiPpyS0eKWx6A9P2oVNjExZ63nIOjF X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2017 13:27:59.9833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1309 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3773 Lines: 99 Adding Harry to this mail thread as well, cause is one of the people really affected by this. Christian. Am 21.04.2017 um 15:21 schrieb Christian König: > Am 21.04.2017 um 15:12 schrieb Gerd Hoffmann: >> 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 > > Exactly what Mesa did as well. > >>> 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 ... > > I know and that's exactly the reason I'm going to object those changes. > > The kernel/userspace abi is fixed and changing it like this could > potentially break drivers I'm the co-maintainer of. So that whole > approach is a clear NAK from my side. > > If you find a driver or userspace which doesn't use the formats as > defined in the comments of drm_fourcc.h the fix the driver instead of > trying to adjust the common header to broken behavior. Cause the later > will clearly cause problems with drivers who correctly implemented the > interface. > > Regards, > Christian. > >> >> cheers, >> Gerd >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx