From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932798AbdELJKn (ORCPT ); Fri, 12 May 2017 05:10:43 -0400 Received: from mga02.intel.com ([134.134.136.20]:7358 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932283AbdELJK3 (ORCPT ); Fri, 12 May 2017 05:10:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,328,1491289200"; d="scan'208";a="1146979405" Date: Fri, 12 May 2017 12:10:22 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Pavel Machek Cc: Gerd Hoffmann , dri-devel@lists.freedesktop.org, Daniel Vetter , Pekka Paalanen , Ilia Mirkin , Michel =?iso-8859-1?Q?D=E4nzer?= , Alex Deucher , amd-gfx@lists.freedesktop.org, Jani Nikula , Sean Paul , David Airlie , open list Subject: Re: [PATCH] drm: fourcc byteorder: brings header file comments in line with reality. Message-ID: <20170512091022.GM12629@intel.com> References: <20170421075825.6307-1-kraxel@redhat.com> <20170421092530.GE30290@intel.com> <1492768218.25675.33.camel@redhat.com> <20170421110804.GH30290@intel.com> <20170511212311.GA6780@amd> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170511212311.GA6780@amd> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 11, 2017 at 11:23:11PM +0200, Pavel Machek wrote: > On Fri 2017-04-21 14:08:04, Ville Syrjälä wrote: > > On Fri, Apr 21, 2017 at 11:50:18AM +0200, Gerd Hoffmann wrote: > > > On Fr, 2017-04-21 at 12:25 +0300, Ville Syrjälä wrote: > > > > On Fri, Apr 21, 2017 at 09:58:24AM +0200, Gerd Hoffmann wrote: > > > > > While working on graphics support for virtual machines on ppc64 (which > > > > > exists in both little and big endian variants) I've figured the comments > > > > > for various drm fourcc formats in the header file don't match reality. > > > > > > > > > > Comments says the RGB formats are little endian, but in practice they > > > > > are native endian. Look at the drm_mode_legacy_fb_format() helper. It > > > > > maps -- for example -- bpp/depth 32/24 to DRM_FORMAT_XRGB8888, no matter > > > > > whenever the machine is little endian or big endian. The users of this > > > > > function (fbdev emulation, DRM_IOCTL_MODE_ADDFB) expect the framebuffer > > > > > is native endian, not little endian. Most userspace also operates on > > > > > native endian only. > > > > > > > > I'm not a fan of "native". Native to what? "CPU" or "host" is what I'd > > > > call it. > > > > > > native == whatever the cpu is using. > > > > > > I personally find "native" more intuitive, but at the end of the day I > > > don't mind much. If people prefer "host" over "native" I'll change it. > > > > "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. > > You can easily have more than one GPU in the system. Plus these are > used by cameras / frame grabbers, too. So anything else than CPU > endianness is badly defined. The framebuffer has very little to do with the CPU. The display controller is the only consumer, and the producer could be whatever. -- Ville Syrjälä Intel OTC