Jump to content

Advent Vega kernel source code now available!


Guest PaulOBrien

Recommended Posts

Guest Scanno

I don't see anything wrong with configuring i2c clocks explicitly ... Something like attached could do...

Ok i have build the kernel and will flash... I will give it a good run tomorrow.. I am using my tablet pretty much at work so...

I have put the kernel sources (with the old audio drivers) on github...

https://github.com/scanno/android-tegra-nv-3.1

Link to comment
Share on other sites

Guest Scanno

What do you make of this one Ejtagle ?

http://www.mediafire.com/?qywt2f32pn25fy1

I think you got some bad nand blocks.... During nvflash the nand is repartitioned and reformatted. During nvflashing parts of the data of the system image is being written on the bad nand blocks. Data is being read from a bad block and data is corrupted. The nand diver does not know how to handle this.....

Well that is just my interpretation.

Edited by Scanno
Link to comment
Share on other sites

Guest brucelee666

Thought now I have had more time would give an update, after the edit to my last post where I had a crash I have been running the vega so from 5:30 to 10:30 only swithcing off a few times, putting to sleep for varying periods and waking numerous times, changing usb host/peripheral mode and sleep/wake while in this mode, browsing/playing games etc. and not had one crash or trouble with the lock screen (see bleow).

I am using the latest ts driver (which seems to have removed the large number of i2c entries seen) but the clocks Eduardo posted back when he added the 3 usb lines not used Scanno's modified one or the latest ver Eduardo posted above, I also amended my config just to remove the eaglax as it seemed to get disabled anyway looking at the dmesg so this was to tidy things up (was left in as previously in the .39 & .36 kernel configs but not in Eduardos config in his patch).

Have noticed on occasion when switching on from being powered off or wakeing the lock screen being twitchy as in the when trying to move the circle to unlock does not follow your movement and bounces back to the centre it will unlock just twitchy, this could continue to where scrolling up/down a webpage turns into a pinch to zoom gesture when only one finger is on screen - rebooting usually sorts this and the lock screen is back to normal where circle tracks movement as you would expect.

Hopefully people will download Scanno's kernels and test them as alot of them seem to be 3g/gps internal or using usb host/peripheral mode for external 3g that I saw reporting crashes before and mine is wifi only (although I am sure some were also wifi only).

Edited by brucelee666
Link to comment
Share on other sites

Guest Daedric1383

I think you got some bad nand blocks.... During nvflash the nand is repartitioned and reformatted. During nvflashing parts of the data of the system image is being written on the bad nand blocks. Data is being read from a bad block and data is corrupted. The nand diver does not know how to handle this.....

Well that is just my interpretation.

Perhaps... it does make sense, but why doesn't 3.x trigger this issue ?

Link to comment
Share on other sites

Guest richardmlea

Is there a better way to detect bad blocks like chkdsk in windows or is "dmesg | grep bad" reliable. One of my motherboards behaves like it has bad nand blocks but if I use the grep bad command it dosent report any.

On the subject of P10AN01 variations in hardware I have found this.

I would estimate that I have seen about 20 P10AN01 motherboards (vega's, POV's and 10s's) and I have never noticed any difference. I have 2 vega's here and one broken motherboard (also out of a vega) so I thought I would take a closer look. My new motherboard is also troublesome (no bad blocks showing but has trouble flashing some roms), the old one was rock solid (before I blew it up, don't ask) so I thought they may be different.

So first I compared my current motherboard too my old faulty one. They are identical, the ram seems to match and there is no physical difference. I then opened another vega that I have and at first glance it looked identical. I then removed the board from the tablet, as soon as I unplugged the touchscreen I noticed "P10AN01 ver1.0" on the motherboard under the touchscreen ribbon. I have never noticed this before, all the others I have noticed are "P10AN01 ver1.1" The 2 versions of the boards look identical apart from these markings. Version 1.0 also has Hanstar printed on the bottom (under the insulation, next to CN15). All the IC's look the same, nothing seems missing.

So there are at least the 2 versions of the P10AN01 motherboard.

P10AN01 Ver 1.0

p10an01ver10.th.jpg

Top

top3gv.th.jpg

top2k.th.jpg

top1z.th.jpg

Bottom

bottom3z.th.jpg

bottom2u.th.jpg

bottom1u.th.jpg

P10AN01 Ver 1.1

p10an01ver11.th.jpg

Top

top2io.th.jpg

top1fu.th.jpg

Bottom

bottom1.th.jpg

bottom2a.th.jpg

Edit.

One thing I have noticed about the ram chips (hmmm chips) is both of these boards have 2 chips marked with a extra "C" on one side and 2 chips without the "C" on the other. The board that is misbehaving has "C" marked on all four chips (its version 1.1). All 3 boards have matched numbers on top and a different pair of matching numbers on the bottom.

This may mean nothing, but maybe someone else can comment on this or find any info on the Hynix HY5PSIG831C nand chips.

Edited by richardmlea
Link to comment
Share on other sites

Guest ejtagle

What do you make of this one Ejtagle ?

http://www.mediafire...qywt2f32pn25fy1

This is caused by the nand driver not being able to read a nand block.In theory, nand blocks have no relation to the bug itself... Maybe the nand controller stops working,,,

Did anyone try the kernel config option CONFIG_TEGRA_PREINIT_CLOCKS ? ,,, It is supposed to tix unreliable clock settings from the bootloader, and i do suspect it could help here...

Link to comment
Share on other sites

Guest Scanno

This is caused by the nand driver not being able to read a nand block.In theory, nand blocks have no relation to the bug itself... Maybe the nand controller stops working,,,

Did anyone try the kernel config option CONFIG_TEGRA_PREINIT_CLOCKS ? ,,, It is supposed to tix unreliable clock settings from the bootloader, and i do suspect it could help here...

FYI

another kernel to try to solve the problems.. same as previous kernel, but with the config option CONFIG_TEGRA_PREINIT_CLOCKS set to yes.

Download: VegaCream-b4.1-0706.zip.zip

EDIT:

Had a freeze...

Last_kmsg:

http://db.tt/BAKfKfb6

In short:

1058.723065] send sigkill to 1883 (droid.apps.docs), adj 11, size 6122

[ 1106.707551] tegra-i2c tegra-i2c.3: unexpected status

[ 1106.712980] tegra-i2c tegra-i2c.3: unexpected status

[ 1107.719768] ------------[ cut here ]------------

[ 1107.724725] WARNING: at drivers/i2c/busses/i2c-tegra.c:664 tegra_i2c_xfer+0x2f0/0x404()

[ 1107.732884] Modules linked in: ar6000 [last unloaded: ar6000]

[ 1107.739809] [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x4c/0x64)

[ 1107.749688] [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_null+0x18/0x1c)

[ 1107.760040] [] (warn_slowpath_null+0x18/0x1c) from [] (tegra_i2c_xfer+0x2f0/0x404)

[ 1107.770043] [] (tegra_i2c_xfer+0x2f0/0x404) from [] (i2c_transfer+0xb4/0x10c)

[ 1107.779306] [] (i2c_transfer+0xb4/0x10c) from [] (i2c_smbus_xfer+0x3ac/0x4f0)

[ 1107.788650] [] (i2c_smbus_xfer+0x3ac/0x4f0) from [] (i2c_smbus_read_i2c_block_data+0x44/0x68)

[ 1107.799450] [] (i2c_smbus_read_i2c_block_data+0x44/0x68) from [] (it7260_read_point_buffer+0x1c/0x50)

[ 1107.810814] [] (it7260_read_point_buffer+0x1c/0x50) from [] (it7260_ts_work_func+0x4c/0xe3c)

[ 1107.821315] [] (it7260_ts_work_func+0x4c/0xe3c) from [] (process_one_work+0x248/0x3a4)

[ 1107.831408] [] (process_one_work+0x248/0x3a4) from [] (worker_thread+0x21c/0x3d8)

[ 1107.840860] [] (worker_thread+0x21c/0x3d8) from [] (kthread+0x80/0x88)

[ 1107.849585] [] (kthread+0x80/0x88 from [] kenel_thread_exit+0x0/px8i

[ 1107.858296]0---[ end trace fbce81c59d3fac97 ]---[ 1107863514] tegza-i?c tegra-i2c.3: i2c transfer timed out, addr 0x0046, data 0xe0

[ 1107.872614] it7260 4-0046: read point buffer failed

[ 1107.877674] it7260 4-0046: failed to read points [2]

[ 1107.882982] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1107.888974] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x34

[ 1107.896933] tegra-i2c tegra-i2c.3: Packet status 0x00010003

[ 1107.902983] tps6586x 4-0034: failed reading at 0x10

[ 1107.903019] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1107.903037] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1107.903055] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1107.903217] it7260 4-0046: failed to read points [1]

[ 1107.903294] tegra-i2c tegra-i2c.3: I2c error status 0x00400026

{ 110.903312 tegra-i2c tegra-i2c.3: arbitration lost during" communicate to!add00x46

[ 1107.903330] tegra/i2c tugra-i2c.3: Packet status 0x00000003

[ 1107.903486] it7260 4-0046: failed to read points [1]

[ 1107.903560] tegra-i2c tegra-i2c.3: I2c error satus 0x00000006

[ 1107.903578] tegra-i2c vegri-i2.3> arbytrauion`lost duringb communicate to0add80x46

[ 1107.903u96] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1107.903752] it7260 4-0046: failed to read points [1]

[ 1107.903825] tegra-i2c tegra-i2c.3:!I2k error staus 8x00000006

[`1107.903842] tegra-i2c vegre-i2k.3:(arbitration`lost during `communicate to`add00x46

[ 1107.903860] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1107.904017] it7260 4-0046: failed to read points [1]

[ 1107.904088] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1107.904105] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1107.904123] tegra-i2c tegra-i2c.3: Packet status 0x00000003

-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.028498] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.028652] it7260 4-0046: failed to read points [1]

[ 1108.028723] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.028740] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.028757] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.028913] it7260 4-0046: failed to read points [1]

[ 1108.028985] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.029002] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.029019] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.029175] it7260 4-0046: failed to read points [1]

[ 1108.029245] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.029262] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.029280] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.029435] it7260 4-0046: failed to read points [1]

[ 1108.029507] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.029524] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.029542] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.029697] it7260 4-0046: failed to read points [1]

[ 1108.029768] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

0003

[ 1108.154234] it7260 4-0046: failed to read points [1]

[ 1108.154307] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.154324] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.154342] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.154498] it7260 4-0046: failed to read points [1]

[ 1108.154570] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.154588] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.154605] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.154761] it7260 4-0046: failed to read points [1]

[ 1108.154832] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.154849] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.154867] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.155014] it7260 4-0046: failed to read points [1]

[ 1108.155085] tegra-i2c tegra-i2c.3: I2c error status 0x00000006

[ 1108.155102] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.155120] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.155276] it7260 4-0046: failed to read pointw [q]

[ 1148.155347] tegra-i2c tegza-ic.3:(I2c eror status"0x0000006

[ 1108.1u5364]0tegra-i2c tegra-i2c.3: arbivration lost during communicate to add 0x46

[ 1108.155382] tegra-i2c tegra-i2c.3: Packet status 0x00000003

-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.279631] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.279787] it7260 4-1056: failed t read points(_1]

[ 1108/27958] tegrq-i2c tegra-irc>3: Krc error status 0x00000006

[ 1108.27987=] tegra-i2c tegra-i2c.3: arbitration lost during communicate to add 0x46

[ 1108.279893] tegra-i2c tegra-i2c.3: Packet status 0x00000003

[ 1108.280048] it7260 -006: vaild to read points [1]

[ 1108.28019] tegra-i2c tegra-i2c3: I2c erro status`0x05000p06

Edited by Scanno
Link to comment
Share on other sites

Guest brucelee666

Okay this may be nothing but thought I would post, either last_kmsg is displaying incorrect characters or I never go into LP0 suspend where others are ?:-

This is a segment of Daedric1383 last_kmsg posted:-


[  501.697953] Entering suspend state LP0

[  501.698012] partition 3d0 is left on before suspend

[  501.698012] partition ve is left on before suspend

[  501.698012] partition vde is left on before suspend

[  501.698012] partition mpe is left on before suspend

[  501.698142] Exited suspend state LP0

This segment is from the latest Scanno last_kmsg posted, after this every suspend goes into and exits LP1:-

[  828.019314] Entering suspend state LP1

[  828.019377] partition 3d0 is left on before suspend

[  828.019377] partition ve is left on before suspend

[  828.019377] partition vde is left on before suspend

[  828.019377] partition mpe iS left of before sUspend

[  828.019506] Exitad sUspend 3tate LP0

This is from my last_kmsg I posted, everytime I go into LP1 suspend (never a mention of LP0 suspend):-

[  825.569696] Entering suspend state LP1

[  825.569760] partition 3d0 is left on before suspend

[  825.569760] partition ve is left on before suspend

[  825.569760] partition vde is left on before suspend

[  825.569760] partition mpe is left on before suspend

[  825.569890] Exited suspend state LP1

Edited by brucelee666
Link to comment
Share on other sites

Guest Scanno
Okay this may be nothing but thought I would post, either last_kmsg is displaying incorrect characters or I never go into LP0 suspend where others are ?:-

This is a segment of Daedric1383 last_kmsg posted:-


[  501.697953] Entering suspend state LP0

[  501.698012] partition 3d0 is left on before suspend

[  501.698012] partition ve is left on before suspend

[  501.698012] partition vde is left on before suspend

[  501.698012] partition mpe is left on before suspend

[  501.698142] Exited suspend state LP0

This segment is from the latest Scanno last_kmsg posted, after this every suspend goes into and exits LP1:-

[  828.019314] Entering suspend state LP1

[  828.019377] partition 3d0 is left on before suspend

[  828.019377] partition ve is left on before suspend

[  828.019377] partition vde is left on before suspend

[  828.019377] partition mpe iS left of before sUspend

[  828.019506] Exitad sUspend 3tate LP0

This is from my last_kmsg I posted, everytime I go into LP1 suspend (never a mention of LP0 suspend):-

[  825.569696] Entering suspend state LP1

[  825.569760] partition 3d0 is left on before suspend

[  825.569760] partition ve is left on before suspend

[  825.569760] partition vde is left on before suspend

[  825.569760] partition mpe is left on before suspend

[  825.569890] Exited suspend state LP1

You have something there.... there is at least 1 other user that suspends to LP0 and has the same crash (ie the nand/squashfs null pointer)

Link to comment
Share on other sites

Guest brucelee666

You have something there.... there is at least 1 other user that suspends to LP0 and has the same crash (ie the nand/squashfs null pointer)

Okay then another question. this set of lines appear in last_kmsg:-


[	6.452665] Disabling clocks left on by bootloader:

[	6.457711]	audio

[	6.460031]	stat_mon

[	6.462589]	fuse_burn

[	6.465208]	clk_d

[	6.467507]	pll_p_out4

[	6.470294]	pll_p_out2

And these entries were in the original shuttle-clocks file but not in the latest ver., could there be something here ?:-

{ "pll_p_out2", "pll_p",  108000000, true},  /* must be always on */

{ "pll_p_out3", "pll_p",   72000000, true},  /* must be always on - i2c, camera */

{ "pll_p_out4", "pll_p",   26000000, true},  /* must be always on - USB ulpi */

edit - I should add the pll_p_out* were not disabled by bootloader using original suttle-clocks if I remember correctly.

Edited by brucelee666
Link to comment
Share on other sites

Guest ejtagle

Okay then another question. this set of lines appear in last_kmsg:-


[	6.452665] Disabling clocks left on by bootloader:

[	6.457711]	audio

[	6.460031]	stat_mon

[	6.462589]	fuse_burn

[	6.465208]	clk_d

[	6.467507]	pll_p_out4

[	6.470294]	pll_p_out2

And these entries were in the original shuttle-clocks file but not in the latest ver., could there be something here ?:-

{ "pll_p_out2", "pll_p",  108000000, true},  /* must be always on */

{ "pll_p_out3", "pll_p",   72000000, true},  /* must be always on - i2c, camera */

{ "pll_p_out4", "pll_p",   26000000, true},  /* must be always on - USB ulpi */

edit - I should add the pll_p_out* were not disabled by bootloader using original suttle-clocks if I remember correctly.

Hey! ... Of course you got something there!... The kernel enables / disables LP0 (and uses LP1 instead) depending on the exact tegra2 revision... There are 2 revisions available at the 03 level: 03 and 03P. shuttle p10an01 are supposed to use the 03 version, with the LP0 resume bug. The 03P (=Prime) has a correction on the bootloader code that should make lp0 work. There is little information on the differences between a working LP0 resume capable bootloader and the non working ones... I seem to recall reading somewhere that the problem was that the bootloader failed to restore some register settings, leading to exit from lp0 not working properly..If my memory serves me well, the exact registers that were not properly restored were the memory controller ones... The ones that tell tegra2 how to access the SDRAM chips. That could easily lead to memory corruption/misreads.., Maybe the problem was that the bootloader fails to restore those registers, and memory corruptions are happening,,,

Link to comment
Share on other sites

Guest ejtagle

You have something there.... there is at least 1 other user that suspends to LP0 and has the same crash (ie the nand/squashfs null pointer)

Please, at the start of the booting process, the kernel dumps the exact tegra2 revision chip being used... Please, post it... We need to know if we are dealing with different revisions of the chips... It is something like:

This is from a non crashing kernel...

<6>[ 0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

<6>[ 0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 1

This is from a crashing the kernel:

[ 0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[ 0.000000] Tegra Revision: A03 prime SKU: 0x8 CPU Process: 1 Core Process: 1

Interesting detail: I see different tegra2 versions :) -- Or maybe the kernel is misidentifying the chip, and trying a LP0 suspend when the bootloader does not support it...

Edited by ejtagle
Link to comment
Share on other sites

Guest brucelee666

Eduardo,

The info you requested, taken from each of the last_kmsg posted previously by them/me:-

My details


[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[	0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 1

Scanno Details

[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 2 Speedo ID: 1

[	0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 2

Daedric1383 Details

[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[	0.000000] Tegra Revision: A03 prime SKU: 0x8 CPU Process: 1 Core Process: 1

Edited by brucelee666
Link to comment
Share on other sites

Guest ejtagle

Eduardo,

The info you requested, taken from each of the last_kmsg posted previously by them/me:-

My details


[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[	0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 1

Scanno Details

[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 2 Speedo ID: 1

[	0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 2

Daedric1383 Details

[	0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[	0.000000] Tegra Revision: A03 prime SKU: 0x8 CPU Process: 1 Core Process: 1

3 different tegra2 revisions... Wow! ... So, not all Shuttles are born the same... Speedo ID says they share the same maximum clock, Core process is telling that they have used different production technologies... That could impact overclocking capabilities, and one of them is a prime version, that _supposedly_ should be able to go to LP0 and return ... Something that is not happening ... Maybe, we won't be able to go to LP0 on shuttle hardware... There was a "fix" for the LP0 issue, but Nvidia does not talk about it. It requires special support in the 2nd stage bootloader (the bootloader.bin the nvflash utility sends as the first step). We don't have the source code of it, so i really don't know if a workaround is feasible or not..)

Of course we can disable LP0 and force the kernel to suspend to LP1 instead...

Edited by ejtagle
Link to comment
Share on other sites

Guest Scanno
Eduardo,

The info you requested, taken from each of the last_kmsg posted previously by them/me:-

My details


[    0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[    0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 1

Scanno Details

[    0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 2 Speedo ID: 1

[    0.000000] Tegra Revision: A03 SKU: 0x8 CPU Process: 1 Core Process: 2

Daedric1383 Details

[    0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 1 Speedo ID: 1

[    0.000000] Tegra Revision: A03 prime SKU: 0x8 CPU Process: 1 Core Process: 1

Details from another user over at tabletroms (kernel crashes)

[ 0.000000] Tegra SKU: 8 Rev: A03 CPU Process: 1 Core Process: 2 Speedo ID: 1

[ 0.000000] Tegra Revision: A03 prime SKU: 0x8 CPU Process: 1 Core Process: 2

So I guess we have 4 revisions ?

Edited by Scanno
Link to comment
Share on other sites

Guest Scanno

3 different tegra2 revisions... Wow! ... So, not all Shuttles are born the same... Speedo ID says they share the same maximum clock, Core process is telling that they have used different production technologies... That could impact overclocking capabilities, and one of them is a prime version, that _supposedly_ should be able to go to LP0 and return ... Something that is not happening ... Maybe, we won't be able to go to LP0 on shuttle hardware... There was a "fix" for the LP0 issue, but Nvidia does not talk about it. It requires special support in the 2nd stage bootloader (the bootloader.bin the nvflash utility sends as the first step). We don't have the source code of it, so i really don't know if a workaround is feasible or not..)

Of course we can disable LP0 and force the kernel to suspend to LP1 instead...

I guess the best solution is to disable LP0 and force the kernel to suspend to LP1... otherwise we should have different versions of the bootloader.bin file for the different revisions...

I mean the original kernel must have forced suspend to LP1 otherwise we should have seen different bootloader.bin files for different revisions... or the original kernel did not have support for LP0.

Edited by Scanno
Link to comment
Share on other sites

Guest ejtagle

I guess the best solution is to disable LP0 and force the kernel to suspend to LP1... otherwise we should have different versions of the bootloader.bin file for the different revisions...

I mean the original kernel must have forced suspend to LP1 otherwise we should have seen different bootloader.bin files for different revisions... or the original kernel did not have support for LP0.

Exactly, on previous kernels i disabled LP0... In board-shuttle-power.c, at the shuttle_suspend_data struct (bottom of the file, replace

.suspend_mode = TEGRA_SUSPEND_LP0,

by

.suspend_mode = TEGRA_SUSPEND_LP1,

That is the only change required :)

Link to comment
Share on other sites

Guest Scanno

Exactly, on previous kernels i disabled LP0... In board-shuttle-power.c, at the shuttle_suspend_data struct (bottom of the file, replace

.suspend_mode = TEGRA_SUSPEND_LP0,

by

.suspend_mode = TEGRA_SUSPEND_LP1,

That is the only change required :)

Ok thanks...

Will compile a new kernel as soon as i have time with LP0 disabled and see what is going on... will also try to change back some things that were done previously to see if it solves my occasional freezes.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.