Skip to contentSkip to conversation

add sunxi-mali mainline kernel

PATCH New Giulio Benetti 2 participants 3 messages Nov 9, 2017 Arm/Allwinner sunXi SoC support

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 add sunxi-mali mainline kernel

As it's not present in buildroot,
add support for sunxi-mali mainline kernel driver.

Get https://github.com/mripard/sunxi-mali repository, build with provided ./build.sh -b
install with provided ./build.sh -i

---
Changes v2 -> v3:
* Remove depends on headers version
* Add help in Config.in

 package/sunxi-mali-driver-mainline/Config.in       | 17 ++++++++++++++
 .../sunxi-mali-driver-mainline.mk                  | 26 ++++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 package/sunxi-mali-driver-mainline/Config.in
 create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
package/sunxi-mali-driver-mainline/Config.in new file +17 -0
new file mode 100644
index 0000000..43c7cb1
@@ -0,0 +1,17 @@
+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
+	  Install Sunxi Mali Kernel space driver into userspace,
+	  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
\ No newline at end of file
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +26 -0
new file mode 100644
index 0000000..b6125d4
@@ -0,0 +1,26 @@
+################################################################################
+#
+# sunxi-mali-driver-mainline
+#
+################################################################################
+
+SUNXI_MALI_DRIVER_MAINLINE_VERSION = 5b7b3c0b6e1736676c90928816d271debbb09d95
+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)
+
+define SUNXI_MALI_DRIVER_MAINLINE_BUILD_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -b
+endef
+
+define SUNXI_MALI_DRIVER_MAINLINE_INSTALL_TARGET_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -i
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.7.4
#1 lore raw

PATCH v3 1/1 add sunxi-mali mainline kernel

Hello,

Thanks for working on this, it's great to see this OpenGL support for Allwinner platforms improved in Buildroot.

However, you are respinning your patches too fast. Please leave a little bit of time between each iteration, to allow other people to comment.

The title of your commit should be:

sunxi-mali-driver-mainline: new package

Quoted 2 lines · Giulio Benetti

As it's not present in buildroot,
add support for sunxi-mali mainline kernel driver.

This paragrah is not very useful.

Quoted 3 lines

Get https://github.com/mripard/sunxi-mali repository, build with provided ./build.sh -b
install with provided ./build.sh -i

This either.

Quoted 12 lines
 package/sunxi-mali-driver-mainline/Config.in       | 17 ++++++++++++++
 .../sunxi-mali-driver-mainline.mk                  | 26 ++++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 package/sunxi-mali-driver-mainline/Config.in
 create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk
package/sunxi-mali-driver-mainline/Config.in new file +0 -0
new file mode 100644
index 0000000..43c7cb1

package/sunxi-mali-driver-mainline/Config.in line 9

Quoted 9 lines
package/sunxi-mali-driver-mainline/Config.in new file +9 -0
@@ -0,0 +1,17 @@
+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
+	  Install Sunxi Mali Kernel space driver into userspace,

Installing a kernel driver to userspace? That really doesn't make much sense.

What about:

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 binary blobs to provide complete OpenGL functionality.

package/sunxi-mali-driver-mainline/Config.in line 17

Quoted 9 lines
package/sunxi-mali-driver-mainline/Config.in new file +8 -0
+	  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
\ No newline at end of file

Please add a newline after the URL.

Quoted 14 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +8 -0
new file mode 100644
index 0000000..b6125d4
@@ -0,0 +1,26 @@
+################################################################################
+#
+# sunxi-mali-driver-mainline
+#
+################################################################################
+
+SUNXI_MALI_DRIVER_MAINLINE_VERSION = 5b7b3c0b6e1736676c90928816d271debbb09d95
+SUNXI_MALI_DRIVER_MAINLINE_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_DRIVER_MAINLINE_VERSION))

package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk line 18

Quoted 10 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +10 -0
+SUNXI_MALI_DRIVER_MAINLINE_DEPENDENCIES = linux
+
+SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS = \
+	KDIR=$(LINUX_DIR) \
+	CROSS_COMPILE=$(TARGET_CROSS) \
+	INSTALL_MOD_PATH=$(TARGET_DIR)
+
+define SUNXI_MALI_DRIVER_MAINLINE_BUILD_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -b

Remove tab after &&, and use $(SHELL) instead of bash.

package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk line 24

Quoted 6 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +6 -0
+endef
+
+define SUNXI_MALI_DRIVER_MAINLINE_INSTALL_TARGET_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -i
+endef

Ditto.

Also, please add an entry to the DEVELOPERS file for this package.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH v3 1/1 add sunxi-mali mainline kernel

Hi Thomas,

Il 09/11/2017 20:26, Thomas Petazzoni ha scritto:

Quoted 5 lines

Hello,

Thanks for working on this, it's great to see this OpenGL support for Allwinner platforms improved in Buildroot.

Quoted 7 lines

However, you are respinning your patches too fast. Please leave a little bit of time between each iteration, to allow other people to comment.

The title of your commit should be:

sunxi-mali-driver-mainline: new package

Ok, I modify

Quoted 6 lines · Giulio Benetti
Quoted 2 lines

As it's not present in buildroot,
add support for sunxi-mali mainline kernel driver.

This paragrah is not very useful.

Ok, I retry to write as suggested by Arnout on qt5base patch.

Quoted 6 lines
Quoted 4 lines

Get https://github.com/mripard/sunxi-mali repository, build with provided ./build.sh -b
install with provided ./build.sh -i

This either.

Ok, ditto.

Quoted 17 lines
Quoted 17 lines
  package/sunxi-mali-driver-mainline/Config.in       | 17 ++++++++++++++
  .../sunxi-mali-driver-mainline.mk                  | 26 ++++++++++++++++++++++
  2 files changed, 43 insertions(+)

create mode 100644 package/sunxi-mali-driver-mainline/Config.in create mode 100644 package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk

package/sunxi-mali-driver-mainline/Config.in new file +4 -0
new file mode 100644
index 0000000..43c7cb1
@@ -0,0 +1,17 @@
+comment "sunxi-mali-driver-mainline needs a Linux kernel to be built"
+	depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_SUNXI_MALI_DRIVER_MAINLINE
Quoted 8 lines

package/sunxi-mali-driver-mainline/Config.in line 9

Quoted 5 lines
package/sunxi-mali-driver-mainline/Config.in new file +5 -0
+	bool "sunxi-mali-driver-mainline"
+	depends on BR2_LINUX_KERNEL
+	select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
+	help
+	  Install Sunxi Mali Kernel space driver into userspace,

Installing a kernel driver to userspace? That really doesn't make much sense.

Yes, you're right

Quoted 8 lines

What about:

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 binary blobs to provide complete OpenGL functionality.

This fits perfectly

Quoted 12 lines

package/sunxi-mali-driver-mainline/Config.in line 17

Quoted 10 lines
package/sunxi-mali-driver-mainline/Config.in new file +8 -0
+	  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
\ No newline at end of file

Please add a newline after the URL.

Ok

Quoted 19 lines
Quoted 19 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +12 -0
new file mode 100644
index 0000000..b6125d4
@@ -0,0 +1,26 @@
+################################################################################
+#
+# sunxi-mali-driver-mainline
+#
+################################################################################
+
+SUNXI_MALI_DRIVER_MAINLINE_VERSION = 5b7b3c0b6e1736676c90928816d271debbb09d95
+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) \
Quoted 8 lines

package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk line 18

Quoted 6 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +6 -0
+	CROSS_COMPILE=$(TARGET_CROSS) \
+	INSTALL_MOD_PATH=$(TARGET_DIR)
+
+define SUNXI_MALI_DRIVER_MAINLINE_BUILD_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -b

Remove tab after &&, and use $(SHELL) instead of bash.

Ok

Quoted 9 lines

package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk line 24

Quoted 7 lines
package/sunxi-mali-driver-mainline/sunxi-mali-driver-mainline.mk new file +6 -0
+endef
+
+define SUNXI_MALI_DRIVER_MAINLINE_INSTALL_TARGET_CMDS
+	cd $(@D) &&	$(SUNXI_MALI_DRIVER_MAINLINE_MAKE_OPTS) \
+		bash ./build.sh -r r6p2 -i
+endef

Ditto.

Ok

Quoted 2 lines

Also, please add an entry to the DEVELOPERS file for this package.

Ok! Honored to do it!

Quoted 5 lines

Thanks!

Thomas

Thank you very much to be always so kind and patient teaching me. Hope all this can help also everyone else to enter this world!

Signature · 11 lines
Giulio Benetti
R&D Manager &
Advanced Research

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale ? 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642