diff mbox series

[1/2] sunxi-mali-driver-mainline: new package

Message ID 1511648569-18855-1-git-send-email-giulio.benetti@micronovasrl.com
State Accepted
Commit 4fdf2d642b8d1a7fcabf1a995887c33581fa7aad
Headers show
Series [1/2] sunxi-mali-driver-mainline: new package | expand

Commit Message

Giulio Benetti Nov. 25, 2017, 10:22 p.m. UTC
Added kernel allwinner mali driver package.
Used combined with userspace Allwinner openGL libraries,
it gives possibility to use 3D openGL SoC acceleration.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
 DEVELOPERS                                         |  3 ++
 package/Config.in                                  |  1 +
 package/sunxi-mali-driver-mainline/Config.in       | 38 ++++++++++++++++++++++
 .../sunxi-mali-driver-mainline.mk                  | 30 +++++++++++++++++
 4 files changed, 72 insertions(+)
 create mode 100644 package/sunxi-mali-driver-mainline/Config.in
 create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk

Comments

Maxime Ripard Nov. 27, 2017, 2:28 p.m. UTC | #1
Hi,

On Sat, Nov 25, 2017 at 11:22:48PM +0100, Giulio Benetti wrote:
> Added kernel allwinner mali driver package.
> Used combined with userspace Allwinner openGL libraries,
> it gives possibility to use 3D openGL SoC acceleration.
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
> ---
>  DEVELOPERS                                         |  3 ++
>  package/Config.in                                  |  1 +
>  package/sunxi-mali-driver-mainline/Config.in       | 38 ++++++++++++++++++++++
>  .../sunxi-mali-driver-mainline.mk                  | 30 +++++++++++++++++
>  4 files changed, 72 insertions(+)
>  create mode 100644 package/sunxi-mali-driver-mainline/Config.in
>  create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 7621f96..60a934e 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -698,6 +698,9 @@ F:	package/ocrad/
>  F:	package/tesseract-ocr/
>  F:	package/webp/
>  
> +N:	Giulio Benetti <giulio.benetti@micronovasrl.com>
> +F:	package/sunxi-mali-driver-mainline/
> +
>  N:	Gregory Dymarek <gregd72002@gmail.com>
>  F:	package/ding-libs/
>  F:	package/gengetopt/
> diff --git a/package/Config.in b/package/Config.in
> index fe5ccc4..e619992 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -497,6 +497,7 @@ endmenu
>  	source "package/stm32flash/Config.in"
>  	source "package/sunxi-cedarx/Config.in"
>  	source "package/sunxi-mali/Config.in"
> +	source "package/sunxi-mali-driver-mainline/Config.in"
>  	source "package/sysstat/Config.in"
>  	source "package/targetcli-fb/Config.in"
>  	source "package/ti-gfx/Config.in"
> diff --git a/package/sunxi-mali-driver-mainline/Config.in b/package/sunxi-mali-driver-mainline/Config.in
> new file mode 100644
> index 0000000..1f9ef59
> --- /dev/null
> +++ b/package/sunxi-mali-driver-mainline/Config.in
> @@ -0,0 +1,38 @@
> +comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
> +	depends on !BR2_LINUX_KERNEL
> +
> +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
> +	bool "sunxi-mali-driver-mainline"
> +	depends on BR2_LINUX_KERNEL
> +	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
> +	help
> +	  This package builds and installs the Linux kernel driver for
> +	  the Mali GPU on Allwinner platforms, compatible with recent
> +	  Linux kernels (>= 4.4). Note that it should be installed
> +	  together with the corresponding userspace OpenGL libraries,
> +	  which are provided as binaries only at:
> +	  https://github.com/free-electrons/mali-blobs
> +
> +	  sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with the
> +	  following options enabled:
> +
> +	  - CONFIG_CMA
> +	  - CONFIG_DMA_CMA
> +	  - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more

Sorry for missing that out earlier, but that one is not true. You can
achieve the same result using the drm_fbdev_overalloc kernel paremeter.

The rest looks good.

Maxime
Giulio Benetti Nov. 27, 2017, 3:23 p.m. UTC | #2
Hi Maxime,

Il 27/11/2017 15:28, Maxime Ripard ha scritto:
> Hi,
> 
> On Sat, Nov 25, 2017 at 11:22:48PM +0100, Giulio Benetti wrote:
>> Added kernel allwinner mali driver package.
>> Used combined with userspace Allwinner openGL libraries,
>> it gives possibility to use 3D openGL SoC acceleration.
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>> ---
>>   DEVELOPERS                                         |  3 ++
>>   package/Config.in                                  |  1 +
>>   package/sunxi-mali-driver-mainline/Config.in       | 38 ++++++++++++++++++++++
>>   .../sunxi-mali-driver-mainline.mk                  | 30 +++++++++++++++++
>>   4 files changed, 72 insertions(+)
>>   create mode 100644 package/sunxi-mali-driver-mainline/Config.in
>>   create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
>>
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index 7621f96..60a934e 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -698,6 +698,9 @@ F:	package/ocrad/
>>   F:	package/tesseract-ocr/
>>   F:	package/webp/
>>   
>> +N:	Giulio Benetti <giulio.benetti@micronovasrl.com>
>> +F:	package/sunxi-mali-driver-mainline/
>> +
>>   N:	Gregory Dymarek <gregd72002@gmail.com>
>>   F:	package/ding-libs/
>>   F:	package/gengetopt/
>> diff --git a/package/Config.in b/package/Config.in
>> index fe5ccc4..e619992 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -497,6 +497,7 @@ endmenu
>>   	source "package/stm32flash/Config.in"
>>   	source "package/sunxi-cedarx/Config.in"
>>   	source "package/sunxi-mali/Config.in"
>> +	source "package/sunxi-mali-driver-mainline/Config.in"
>>   	source "package/sysstat/Config.in"
>>   	source "package/targetcli-fb/Config.in"
>>   	source "package/ti-gfx/Config.in"
>> diff --git a/package/sunxi-mali-driver-mainline/Config.in b/package/sunxi-mali-driver-mainline/Config.in
>> new file mode 100644
>> index 0000000..1f9ef59
>> --- /dev/null
>> +++ b/package/sunxi-mali-driver-mainline/Config.in
>> @@ -0,0 +1,38 @@
>> +comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
>> +	depends on !BR2_LINUX_KERNEL
>> +
>> +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
>> +	bool "sunxi-mali-driver-mainline"
>> +	depends on BR2_LINUX_KERNEL
>> +	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
>> +	help
>> +	  This package builds and installs the Linux kernel driver for
>> +	  the Mali GPU on Allwinner platforms, compatible with recent
>> +	  Linux kernels (>= 4.4). Note that it should be installed
>> +	  together with the corresponding userspace OpenGL libraries,
>> +	  which are provided as binaries only at:
>> +	  https://github.com/free-electrons/mali-blobs
>> +
>> +	  sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with the
>> +	  following options enabled:
>> +
>> +	  - CONFIG_CMA
>> +	  - CONFIG_DMA_CMA
>> +	  - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more
> 
> Sorry for missing that out earlier, but that one is not true. You can
> achieve the same result using the drm_fbdev_overalloc kernel paremeter.

Ok, I add it on Help.

Thanks

> 
> The rest looks good.
> 
> Maxime
>
Giulio Benetti Nov. 27, 2017, 11:34 p.m. UTC | #3
Hello everybody,

Il 27/11/2017 16:23, Giulio Benetti ha scritto:
> Hi Maxime,
> 
> Il 27/11/2017 15:28, Maxime Ripard ha scritto:
>> Hi,
>>
>> On Sat, Nov 25, 2017 at 11:22:48PM +0100, Giulio Benetti wrote:
>>> Added kernel allwinner mali driver package.
>>> Used combined with userspace Allwinner openGL libraries,
>>> it gives possibility to use 3D openGL SoC acceleration.
>>>
>>> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>>> ---
>>>   DEVELOPERS                                         |  3 ++
>>>   package/Config.in                                  |  1 +
>>>   package/sunxi-mali-driver-mainline/Config.in       | 38 
>>> ++++++++++++++++++++++
>>>   .../sunxi-mali-driver-mainline.mk                  | 30 
>>> +++++++++++++++++
>>>   4 files changed, 72 insertions(+)
>>>   create mode 100644 package/sunxi-mali-driver-mainline/Config.in
>>>   create mode 100644 
>>> package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
>>>
>>> diff --git a/DEVELOPERS b/DEVELOPERS
>>> index 7621f96..60a934e 100644
>>> --- a/DEVELOPERS
>>> +++ b/DEVELOPERS
>>> @@ -698,6 +698,9 @@ F:    package/ocrad/
>>>   F:    package/tesseract-ocr/
>>>   F:    package/webp/
>>> +N:    Giulio Benetti <giulio.benetti@micronovasrl.com>
>>> +F:    package/sunxi-mali-driver-mainline/
>>> +
>>>   N:    Gregory Dymarek <gregd72002@gmail.com>
>>>   F:    package/ding-libs/
>>>   F:    package/gengetopt/
>>> diff --git a/package/Config.in b/package/Config.in
>>> index fe5ccc4..e619992 100644
>>> --- a/package/Config.in
>>> +++ b/package/Config.in
>>> @@ -497,6 +497,7 @@ endmenu
>>>       source "package/stm32flash/Config.in"
>>>       source "package/sunxi-cedarx/Config.in"
>>>       source "package/sunxi-mali/Config.in"
>>> +    source "package/sunxi-mali-driver-mainline/Config.in"
>>>       source "package/sysstat/Config.in"
>>>       source "package/targetcli-fb/Config.in"
>>>       source "package/ti-gfx/Config.in"
>>> diff --git a/package/sunxi-mali-driver-mainline/Config.in 
>>> b/package/sunxi-mali-driver-mainline/Config.in
>>> new file mode 100644
>>> index 0000000..1f9ef59
>>> --- /dev/null
>>> +++ b/package/sunxi-mali-driver-mainline/Config.in
>>> @@ -0,0 +1,38 @@
>>> +comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
>>> +    depends on !BR2_LINUX_KERNEL
>>> +
>>> +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
>>> +    bool "sunxi-mali-driver-mainline"
>>> +    depends on BR2_LINUX_KERNEL
>>> +    select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
>>> +    help
>>> +      This package builds and installs the Linux kernel driver for
>>> +      the Mali GPU on Allwinner platforms, compatible with recent
>>> +      Linux kernels (>= 4.4). Note that it should be installed
>>> +      together with the corresponding userspace OpenGL libraries,
>>> +      which are provided as binaries only at:
>>> +      https://github.com/free-electrons/mali-blobs
>>> +
>>> +      sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with 
>>> the
>>> +      following options enabled:
>>> +
>>> +      - CONFIG_CMA
>>> +      - CONFIG_DMA_CMA
>>> +      - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more
>>
>> Sorry for missing that out earlier, but that one is not true. You can
>> achieve the same result using the drm_fbdev_overalloc kernel paremeter.
> 
> Ok, I add it on Help.

y_morin on #buildroot irc told me that maybe this missing Help phrase 
can be added by the one who will commit the patch.
Is it ok, or do I have to submit a new patch?

Kind regards

> 
> Thanks
> 
>>
>> The rest looks good.
>>
>> Maxime
>>
> 
>
Giulio Benetti Jan. 13, 2018, 12:22 p.m. UTC | #4
Hello,

when could it be ok to update git commit SHA1 to the latest
and integrate parallel build and last Help description?

Regards
Peter Korsgaard Feb. 15, 2018, 9:05 p.m. UTC | #5
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:

 > Added kernel allwinner mali driver package.
 > Used combined with userspace Allwinner openGL libraries,
 > it gives possibility to use 3D openGL SoC acceleration.

 > Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
 > ---
 >  DEVELOPERS                                         |  3 ++
 >  package/Config.in                                  |  1 +
 >  package/sunxi-mali-driver-mainline/Config.in       | 38 ++++++++++++++++++++++
 >  .../sunxi-mali-driver-mainline.mk                  | 30 +++++++++++++++++

I've renamed this to sunxi-mali-mainline-driver to better match
sunxi-mali-mainline and so it sorts after that package.

> +++ b/package/sunxi-mali-driver-mainline/Config.in
 > @@ -0,0 +1,38 @@
 > +comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
 > +	depends on !BR2_LINUX_KERNEL
 > +
 > +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
 > +	bool "sunxi-mali-driver-mainline"
 > +	depends on BR2_LINUX_KERNEL
 > +	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra

This package doesn't make any sense without the binary user space
component, so I've changed it to also depend on
BR2_PACKAGE_SUNXI_MALI_MAINLINE. With that added, the package is only
visible if that package is enabled and the Linux kernel is getting
built, so it makes sense to enable this package by default, so I've
added 'default y'.


> +	help
 > +	  This package builds and installs the Linux kernel driver for
 > +	  the Mali GPU on Allwinner platforms, compatible with recent
 > +	  Linux kernels (>= 4.4). Note that it should be installed
 > +	  together with the corresponding userspace OpenGL libraries,
 > +	  which are provided as binaries only at:
 > +	  https://github.com/free-electrons/mali-blobs
 > +
 > +	  sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with the
 > +	  following options enabled:
 > +
 > +	  - CONFIG_CMA
 > +	  - CONFIG_DMA_CMA
 > +	  - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more

I've dropped this last line as suggested by Maxime.

For the CMA options it makes sense to automatically enable these kernel
options, so I've added the needed logic in linux.mk to do so.


 > +if BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
 > +
 > +choice
 > +	prompt "Version"
 > +	default BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
 > +	help
 > +	  Select the version of the kernel module.
 > +
 > +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
 > +	bool "r6p2"

The user space and kernel driver has to use the same version, so it
doesn't make sense to have an independent version selection here.

I've dropped this and instead changed the .mk file to use the
SUNXI_MALI_MAINLINE_REV variable from that package.

Committed to next with that fixed, thanks.
Giulio Benetti Feb. 15, 2018, 9:34 p.m. UTC | #6
Il 15/02/2018 22:05, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
>   > Added kernel allwinner mali driver package.
>   > Used combined with userspace Allwinner openGL libraries,
>   > it gives possibility to use 3D openGL SoC acceleration.
> 
>   > Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>   > ---
>   >  DEVELOPERS                                         |  3 ++
>   >  package/Config.in                                  |  1 +
>   >  package/sunxi-mali-driver-mainline/Config.in       | 38 ++++++++++++++++++++++
>   >  .../sunxi-mali-driver-mainline.mk                  | 30 +++++++++++++++++
> 
> I've renamed this to sunxi-mali-mainline-driver to better match
> sunxi-mali-mainline and so it sorts after that package.
> 
>> +++ b/package/sunxi-mali-driver-mainline/Config.in
>   > @@ -0,0 +1,38 @@
>   > +comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
>   > +	depends on !BR2_LINUX_KERNEL
>   > +
>   > +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
>   > +	bool "sunxi-mali-driver-mainline"
>   > +	depends on BR2_LINUX_KERNEL
>   > +	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
> 
> This package doesn't make any sense without the binary user space
> component, so I've changed it to also depend on
> BR2_PACKAGE_SUNXI_MALI_MAINLINE. With that added, the package is only
> visible if that package is enabled and the Linux kernel is getting
> built, so it makes sense to enable this package by default, so I've
> added 'default y'.
> 
> 
>> +	help
>   > +	  This package builds and installs the Linux kernel driver for
>   > +	  the Mali GPU on Allwinner platforms, compatible with recent
>   > +	  Linux kernels (>= 4.4). Note that it should be installed
>   > +	  together with the corresponding userspace OpenGL libraries,
>   > +	  which are provided as binaries only at:
>   > +	  https://github.com/free-electrons/mali-blobs
>   > +
>   > +	  sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with the
>   > +	  following options enabled:
>   > +
>   > +	  - CONFIG_CMA
>   > +	  - CONFIG_DMA_CMA
>   > +	  - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more
> 
> I've dropped this last line as suggested by Maxime.
> 
> For the CMA options it makes sense to automatically enable these kernel
> options, so I've added the needed logic in linux.mk to do so.

New thing learnt.

> 
> 
>   > +if BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
>   > +
>   > +choice
>   > +	prompt "Version"
>   > +	default BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
>   > +	help
>   > +	  Select the version of the kernel module.
>   > +
>   > +config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
>   > +	bool "r6p2"
> 
> The user space and kernel driver has to use the same version, so it
> doesn't make sense to have an independent version selection here.
> 
> I've dropped this and instead changed the .mk file to use the
> SUNXI_MALI_MAINLINE_REV variable from that package.

Right.

Thank you very much for helping me on this,
it was not so easy as first package to me.
Peter Korsgaard Feb. 15, 2018, 10:03 p.m. UTC | #7
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:

Hi,

 > Thank you very much for helping me on this,
 > it was not so easy as first package to me.

You are welcome, thank you for contributing!

As you perhaps noticed, I've also bumped the sunxi-mali-mainline-driver
version for 4.15 support:

https://git.busybox.net/buildroot/commit/?h=next&id=1d339809d61aeed2911291830581f643596a2e5c
Giulio Benetti Feb. 15, 2018, 10:06 p.m. UTC | #8
Hi,

Il 15/02/2018 23:03, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
> Hi,
> 
>   > Thank you very much for helping me on this,
>   > it was not so easy as first package to me.
> 
> You are welcome, thank you for contributing!
> 
> As you perhaps noticed, I've also bumped the sunxi-mali-mainline-driver
> version for 4.15 support:
> 
> https://git.busybox.net/buildroot/commit/?h=next&id=1d339809d61aeed2911291830581f643596a2e5c

Yes, I've seen, I'm almost trying to rebuild.
I've seen you use quilt before calling build.sh script.
But build.sh should call it by itself.
Now I check and eventually I send you a patch.

As soon as Maxime accepts my PR on sunxi-mali we can bump again for 
4.16-rc1 building.

Ah, one question, you figure as Author because you've reworked heavily 
the patch, right? (and it seems more than right to me)
Or was it a mistake?

>
Peter Korsgaard Feb. 15, 2018, 10:32 p.m. UTC | #9
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:

 > Hi,
 > Il 15/02/2018 23:03, Peter Korsgaard ha scritto:
 >>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
 >> 
 >> Hi,
 >> 
 >> > Thank you very much for helping me on this,
 >> > it was not so easy as first package to me.
 >> 
 >> You are welcome, thank you for contributing!
 >> 
 >> As you perhaps noticed, I've also bumped the sunxi-mali-mainline-driver
 >> version for 4.15 support:
 >> 
 >> https://git.busybox.net/buildroot/commit/?h=next&id=1d339809d61aeed2911291830581f643596a2e5c

 > Yes, I've seen, I'm almost trying to rebuild.
 > I've seen you use quilt before calling build.sh script.
 > But build.sh should call it by itself.

No, I'm NOT using quilt. quilt is not a required dependency for
Buildroot (and we don't have a host-quilt package), so I'm tweaking
build.sh to use our apply-patches.sh script like we use to apply our
patches instead of quilt.

 > Ah, one question, you figure as Author because you've reworked heavily
 > the patch, right? (and it seems more than right to me)
 > Or was it a mistake?

Ups, that was mistake. I wanted to keep you authorship for the 2
patches, but me for the version bump - But apparently git ends up
changing the authorship when you squash commits which I did to apply the
various fixups - Sorry about that!
Giulio Benetti Feb. 15, 2018, 10:35 p.m. UTC | #10
Hi,

Il 15/02/2018 23:32, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
>   > Hi,
>   > Il 15/02/2018 23:03, Peter Korsgaard ha scritto:
>   >>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
>   >>
>   >> Hi,
>   >>
>   >> > Thank you very much for helping me on this,
>   >> > it was not so easy as first package to me.
>   >>
>   >> You are welcome, thank you for contributing!
>   >>
>   >> As you perhaps noticed, I've also bumped the sunxi-mali-mainline-driver
>   >> version for 4.15 support:
>   >>
>   >> https://git.busybox.net/buildroot/commit/?h=next&id=1d339809d61aeed2911291830581f643596a2e5c
> 
>   > Yes, I've seen, I'm almost trying to rebuild.
>   > I've seen you use quilt before calling build.sh script.
>   > But build.sh should call it by itself.
> 
> No, I'm NOT using quilt. quilt is not a required dependency for
> Buildroot (and we don't have a host-quilt package), so I'm tweaking
> build.sh to use our apply-patches.sh script like we use to apply our
> patches instead of quilt.

Ah right, not host-quilt, now I've got the point.
Of course I had quilt installed on my host :)

> 
>   > Ah, one question, you figure as Author because you've reworked heavily
>   > the patch, right? (and it seems more than right to me)
>   > Or was it a mistake?
> 
> Ups, that was mistake. I wanted to keep you authorship for the 2
> patches, but me for the version bump - But apparently git ends up
> changing the authorship when you squash commits which I did to apply the
> various fixups - Sorry about that!

No problem! It was only to understand.
Thanks again
Giulio Benetti Feb. 16, 2018, 9:20 a.m. UTC | #11
Hi,

Il 15/02/2018 23:32, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
>   > Hi,
>   > Il 15/02/2018 23:03, Peter Korsgaard ha scritto:
>   >>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
>   >>
>   >> Hi,
>   >>
>   >> > Thank you very much for helping me on this,
>   >> > it was not so easy as first package to me.
>   >>
>   >> You are welcome, thank you for contributing!
>   >>
>   >> As you perhaps noticed, I've also bumped the sunxi-mali-mainline-driver
>   >> version for 4.15 support:
>   >>
>   >> https://git.busybox.net/buildroot/commit/?h=next&id=1d339809d61aeed2911291830581f643596a2e5c
> 
>   > Yes, I've seen, I'm almost trying to rebuild.
>   > I've seen you use quilt before calling build.sh script.
>   > But build.sh should call it by itself.
> 
> No, I'm NOT using quilt. quilt is not a required dependency for
> Buildroot (and we don't have a host-quilt package), so I'm tweaking
> build.sh to use our apply-patches.sh script like we use to apply our
> patches instead of quilt.

Would it make sense to add host-quilt package?

> 
>   > Ah, one question, you figure as Author because you've reworked heavily
>   > the patch, right? (and it seems more than right to me)
>   > Or was it a mistake?
> 
> Ups, that was mistake. I wanted to keep you authorship for the 2
> patches, but me for the version bump - But apparently git ends up
> changing the authorship when you squash commits which I did to apply the
> various fixups - Sorry about that!
>
Peter Korsgaard Feb. 16, 2018, 12:26 p.m. UTC | #12
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:

Hi,

 >> No, I'm NOT using quilt. quilt is not a required dependency for
 >> Buildroot (and we don't have a host-quilt package), so I'm tweaking
 >> build.sh to use our apply-patches.sh script like we use to apply our
 >> patches instead of quilt.

 > Would it make sense to add host-quilt package?

Well, we could - But as it is fairly simple to patch build.sh to use
apply-patches.sh and no other packages currently needs it I decided not
to do so yet.
Giulio Benetti Feb. 16, 2018, 12:34 p.m. UTC | #13
Hi,

Il 16/02/2018 13:26, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
> Hi,
> 
>   >> No, I'm NOT using quilt. quilt is not a required dependency for
>   >> Buildroot (and we don't have a host-quilt package), so I'm tweaking
>   >> build.sh to use our apply-patches.sh script like we use to apply our
>   >> patches instead of quilt.
> 
>   > Would it make sense to add host-quilt package?
> 
> Well, we could - But as it is fairly simple to patch build.sh to use
> apply-patches.sh and no other packages currently needs it I decided not
> to do so yet.

Ok, thanks.
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 7621f96..60a934e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -698,6 +698,9 @@  F:	package/ocrad/
 F:	package/tesseract-ocr/
 F:	package/webp/
 
+N:	Giulio Benetti <giulio.benetti@micronovasrl.com>
+F:	package/sunxi-mali-driver-mainline/
+
 N:	Gregory Dymarek <gregd72002@gmail.com>
 F:	package/ding-libs/
 F:	package/gengetopt/
diff --git a/package/Config.in b/package/Config.in
index fe5ccc4..e619992 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -497,6 +497,7 @@  endmenu
 	source "package/stm32flash/Config.in"
 	source "package/sunxi-cedarx/Config.in"
 	source "package/sunxi-mali/Config.in"
+	source "package/sunxi-mali-driver-mainline/Config.in"
 	source "package/sysstat/Config.in"
 	source "package/targetcli-fb/Config.in"
 	source "package/ti-gfx/Config.in"
diff --git a/package/sunxi-mali-driver-mainline/Config.in b/package/sunxi-mali-driver-mainline/Config.in
new file mode 100644
index 0000000..1f9ef59
--- /dev/null
+++ b/package/sunxi-mali-driver-mainline/Config.in
@@ -0,0 +1,38 @@ 
+comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
+	depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
+	bool "sunxi-mali-driver-mainline"
+	depends on BR2_LINUX_KERNEL
+	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
+	help
+	  This package builds and installs the Linux kernel driver for
+	  the Mali GPU on Allwinner platforms, compatible with recent
+	  Linux kernels (>= 4.4). Note that it should be installed
+	  together with the corresponding userspace OpenGL libraries,
+	  which are provided as binaries only at:
+	  https://github.com/free-electrons/mali-blobs
+
+	  sunxi-mali-driver-mainline requires a Linux kernel >= 4.4 with the
+	  following options enabled:
+
+	  - CONFIG_CMA
+	  - CONFIG_DMA_CMA
+	  - CONFIG_DRM_FBDEV_OVERALLOC >= 200 for double buffer or more
+
+	  https://github.com/mripard/sunxi-mali/blob/master/README.md
+
+if BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
+
+choice
+	prompt "Version"
+	default BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
+	help
+	  Select the version of the kernel module.
+
+config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2
+	bool "r6p2"
+
+endchoice
+
+endif
diff --git a/package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk b/package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
new file mode 100644
index 0000000..41d145d
--- /dev/null
+++ b/package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
@@ -0,0 +1,30 @@ 
+################################################################################
+#
+# sunxi-mali-driver-mainline
+#
+################################################################################
+
+SUNXI_MALI_DRIVER_MAINLINE_VERSION = 42c7c139c14103a83bb2ad7e7a1f0ed491f96500
+SUNXI_MALI_DRIVER_MAINLINE_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_DRIVER_MAINLINE_VERSION))
+SUNXI_MALI_DRIVER_MAINLINE_DEPENDENCIES = linux
+
+SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS = \
+	KDIR=$(LINUX_DIR) \
+	CROSS_COMPILE=$(TARGET_CROSS) \
+	INSTALL_MOD_PATH=$(TARGET_DIR)
+
+ifeq ($(BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE_R6P2),y)
+SUNXI_MALI_DRIVER_VER=r6p2
+endif
+
+define SUNXI_MALI_DRIVER_MAINLINE_BUILD_CMDS
+	cd $(@D) && $(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		$(SHELL) ./build.sh -r $(SUNXI_MALI_DRIVER_VER) -b
+endef
+
+define SUNXI_MALI_DRIVER_MAINLINE_INSTALL_TARGET_CMDS
+	cd $(@D) && $(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		$(SHELL) ./build.sh -r $(SUNXI_MALI_DRIVER_VER) -i
+endef
+
+$(eval $(generic-package))