[v2,0/2] drm/panfrost: Fix UAPI for C++/BSD compatibility

Message ID 20221017104602.142992-1-steven.price@arm.com
Headers
Series drm/panfrost: Fix UAPI for C++/BSD compatibility |

Message

Steven Price Oct. 17, 2022, 10:46 a.m. UTC
  The Panfrost DRM interface to user space is uesd in Mesa for targets
other than C/Linux. Specifically the header file needs to compile in C++
code and for FreeBSD which shares the same UABI.

The first patch fixes the C++ compilation issue by removing the
(unnecessary) type name from internal structs which is invalid in C++.

The second patch technically changes the UABI by changing the header
values in the dump format to be native endian rather than fixed
little-endian. Since (a) there are no known big-endian Mali systems, and
(b) this has only appeared in -rc1, this shouldn't break user space.
Tools can use the 'magic' field to identify the endianness of the dump
if they want to support big-endian.

This is effectively a 'v2' of Adrián's series here [1].

[1] https://lore.kernel.org/r/20220920211545.1017355-1-adrian.larumbe%40collabora.com

Steven Price (2):
  drm/panfrost: Remove type name from internal structs
  drm/panfrost: replace endian-specific types with native ones

 drivers/gpu/drm/panfrost/panfrost_dump.c | 36 ++++++++++++------------
 include/uapi/drm/panfrost_drm.h          | 36 +++++++++++++-----------
 2 files changed, 38 insertions(+), 34 deletions(-)
  

Comments

Alyssa Rosenzweig Oct. 17, 2022, 3:44 p.m. UTC | #1
Series is

	Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>

Thank you for this, please push to the appropriate trees so we can fix
the Mesa build.

On Mon, Oct 17, 2022 at 11:46:00AM +0100, Steven Price wrote:
> The Panfrost DRM interface to user space is uesd in Mesa for targets
> other than C/Linux. Specifically the header file needs to compile in C++
> code and for FreeBSD which shares the same UABI.
> 
> The first patch fixes the C++ compilation issue by removing the
> (unnecessary) type name from internal structs which is invalid in C++.
> 
> The second patch technically changes the UABI by changing the header
> values in the dump format to be native endian rather than fixed
> little-endian. Since (a) there are no known big-endian Mali systems, and
> (b) this has only appeared in -rc1, this shouldn't break user space.
> Tools can use the 'magic' field to identify the endianness of the dump
> if they want to support big-endian.
> 
> This is effectively a 'v2' of Adri??n's series here [1].
> 
> [1] https://lore.kernel.org/r/20220920211545.1017355-1-adrian.larumbe%40collabora.com
> 
> Steven Price (2):
>   drm/panfrost: Remove type name from internal structs
>   drm/panfrost: replace endian-specific types with native ones
> 
>  drivers/gpu/drm/panfrost/panfrost_dump.c | 36 ++++++++++++------------
>  include/uapi/drm/panfrost_drm.h          | 36 +++++++++++++-----------
>  2 files changed, 38 insertions(+), 34 deletions(-)
> 
> -- 
> 2.34.1
>
  
Steven Price Oct. 20, 2022, 10:17 a.m. UTC | #2
On 17/10/2022 16:44, Alyssa Rosenzweig wrote:
> Series is
> 
> 	Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> 
> Thank you for this, please push to the appropriate trees so we can fix
> the Mesa build.

Thanks! I've pushed the patches to drm-misc-fixes.

Steve

> On Mon, Oct 17, 2022 at 11:46:00AM +0100, Steven Price wrote:
>> The Panfrost DRM interface to user space is uesd in Mesa for targets
>> other than C/Linux. Specifically the header file needs to compile in C++
>> code and for FreeBSD which shares the same UABI.
>>
>> The first patch fixes the C++ compilation issue by removing the
>> (unnecessary) type name from internal structs which is invalid in C++.
>>
>> The second patch technically changes the UABI by changing the header
>> values in the dump format to be native endian rather than fixed
>> little-endian. Since (a) there are no known big-endian Mali systems, and
>> (b) this has only appeared in -rc1, this shouldn't break user space.
>> Tools can use the 'magic' field to identify the endianness of the dump
>> if they want to support big-endian.
>>
>> This is effectively a 'v2' of Adri??n's series here [1].
>>
>> [1] https://lore.kernel.org/r/20220920211545.1017355-1-adrian.larumbe%40collabora.com
>>
>> Steven Price (2):
>>   drm/panfrost: Remove type name from internal structs
>>   drm/panfrost: replace endian-specific types with native ones
>>
>>  drivers/gpu/drm/panfrost/panfrost_dump.c | 36 ++++++++++++------------
>>  include/uapi/drm/panfrost_drm.h          | 36 +++++++++++++-----------
>>  2 files changed, 38 insertions(+), 34 deletions(-)
>>
>> -- 
>> 2.34.1
>>