[Letux-kernel] [Lenny400] More patches for linux-stable

H. Nikolaus Schaller hns at goldelico.com
Thu Sep 7 07:48:42 CEST 2017

Hi Paul,
we now have a state where we can put the letux-kernel mailing list in CC.
Maybe it helps the others doing ARM work or they can comment for MIPS as well.

> Am 05.09.2017 um 17:58 schrieb Paul Boddie <paul at boddie.org.uk>:
> On Sunday 3. September 2017 18.20.52 H. Nikolaus Schaller wrote:
>> An alternative could be that you manage and git push --force to the two
>> relevant branches on the gta04-kernel.git.
> After a lot of messing around with git, trying to figure out why it doesn't 
> like repositories, getting a clone from David with fewer issues, and mostly 
> giving up on troubleshooting it and just getting on with applying patches, 
> I've managed to produce some patches which you might be able to work with:
> 0001-JZ4730-updates.patch should apply to 
> a4e95753d1e98914d176932d7370ceda7aedffb0 in 
> remotes/origin/work/pboddie/mips/jz4730
> 0001-Added-more-JZ4730-device-definitions.patch should apply to 
> 19b9f98f09b72de51f2c6efa2c7612802bb66406 in 
> remotes/origin/work/hns/mipsbook400/dt
> The latter is the result of manually taking my changes and adding them to the 
> mipsbook_400.dts file, since the minipc.dts file wasn't around in the 
> repository, so there was no continuity.

Well, here I had applied a git tree-filter to do a fresh start with mipsbook_400.dts :)
But if we continue from here on, it should not appear again.

> I also couldn't find the board-
> minipc.c file in either branch, and so those changes are not provided, but I 
> imagine that the aim is to eliminate this file, anyway.

Maybe I forgot to include it? Usually a DTB should completely describe a board.
Or stuff from board-minipc.c should go into proper drivers.

I have looked into your first big patch and it indeed contains only information
that should be replaced by DT, so we do not need it in full-DT mode.

Maybe we should review if we did not forget anything. For example the MINIPC_GPIO_LOWBAT

> Although I tried to make sense of the pinctrl stuff, it isn't clear to me how 
> the "function" maps to the actual alternate/alternative function setting on 
> the pins.

I have looked into it a little and it differs how OMAP/ARM is doing pinmux.
Something for more detailed study...

> Indeed, the pinctrl-ingenic.c file defines function names in a 
> static-qualified array which is not referenced in that file, so I suspect that 
> the mapping might not work yet. (It doesn't help that "function" is used in 
> several different ways in the documentation, so examples of how these things 
> are done are very difficult to find.)
> I hope these patches apply. There may be divergence in the first branch 
> because the patch isn't applied to HEAD, mostly because I was too lazy to deal 
> with the conflict that the HEAD introduces when applying my changes.

This time it applied almost fine on first attempt. I just had to insert it before
my i2c + i2s placeholder patch (so that the mipsbook_400.dts can reference &i2c)
and fix a minor merge conflict.

So this seems to be the final area to work on...

> Paul
> P.S. I did find that the following helped when attempting to troubleshoot git:
> git config pack.pageSizeLimit 100m
> It isn't clear whether 100m, 50m (which I also tried) or any other number is 
> "better", but it did then allow the troubleshooting practice of running "git 
> unpack-objects" without it complaining about "volatile objects" or some such 
> impenetrable nonsense that end-users are not likely to be able to handle. 
> After running SMART and RAM tests which succeeded, I have the suspicion that 
> git might be running in too little memory, given that I "only" have 1GB to 
> play with.

Well, I did try to clone on the Letux Cortex 8 (512 MB RAM, 64 GB µSD):

First attempt:

root at letux:~# git clone git://git.goldelico.com/gta04-kernel.git
Cloning into 'gta04-kernel'...
remote: Zähle Objekte: 6753575, Fertig.
remote: Komprimiere Objekte: 100% (978066/978066), Fertig.
error: index-pack died of signal 9753575), 1.09 GiB | 268.00 KiB/s      
fatal: index-pack failed
root at letux:~# 

After enabling 4GB Swap Space:

root at letux:~# git clone git://git.goldelico.com/gta04-kernel.git
Cloning into 'gta04-kernel'...
remote: Zähle Objekte: 6753575, Fertig.
remote: Komprimiere Objekte: 100% (978066/978066), Fertig.
Receiving objects: 100% (6753575/6753575), 1.41 GiB | 679.00 KiB/s, done.
remote: Total 6753575 (delta 5729785), reused 6750590 (delta 5727119)
Resolving deltas: 100% (5729785/5729785), done.
Checking connectivity... done.
Checking out files: 100% (60075/60075), done.
root at letux:~# 

It took very long time (the full day...) for the "Resolving deltas" step.

So the issue is that the repository is big and needs enough RAM/Swap
on the client side. Nothing that can be solved on the server side
(maybe except by pruning some history).

Regarding real tests the Picoblade connectors for UART should arrive
tomorrow and I just have to find one more of my units (I had a sample
with red plastics case). Then I can check which ones are still working,
which need repair or a RS232 socket.


More information about the Letux-kernel mailing list