Hi,
Am 01.02.2020 um 21:25 schrieb Nick Elsmore nicholaselsmore@gmail.com:
Hey all,
I'm working to integrate proper Pyra support into the Letux kernel. I've been doing work in a fork, but am trying to become synchronized with Letux. This thread is dedicated to stabilizing base Pyra support within Letux, starting with:
- standalone Pyra defconfig
yes, that is good to have and manage a specific Pyra defconfig.
The letux_defconfig builds a lot of modules which are not needed for the Pyra. And by configuring some stuff into the kernel instead of loading modules, boot time can drastically be reduced.
- AUFS support
This is already part of letux-4.19.
http://git.goldelico.com/?p=letux-kernel.git;a=tree;f=fs/aufs
So what is missing? Maybe it is not configured. Or have there been important AUFS upstream patches?
- improved bq2429x support
- improved audio codec support
- stabilizing SGX/OpenGL and TILER/rotation support
The most recent kernel with best support for SGX (the problem child) support on the Pyra is 4.19.89, so I am targeting this kernel version to start.
SGX is now working equally well on letux-4.19, letux-5.4 and letux-5.5 kernels. So why do you think it is a problem child?
Only the drm_fbdev_helper is broken on 5.4/5.5 and makes framebuffer rotation fail, but that is not an SGX problem.
I will be providing patches incrementally as they get approved to ease integration. The first is simply a specific pyra defconfig. <0001-configs-Add-letux_pyra_defconfig.patch>
I have recently integrated the "pyra_defconfig" (not letux_pyra_defconfig) provided by aTc into the 5.4 and 5.5 kernels:
http://git.goldelico.com/?p=gta04-kernel.git;a=commit;h=5c4359b0ae24d6ccba24... http://git.goldelico.com/?p=letux-kernel.git;a=commit;h=72d2fa99eb7db97caf7f...
There was a backport for letux-4.19 waiting in the queue, but it was not yet published. I have triggered the kernel-upstream-update process and it has already been pushed:
http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=arch/arm/configs/pyra_...
So please can you check what diffs are needed against the latest letux-4.19 kernel (master or letux-4.19.101 branch) and rebase if necessary?
BR and thanks, Nikolaus
On Sun, 2 Feb 2020 13:07:40 +0100 "H. Nikolaus Schaller" hns@goldelico.com wrote:
Hi,
Am 01.02.2020 um 21:25 schrieb Nick Elsmore nicholaselsmore@gmail.com:
Hey all,
I'm working to integrate proper Pyra support into the Letux kernel. I've been doing work in a fork, but am trying to become synchronized with Letux. This thread is dedicated to stabilizing base Pyra support within Letux, starting with:
- standalone Pyra defconfig
yes, that is good to have and manage a specific Pyra defconfig.
The letux_defconfig builds a lot of modules which are not needed for the Pyra. And by configuring some stuff into the kernel instead of loading modules, boot time can drastically be reduced.
hmm, that pyra_defconfig contains: CONFIG_ARCH_BCM CONFIG_ARCH_MXC
so it is something generic. I am still wondering whether is would be more maintainable to use make savedefconfig output and manually edit things and sort like
# Pyra hw
CONFIG_ARCH_OMAP5=y
# GTA04 hw
CONFIG_ARCH_OMAP3=y CONFIG_GNSS_SIRF=m
# Kobolino
CONFIG_ARCH_IMX6SLL=y ...
# special requirements of distro X ...
# common stuff
...
I guess things can be duplicated
Regards, Andreas
Hi Andreas,
Am 03.02.2020 um 07:13 schrieb Andreas Kemnade andreas@kemnade.info:
On Sun, 2 Feb 2020 13:07:40 +0100 "H. Nikolaus Schaller" hns@goldelico.com wrote:
Hi,
Am 01.02.2020 um 21:25 schrieb Nick Elsmore nicholaselsmore@gmail.com:
Hey all,
I'm working to integrate proper Pyra support into the Letux kernel. I've been doing work in a fork, but am trying to become synchronized with Letux. This thread is dedicated to stabilizing base Pyra support within Letux, starting with:
- standalone Pyra defconfig
yes, that is good to have and manage a specific Pyra defconfig.
The letux_defconfig builds a lot of modules which are not needed for the Pyra. And by configuring some stuff into the kernel instead of loading modules, boot time can drastically be reduced.
hmm, that pyra_defconfig contains: CONFIG_ARCH_BCM CONFIG_ARCH_MXC
so it is something generic.
I think this is by accident and not intended.
Yes, it certainly needs review and updates to become "Pyra only".
Basically we have conflicting goals: - letux_defconfig is a Distro config (of same processor architecture) which should cover many devices as good as possible but is suboptimal - pyra_defconfig is a Device config which should be optimal for one specific device and not cover any other - omap2plus_defconfig is a SoC config which should cover all omap based devices as good as possible but is suboptimal
I am still wondering whether is would be more maintainable to use make savedefconfig output and manually edit things and sort like
# Pyra hw
CONFIG_ARCH_OMAP5=y
# GTA04 hw
CONFIG_ARCH_OMAP3=y CONFIG_GNSS_SIRF=m
# Kobolino
CONFIG_ARCH_IMX6SLL=y ...
# special requirements of distro X ...
# common stuff
...
I guess things can be duplicated
That is how omap2plus_defconfig is done (more or less).
Well, each approach has its pros and cons.
The savedefconfig has IMHO a problem if CONFIG options are removed/renamed upstream. We never will notice.
Running make savedefconfig after each merge of upstream would remove them as well, but then we loose the manual editing.
So that is more difficult to automate the update process.
BR, Nikolaus
On 2/3/20 8:58 AM, H. Nikolaus Schaller wrote:
hmm, that pyra_defconfig contains: CONFIG_ARCH_BCM CONFIG_ARCH_MXC
so it is something generic.
I think this is by accident and not intended.
Yes, it certainly needs review and updates to become "Pyra only".
Basically we have conflicting goals:
- letux_defconfig is a Distro config (of same processor architecture) which should cover many devices as good as possible but is suboptimal
- pyra_defconfig is a Device config which should be optimal for one specific device and not cover any other
- omap2plus_defconfig is a SoC config which should cover all omap based devices as good as possible but is suboptimal
That pyra_defconfig (if that's the one that came from https://packages.pyra-handheld.com/images/extra/linux-4.19-pyra-debian.confi...) isn't meant to be THE pyra defconfig, it's an experimental merge of the letux config and the config debian uses, to get everything enabled that debian expects to be enabled. The letux config is very stripped down, to the point where things like net filtering is also disabled, and the firewall packages I installed in the os didn't work. Since it's based on the generic arm kernel config, it includes all the arm boards debian supports. I think i did filter out a few, but there are probably some left, or ones that get enabled again after a certain driver is enabled. I simply compared the two configs, and enabled everything that was disabled in letux.