2.6.39 for the Freerunner

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

2.6.39 for the Freerunner

Lars-Peter Clausen
Hi

I've just pushed the 2.6.39 branches for the gta02 to the openmoko git server.
http://git.openmoko.org/?p=kernel.git;a=summary

So, whats new in this release?

1) Upstream merges

The bq27x00 and wm8753 branches have been merged upstream.
Additional above half of the patches from the gta02-machine branch have been
merged, adding button and touchscreen support as well as some minor cleanups.

Unfortunately merging patches upstream has come to a halt for now, since ARM
has stopped accepting patches which add new platform code.[1]
To get things in motion again, we would have to add device-tree support for the
s3c24xx platform and to our device drivers.

[1] http://lwn.net/Articles/437162/

2) Improved MMC performance

Per Forlin has posted a patch series to the linux mmc mailinglist[2], which
allows to have two MMC read or write requests pending at the same time.
Previously it was only possible to have one request pending at a time.
Having two requests pending at the same time allows us to improve upon the MMC
read/write performance on the Freerunner.

I've added these patches to the Glamo branch and adjusted the glamo driver to
make use of this new feature.

Some basic background on how it works:
The MMC card on the Freerunner is controlled by the Glamo chip, which has its
own RAM.
So when data is read from the MMC card, it is first written to the Glamo RAM
and then, when the request is done, copied by the CPU to the main RAM.
So while the CPU copies data from the Glamo, the Glamo MMC core is idle and
while the Glamo reads data from the MMC card the CPU is idle.

But if there are two requests active at the same time, one request can read
from the MMC card to the Glamo RAM and the other can copy from the Glamo RAM to
the main RAM. Thus improving the overall throughput.

Previously reading data from the MMC look like this:

[MMC->Glamo #1] [Glamo->RAM #1]   [MMC->Glamo #2] [Glamo->RAM #2] ...

With the new patchset it looks like this:

[MMC->Glamo #1] [MMC->Glamo #2] [MMC->Glamo #3]
                [Glamo->RAM #1] [Glamo->RAM #2] [Glamo->RAM #3]


I've done some very basic benchmarking, dd'ing data from and to the raw MMC
block device:

Raw-Read performance

       Old         New
 8MHz: 2.2 MB/s    3.5 MB/s   +59%
16Mhz: 3.1 MB/s    4.6 MB/s   +48%
25Mhz: 3.7 MB/s    4.5 MB/s   +21%

Raw-Write performance

        Old         New
 8MHz: 2.6 MB/s    3.4 MB/s   +30%
16Mhz: 3.8 MB/s    5.0 MB/s   +31%
25Mhz: 4.5 MB/s    6.1 MB/s   +35%

[2] https://lkml.org/lkml/2011/5/7/139

- Lars

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Vasily Khoruzhick
On Friday 20 May 2011 07:50:27 Lars-Peter Clausen wrote:

> Hi
>
> I've just pushed the 2.6.39 branches for the gta02 to the openmoko git
> server. http://git.openmoko.org/?p=kernel.git;a=summary
>
> So, whats new in this release?
>
> 1) Upstream merges
>
> The bq27x00 and wm8753 branches have been merged upstream.
> Additional above half of the patches from the gta02-machine branch have
> been merged, adding button and touchscreen support as well as some minor
> cleanups.
>
> Unfortunately merging patches upstream has come to a halt for now, since
> ARM has stopped accepting patches which add new platform code.[1]
> To get things in motion again, we would have to add device-tree support for
> the s3c24xx platform and to our device drivers.

Does anyone work on device tree for s3c24xx?
And AFAIK u-boot for s3c24xx is a bit old, so I'm not sure if it supports
device tree. Btw, I can help in both directions - kernel and u-boot (I have
plans to implement and merge proper s3c24xx support into mainline u-boot)

Regards
Vasily

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Mark Brown-3
In reply to this post by Lars-Peter Clausen
On Thu, May 19, 2011 at 09:50:27PM -0700, Lars-Peter Clausen wrote:

> To get things in motion again, we would have to add device-tree support for the
> s3c24xx platform and to our device drivers.

That's not the case, the device tree support is mostly unrelated here.
You'd want to help out with the consolodation work and use device tree
as it becomes available but it's not a mandatory requirement for
anything except completely new subarchitectures right now.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Radek Polak
In reply to this post by Lars-Peter Clausen
Hi,
is there anyone who can boot this kernel? For me it hangs somewhere after
mounting rootfs, but there is no error message, everything looks quite normal.
I tried both SD card and UBIFS in NAND.

Maybe i have something wrong in my config (regenerated working config for
2.6.37). Is there known to be working config for this kernel?

Thanks

Radek

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Radek Polak
In reply to this post by Lars-Peter Clausen
Hi,
is there anyone who can boot this kernel? For me it hangs somewhere after
mounting rootfs, but there is no error message, everything looks quite normal.
I tried both SD card and UBIFS in NAND.

Maybe i have something wrong in my config (regenerated working config for
2.6.37). Is there known to be working config for this kernel?

Thanks

Radek

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Timo Jyrinki
2011/5/21 radek polak <[hidden email]>:
> Hi,
> is there anyone who can boot this kernel? For me it hangs somewhere after
> mounting rootfs, but there is no error message, everything looks quite normal.
> I tried both SD card and UBIFS in NAND.

I just quickly cross-compiled it, and it only gave me WSOD on boot
(didn't hook serial console or anything) so I reverted to my previous
kernel.

Of course, I probably have a config that is quite close to yours.

-Timo

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Lars-Peter Clausen
In reply to this post by Mark Brown-3
On 05/21/2011 04:00 AM, Mark Brown wrote:
> On Thu, May 19, 2011 at 09:50:27PM -0700, Lars-Peter Clausen wrote:
>
>> To get things in motion again, we would have to add device-tree support for the
>> s3c24xx platform and to our device drivers.
>
> That's not the case, the device tree support is mostly unrelated here.
> You'd want to help out with the consolodation work and use device tree
> as it becomes available but it's not a mandatory requirement for
> anything except completely new subarchitectures right now.

Not quite. I had for example a 5 liner rejected by a maintainer saying he can't
accept any code which adds new platform code to ARM.
And since the plan was to switch device tree anyway at sometime, since it
should allow to implement some of the hacks which are currently in the om tree
in a more nicer way, now should be a good time to switch.

- Lars

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Lars-Peter Clausen
In reply to this post by Timo Jyrinki
On 05/24/2011 07:37 AM, Timo Jyrinki wrote:

> 2011/5/21 radek polak <[hidden email]>:
>> Hi,
>> is there anyone who can boot this kernel? For me it hangs somewhere after
>> mounting rootfs, but there is no error message, everything looks quite normal.
>> I tried both SD card and UBIFS in NAND.
>
> I just quickly cross-compiled it, and it only gave me WSOD on boot
> (didn't hook serial console or anything) so I reverted to my previous
> kernel.
>
> Of course, I probably have a config that is quite close to yours.
>
> -Timo
>

Hi

Do you use 2-4-2 timings? If yes, could you please try with the old timings?
I think there is a regression somewhere, making the framebuffer not work on 2.6.39.

- Lars

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Lars-Peter Clausen
In reply to this post by Radek Polak
Hi

On 05/21/2011 07:33 AM, radek polak wrote:
> Hi,
> is there anyone who can boot this kernel? For me it hangs somewhere after
> mounting rootfs, but there is no error message, everything looks quite normal.
> I tried both SD card and UBIFS in NAND.

Hm, could be the battery, I've seen lockups with it before, but not recently.
Could you try without the BQ27X00 driver?

>
> Maybe i have something wrong in my config (regenerated working config for
> 2.6.37). Is there known to be working config for this kernel?

I've uploaded my config to http://metafoo.de/gta02-config-2.6.39

- Lars

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Martin Jansa
On Tue, May 24, 2011 at 07:32:27PM -0700, Lars-Peter Clausen wrote:

> Hi
>
> On 05/21/2011 07:33 AM, radek polak wrote:
> > Hi,
> > is there anyone who can boot this kernel? For me it hangs somewhere after
> > mounting rootfs, but there is no error message, everything looks quite normal.
> > I tried both SD card and UBIFS in NAND.
>
> Hm, could be the battery, I've seen lockups with it before, but not recently.
> Could you try without the BQ27X00 driver?
Disabling BQ27X00 wasn't enough for me, still kernel panic...

> > Maybe i have something wrong in my config (regenerated working config for
> > 2.6.37). Is there known to be working config for this kernel?
>
> I've uploaded my config to http://metafoo.de/gta02-config-2.6.39

But this works for me :). Found interesting diffs which I probably
overlooked because options were renamed since 2.6.37 and oldconfig
didn't catch them.

I'll try to bisect defconfig diff to find which option caused this.

Thanks a lot!
--
Martin 'JaMa' Jansa     jabber: [hidden email]

attachment0 (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Martin Jansa
On Wed, May 25, 2011 at 06:50:10AM +0200, Martin Jansa wrote:

> On Tue, May 24, 2011 at 07:32:27PM -0700, Lars-Peter Clausen wrote:
> > Hi
> >
> > On 05/21/2011 07:33 AM, radek polak wrote:
> > > Hi,
> > > is there anyone who can boot this kernel? For me it hangs somewhere after
> > > mounting rootfs, but there is no error message, everything looks quite normal.
> > > I tried both SD card and UBIFS in NAND.
> >
> > Hm, could be the battery, I've seen lockups with it before, but not recently.
> > Could you try without the BQ27X00 driver?
>
> Disabling BQ27X00 wasn't enough for me, still kernel panic...
>
> > > Maybe i have something wrong in my config (regenerated working config for
> > > 2.6.37). Is there known to be working config for this kernel?
> >
> > I've uploaded my config to http://metafoo.de/gta02-config-2.6.39
>
> But this works for me :). Found interesting diffs which I probably
I spoke too soon. It works for me when booting from NAND, booting from
uSD fails with unknown partition table. Same partition table which worked
fine with 2.6.37.

[ 3.03000] glamo-mci glamo-mci.0: powered (vdd = 21) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.05500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.06500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.08000] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.19500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.20500] mci1: host dos not support reading read-only switch, assuming write-enable
[ 3.21500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 399kHz div=0 (req:400kHz), Bus width=0
[ 3.22500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 16373kHz div=0 (req:17000kHz), Bus width=0
[ 3.23500] glamo-mci glamo-mci.0: powered (vdd = 15) clk: 16373kHz div=0 (req:17000kHz), Bus width=2
[ 3.24000] mmc1: new high speed SDHC card at address aaaa
[ 3.24500] mmcblk0: mmc1:aaaa SU08G 7.60 GiB
[ 3.25000] mmcblk0: detected capacity change from 0 to 8169931328
[ 3.26000]  mmcblk0: unknown partition table
[ 3.36000] VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)
[ 3.36500] Please append a correct "root=" boot option; here are the available partitions:
[ 3.37000] 1f00                  2048 mtdblock0  (driver?)
[ 3.37500] 1f01                   256 mtdblock1  (driver?)
[ 3.38000] 1f02                   256 mtdblock2  (driver?)
[ 3.38500] 1f03                  8192 mtdblock3  (driver?)
[ 3.39000] 1f04                   640 mtdblock4  (driver?)
[ 3.39500] 1f05                   255 mtdblock5  (driver?)
[ 3.40000] 1f06                252544 mtdblock6  (driver?)
[ 3.40500] b300               7977472 mmcblk0  driver: mmcblk
[ 3.41000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

> overlooked because options were renamed since 2.6.37 and oldconfig
> didn't catch them.
>
> I'll try to bisect defconfig diff to find which option caused this.

Whole defconfig-diff attached, but I still plan to bisect it..

--
Martin 'JaMa' Jansa     jabber: [hidden email]

defconfig-diff (14K) Download Attachment
attachment1 (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Mark Brown-3
In reply to this post by Lars-Peter Clausen
On Tue, May 24, 2011 at 07:23:27PM -0700, Lars-Peter Clausen wrote:

> Not quite. I had for example a 5 liner rejected by a maintainer saying he can't
> accept any code which adds new platform code to ARM.

That *should* have been for 2.6.40 only, and until device tree is
actually usable there's a pretty strong case for challenging such
pushback.

> And since the plan was to switch device tree anyway at sometime, since it
> should allow to implement some of the hacks which are currently in the om tree
> in a more nicer way, now should be a good time to switch.

Right, but the core infrastructure for device tree is only just going in
now and there's still quite a bit of work to do to get it to the point
where it's usable on systems.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Martin Jansa
In reply to this post by Martin Jansa
On Wed, May 25, 2011 at 08:27:22AM +0200, Martin Jansa wrote:

> On Wed, May 25, 2011 at 06:50:10AM +0200, Martin Jansa wrote:
> > On Tue, May 24, 2011 at 07:32:27PM -0700, Lars-Peter Clausen wrote:
> > > Hi
> > >
> > > On 05/21/2011 07:33 AM, radek polak wrote:
> > > > Hi,
> > > > is there anyone who can boot this kernel? For me it hangs somewhere after
> > > > mounting rootfs, but there is no error message, everything looks quite normal.
> > > > I tried both SD card and UBIFS in NAND.
> > >
> > > Hm, could be the battery, I've seen lockups with it before, but not recently.
> > > Could you try without the BQ27X00 driver?
> >
> > Disabling BQ27X00 wasn't enough for me, still kernel panic...
> >
> > > > Maybe i have something wrong in my config (regenerated working config for
> > > > 2.6.37). Is there known to be working config for this kernel?
> > >
> > > I've uploaded my config to http://metafoo.de/gta02-config-2.6.39
> >
> > But this works for me :). Found interesting diffs which I probably
>
> I spoke too soon. It works for me when booting from NAND, booting from
> uSD fails with unknown partition table. Same partition table which worked
> fine with 2.6.37.
uSD works fine after reverting Per Forlin's MMC patches and glamo-mci
modifications to use them.

https://gitorious.org/shr/linux/commits/shr-2.6.39-nodrm

Regards,

--
Martin 'JaMa' Jansa     jabber: [hidden email]

attachment0 (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Rask Ingemann Lambertsen-2
In reply to this post by Lars-Peter Clausen
On Thu, May 19, 2011 at 09:50:27PM -0700, Lars-Peter Clausen wrote:

> [...]
> I've added these patches to the Glamo branch and adjusted the glamo driver to
> make use of this new feature.

   Regrettably it appears to pass corrupted data, so that the superblocks
are not recognised. I can work around the problem by disabling the
double-buffering feature by commenting out the .post_req and .pre_req fields
of glamo_mci_ops in drivers/mmc/host/glamo-mci.c.

--
Rask Ingemann Lambertsen
Danish law requires addresses in e-mail to be logged and stored for a year

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Timo Juhani Lindfors
In reply to this post by Lars-Peter Clausen
Hi Lars,

Lars-Peter Clausen <[hidden email]> writes:
> Not quite. I had for example a 5 liner rejected by a maintainer saying he can't
> accept any code which adds new platform code to ARM.
> And since the plan was to switch device tree anyway at sometime, since it
> should allow to implement some of the hacks which are currently in the om tree
> in a more nicer way, now should be a good time to switch.

I realize this is an old email but do you remember which patch you were
trying to upstream at that time? I'd like to document this in

http://wiki.openmoko.org/wiki/Kernel/Upstreaming

so that people can see if some patch has already been rejected and why.

-Timo

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Lars-Peter Clausen
On 11/19/2011 01:32 AM, Timo Juhani Lindfors wrote:

> Hi Lars,
>
> Lars-Peter Clausen <[hidden email]> writes:
>> Not quite. I had for example a 5 liner rejected by a maintainer saying he can't
>> accept any code which adds new platform code to ARM.
>> And since the plan was to switch device tree anyway at sometime, since it
>> should allow to implement some of the hacks which are currently in the om tree
>> in a more nicer way, now should be a good time to switch.
>
> I realize this is an old email but do you remember which patch you were
> trying to upstream at that time? I'd like to document this in
>
> http://wiki.openmoko.org/wiki/Kernel/Upstreaming
>
> so that people can see if some patch has already been rejected and why.

Hi,

It was the patch to disable NAND ECC at runtime.

- Lars

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Timo Juhani Lindfors
Lars-Peter Clausen <[hidden email]> writes:
> It was the patch to disable NAND ECC at runtime.

Ok. Does the quote in

http://wiki.openmoko.org/wiki/Kernel/Upstreaming#mtd:_s3c2410_nand:_Add_config_option_to_disable_hw_ecc_at_runtime

look too "out of context" to you? ;-)

Do you remember if any of the other patches in the list have been
already rejected by upstream at least once?

-Timo

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Lars-Peter Clausen
On 11/19/2011 08:18 PM, Timo Juhani Lindfors wrote:

> Lars-Peter Clausen <[hidden email]> writes:
>> It was the patch to disable NAND ECC at runtime.
>
> Ok. Does the quote in
>
> http://wiki.openmoko.org/wiki/Kernel/Upstreaming#mtd:_s3c2410_nand:_Add_config_option_to_disable_hw_ecc_at_runtime
>
> look too "out of context" to you? ;-)
>
> Do you remember if any of the other patches in the list have been
> already rejected by upstream at least once?
>
> -Timo

I don't think none of the other patches have been submitted for upstream yet.

Except this one, which should already be in upstream:
https://gitorious.org/shr/linux/commit/8e99225f5a165b20e25611db3486058d7f4e9dc1?format=patch

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Timo Juhani Lindfors
Lars-Peter Clausen <[hidden email]> writes:
> I don't think none of the other patches have been submitted for
> upstream yet.

The ALSA DAI mode setting bugfix was accepted this week to alsa soc tree:
http://mailman.alsa-project.org/pipermail/alsa-devel/2011-November/046059.html

> Except this one, which should already be in upstream:
> https://gitorious.org/shr/linux/commit/8e99225f5a165b20e25611db3486058d7f4e9dc1?format=patch

Great! Updated

http://wiki.openmoko.org/wiki/Kernel/Upstreaming#RTC:_PCF50633:_Don.27t_request_update_IRQ

-Timo

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 2.6.39 for the Freerunner

Mark Brown-3
In reply to this post by Timo Juhani Lindfors
On Sat, Nov 19, 2011 at 02:32:11AM +0200, Timo Juhani Lindfors wrote:

> Lars-Peter Clausen <[hidden email]> writes:
> > Not quite. I had for example a 5 liner rejected by a maintainer saying he can't
> > accept any code which adds new platform code to ARM.

> I realize this is an old email but do you remember which patch you were
> trying to upstream at that time? I'd like to document this in

That was a temporary thing which had nothing to do with the patch
itself, it was just Russell overreacting to some of Linus' comments.
Updates to existing board files are absolutely OK.

12
Loading...