Jump to content

Advent Vega kernel source code now available!


Guest PaulOBrien

Recommended Posts

Guest ejtagle

yes, i have been that far too ... no display on screen .. its at that point i went down the rat hole of mixing and matching libs to no great effect :)

Adding the function to libmedia seems the best approach so far... You would need to:

in AudioSystem.h, just after

class AudioSystem {

public:

Add

/* <start> -- Compatibility with HC3.2 -- Will allow OpenMax Nvidia decoders from HC to work in ICS */

// stream type:

// Exacty the same values as audio_stream_type_t - So we don't declare them here

enum stream_type {

STREAM_TYPE_WILDCARD

};

// request to open a direct output with getOutput() (by opposition to sharing an output with other AudioTracks)

enum output_flags {

OUTPUT_FLAG_INDIRECT = 0x0,

OUTPUT_FLAG_DIRECT = 0x1

};

static audio_io_handle_t getOutput(stream_type stream,

uint32_t samplingRate,

uint32_t format,

uint32_t channels,

output_flags flags);

/* </start> */

and, in AudioSystem.cpp, just after

namespace android {

add

/* <start> -- Compatibility with HC3.2 -- Will allow OpenMax Nvidia decoders from HC to work in ICS */

// android::AudioSystem::getOutput(android::AudioSystem::stream_type, unsigned int, unsigned int, unsigned int, android::AudioSystem::output_flags);

audio_io_handle_t AudioSystem::getOutput(AudioSystem::stream_type streamType, uint32_t samplingRate, uint32_t format, uint32_t channels, AudioSystem::output_flags outputFlags)

{

return getOutput((audio_stream_type_t)streamType,samplingRate,format,channels, (audio_policy_output_flags_t)outputFlags);

}

/* </start> */

and recompile libmedia

make libmedia

That hopefully should do the trick. I will try this myself later. I don't have the Shuttle with me right now ;)

Link to comment
Share on other sites

Adding the function to libmedia seems the best approach so far... You would need to:

in AudioSystem.h, just after

Add

and, in AudioSystem.cpp, just after

add

and recompile libmedia

make libmedia

That hopefully should do the trick. I will try this myself later. I don't have the Shuttle with me right now ;)

Compiles fine and loads on boot but we get the same results unfortunately ...

http://pastebin.com/ju3yqhen

Just to be clear .. you did intend to comment

// android::AudioSystem::getOutput(android::AudioSystem::stream_type, unsigned int, unsigned int, unsigned int, android::AudioSystem::output_flags);

in AudioSystem.cpp ? (course you did but ill ask anyway :))

Cheers

Cass

Link to comment
Share on other sites

Guest ejtagle

Compiles fine and loads on boot but we get the same results unfortunately ...

http://pastebin.com/ju3yqhen

Just to be clear .. you did intend to comment

// android::AudioSystem::getOutput(android::AudioSystem::stream_type, unsigned int, unsigned int, unsigned int, android::AudioSystem::output_flags);

in AudioSystem.cpp ? (course you did but ill ask anyway :))

Cheers

Cass

Yes, it was a comment... Well, will have to continue investigation .. Perhaps another lib that libnvomx.so depends on is also requiring some other functions... This is when i really miss the ldd command in android. We need to somehow find out the dependencies ... and the missing function names. There is obviously another function missing... And we will have to find out the name ...

Link to comment
Share on other sites

Yes, it was a comment... Well, will have to continue investigation .. Perhaps another lib that libnvomx.so depends on is also requiring some other functions... This is when i really miss the ldd command in android. We need to somehow find out the dependencies ... and the missing function names. There is obviously another function missing... And we will have to find out the name ...

yeah ldd is a miss for sure .. but i tend to do ok with just using strings, that at least shows the libs its concerned with.. functions however may be a harder battle and require some reversing rather than just strings output ..

root@android:/system/lib # strings libnvomx.so|grep lib

libnvos.so

libnvrm.so

libnvrm_channel.so

libnvmm.so

libnvmm_utils.so

libnvddk_2d_v2.so

libnvodm_imager.so

libnvmm_tracklist.so

libnvmm_contentpipe.so

libnvdispmgr_d.so

libnvodm_query.so

libnvwinsys.so

libnvddk_vmr.so

liblog.so

libcutils.so

libutils.so

libui.so

libhardware.so

libsurfaceflinger_client.so

libbinder.so

libmedia.so

libnvddk_audiofx.so

libc.so

libstdc++.so

libm.so

libnvomx.so

libnetflix.so

Netflix: libnetflix.so load SUCCESS!

Could not access %s from libnetflix.so

Netflix: libnetflix.so load FAILURE!

Netflix: libnetflix.so unload SUCCESS!

libEGL

egl/libEGL_tegra

root@android:/system/lib # strings libnvomx.so|grep _Z

_ZN7android10AudioTrack4stopEv

_ZN7android10AudioTrack5flushEv

_ZN7android10AudioTrack5startEv

_ZN7android10AudioTrack9setVolumeEff

_ZN7android10AudioTrack5pauseEv

_ZN7android10AudioTrackD1Ev

_ZdlPv

_ZN7android11AudioSystem9getOutputENS0_11stream_typeEjjjNS0_12output_flagsE

_ZN7android11AudioSystem19getOutputFrameCountEPii

_ZN7android11AudioSystem21getOutputSamplingRateEPii

_Znwj

_ZN7android10AudioTrackC1EijiiijPFviPvS1_ES1_ii

_ZNK7android10AudioTrack9initCheckEv

_ZN7android10AudioTrack5writeEPKvj

_ZNK7android10AudioTrack7latencyEv

_ZN7android32egl_get_image_for_implementationEPKcPv

_ZN7android33egl_get_image_for_current_contextEPv

Rgds

Cass

edit :- appears the only lib we dont have from that output is the netflix one ...

Edited by Cass67
Link to comment
Share on other sites

Guest ejtagle

yeah ldd is a miss for sure .. but i tend to do ok with just using strings, that at least shows the libs its concerned with.. functions however may be a harder battle and require some reversing rather than just strings output ..

root@android:/system/lib # strings libnvomx.so|grep lib

libnvos.so

libnvrm.so

libnvrm_channel.so

libnvmm.so

libnvmm_utils.so

libnvddk_2d_v2.so

libnvodm_imager.so

libnvmm_tracklist.so

libnvmm_contentpipe.so

libnvdispmgr_d.so

libnvodm_query.so

libnvwinsys.so

libnvddk_vmr.so

liblog.so

libcutils.so

libutils.so

libui.so

libhardware.so

libsurfaceflinger_client.so

libbinder.so

libmedia.so

libnvddk_audiofx.so

libc.so

libstdc++.so

libm.so

libnvomx.so

libnetflix.so

Netflix: libnetflix.so load SUCCESS!

Could not access %s from libnetflix.so

Netflix: libnetflix.so load FAILURE!

Netflix: libnetflix.so unload SUCCESS!

libEGL

egl/libEGL_tegra

root@android:/system/lib # strings libnvomx.so|grep _Z

_ZN7android10AudioTrack4stopEv

_ZN7android10AudioTrack5flushEv

_ZN7android10AudioTrack5startEv

_ZN7android10AudioTrack9setVolumeEff

_ZN7android10AudioTrack5pauseEv

_ZN7android10AudioTrackD1Ev

_ZdlPv

_ZN7android11AudioSystem9getOutputENS0_11stream_typeEjjjNS0_12output_flagsE

_ZN7android11AudioSystem19getOutputFrameCountEPii

_ZN7android11AudioSystem21getOutputSamplingRateEPii

_Znwj

_ZN7android10AudioTrackC1EijiiijPFviPvS1_ES1_ii

_ZNK7android10AudioTrack9initCheckEv

_ZN7android10AudioTrack5writeEPKvj

_ZNK7android10AudioTrack7latencyEv

_ZN7android32egl_get_image_for_implementationEPKcPv

_ZN7android33egl_get_image_for_current_contextEPv

Rgds

Cass

edit :- appears the only lib we dont have from that output is the netflix one ...

I found this. http://mpigulski.blo...dlinkerror.html ... I didn't know there was a

arm-eabi-ld that could be used for that... libnetflix...strange thing ;)

PD: arm-eabi-ld turns to be just the toolchain linker ... So, it will allow to check for dependencies without even pushing th libnvomx to the device... If it works, it will be an invaluable tool :)

Edited by ejtagle
Link to comment
Share on other sites

I found this. http://mpigulski.blo...dlinkerror.html ... I didn't know there was a

arm-eabi-ld that could be used for that... libnetflix...strange thing ;)

PD: arm-eabi-ld turns to be just the toolchain linker ... So, it will allow to check for dependencies without even pushing th libnvomx to the device... If it works, it will be an invaluable tool :)

indeed .. nice find, hadn't thought to look in the toolchain of all places .. heh .. i usually just expect ldd to be there ... strings was there for me when it was not on Android ;)

root@TP:# /vega/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi-readelf -d libnvomx.so

Dynamic section at offset 0x2d0dc contains 49 entries:

Tag Type Name/Value

0x00000003 (PLTGOT) 0x2d34c

0x00000002 (PLTRELSZ) 1352 (bytes)

0x00000017 (JMPREL) 0x2630

0x00000014 (PLTREL) REL

0x00000011 (REL) 0x2b78

0x00000012 (RELSZ) 3688 (bytes)

0x00000013 (RELENT) 8 (bytes)

0x6ffffffa (RELCOUNT) 458

0x00000006 (SYMTAB) 0x768

0x0000000b (SYMENT) 16 (bytes)

0x00000005 (STRTAB) 0x14c8

0x0000000a (STRSZ) 4453 (bytes)

0x00000004 (HASH) 0xf4

0x00000001 (NEEDED) Shared library: [libnvos.so]

0x00000001 (NEEDED) Shared library: [libnvrm.so]

0x00000001 (NEEDED) Shared library: [libnvrm_channel.so]

0x00000001 (NEEDED) Shared library: [libnvmm.so]

0x00000001 (NEEDED) Shared library: [libnvmm_utils.so]

0x00000001 (NEEDED) Shared library: [libnvddk_2d_v2.so]

0x00000001 (NEEDED) Shared library: [libnvodm_imager.so]

0x00000001 (NEEDED) Shared library: [libnvmm_tracklist.so]

0x00000001 (NEEDED) Shared library: [libnvmm_contentpipe.so]

0x00000001 (NEEDED) Shared library: [libnvdispmgr_d.so]

0x00000001 (NEEDED) Shared library: [libnvodm_query.so]

0x00000001 (NEEDED) Shared library: [libnvwinsys.so]

0x00000001 (NEEDED) Shared library: [libnvddk_vmr.so]

0x00000001 (NEEDED) Shared library: [liblog.so]

0x00000001 (NEEDED) Shared library: [libcutils.so]

0x00000001 (NEEDED) Shared library: [libutils.so]

0x00000001 (NEEDED) Shared library: [libui.so]

0x00000001 (NEEDED) Shared library: [libhardware.so]

0x00000001 (NEEDED) Shared library: [libsurfaceflinger_client.so]

0x00000001 (NEEDED) Shared library: [libbinder.so]

0x00000001 (NEEDED) Shared library: [libmedia.so]

0x00000001 (NEEDED) Shared library: [libnvddk_audiofx.so]

0x00000001 (NEEDED) Shared library: [libc.so]

0x00000001 (NEEDED) Shared library: [libstdc++.so]

0x00000001 (NEEDED) Shared library: [libm.so]

0x0000000e (SONAME) Library soname: [libnvomx.so]

0x0000000c (INIT) 0x4909

0x0000000d (FINI) 0x4909

0x0000001a (FINI_ARRAY) 0x2d00c

0x0000001c (FINI_ARRAYSZ) 16 (bytes)

0x00000019 (INIT_ARRAY) 0x2d000

0x0000001b (INIT_ARRAYSZ) 12 (bytes)

0x00000016 (TEXTREL) 0x0

0x00000010 (SYMBOLIC) 0x0

0x0000001e (FLAGS) SYMBOLIC TEXTREL

0x00000000 (NULL) 0x0

Link to comment
Share on other sites

Guest ejtagle

To check if all dependencies are met, you can do:

First, pull all the system libs to a local folder:

adb pull /system/lib/ /some/local/directory/

.

cd

/some/local/directory/

.

From the local folder, do

arm-linux-androideabi-ld -rpath=. libnvomx.so

rm a.out

Discard the "warning: cannot find entry symbol _start, defaultling to xxxxxx"

Any other message telling about an undefined reference to 'xxx' will give you the exact name of the missing entry point that is preventing the specified library to load.

With the modifications i told about before, seems the libnvomx.so should be loading. I am unable to test it, as i dont have a 4.0.3 ics image built yet

Just in case, attached the modified framework files:

framework403.rar

Link to comment
Share on other sites

Guest ejtagle

Adding the above patch, the libnvomx.so loads, but does not work. It ends crashing the mediaserver, but just before the crash, it returnos an "out of memory" error.

I replaced the libnvomx.so with the one found in the latest google libs, and there is no crash, but we still get the "out of memory/resources" error. The library is returning that error... Seems there is something extra missing here... perhaps an incompatible video subsystem kernel option, perhaps we need to assign more memory to the framebuffer, perhaps a property is missing... :S

PD: It would be interesting to launch the ICS image with our 2.6.36 kernel. The OMX libraries we are using were written for that kernel, and they worked in HC ... So, if the libraries start working, its the kernel, if the libraries keep not working, its something else...

Edited by ejtagle
Link to comment
Share on other sites

Guest DerArtem

Hello,

I am trying to port kernel 2.6.36 to the Folio 100. May things are working, but I still have some issues with the power regulators I think.

I have compared the power regulator stuff in your kernel 2.6.36 and in 2.6.32 of the folio and I think that the devices are identical here.

Can you post your .config for the 2.6.36 kernel?

As you have modified many non-board-specific files I would like try to compile your kernel with just some modifications for the folio. Maybe I will get more luck with it than with the stock nvidia tree.

Thank you, Artem

Link to comment
Share on other sites

Guest ejtagle

Hello,

I am trying to port kernel 2.6.36 to the Folio 100. May things are working, but I still have some issues with the power regulators I think.

I have compared the power regulator stuff in your kernel 2.6.36 and in 2.6.32 of the folio and I think that the devices are identical here.

Can you post your .config for the 2.6.36 kernel?

As you have modified many non-board-specific files I would like try to compile your kernel with just some modifications for the folio. Maybe I will get more luck with it than with the stock nvidia tree.

Thank you, Artem

Does at least the kernel boot ? What kind of issues are you having ? ... Ill post the kernel config later, as i don't have it at hand right now ;)

Link to comment
Share on other sites

Guest DerArtem

Does at least the kernel boot ? What kind of issues are you having ? ... Ill post the kernel config later, as i don't have it at hand right now ;)

Hi,

yes it boots.

I got graphics, touchscreen, internal and external SD, camera, USB, HDMI and WiFi working.

What does not work yet are the sensors, the nvec stuff (battery, keys), and audio (wm8903).

Audio gets initialized correctly but I can't hear anything.

Then the device reboots after going to sleep.

It also does not power on always. I have to turn it of and on multiple times until it boots.

When I enable nvec then the internal SD stops working. It reports errors. I have the feeling that it does not get enough power or so...

Link to comment
Share on other sites

Guest ejtagle

Hi,

yes it boots.

I got graphics, touchscreen, internal and external SD, camera, USB, HDMI and WiFi working.

What does not work yet are the sensors, the nvec stuff (battery, keys), and audio (wm8903).

Audio gets initialized correctly but I can't hear anything.

Then the device reboots after going to sleep.

It also does not power on always. I have to turn it of and on multiple times until it boots.

When I enable nvec then the internal SD stops working. It reports errors. I have the feeling that it does not get enough power or so...

I am just guessing, but i think you have problems in the i2c configuration ... Sensors not working, do they work at least at kernel level ? ... Sleep .... Perhaps you have enabled LP0 suspend mode ... LP0 does not work in older tegra devices... Use LP1 ... If you look closely at the dmesg, you will find there if any voltage regulators are being disabled from the ones the bootloader enabled initially..

Perhaps a pinmux issue ? ... If you look closely, you will notice that the i2c config used ias not the same as the harmony board ... Also, there is a possibility that nvec is controlling power to the audio power amplifier... :S

Link to comment
Share on other sites

Guest DerArtem

I am just guessing, but i think you have problems in the i2c configuration ...

Sensors not working, do they work at least at kernel level ?

I have no kernel drivers for the sensors. Only for the AK8975 - but it requires some platform data - which I don't have:

[ 7.498802] AK8975 compass driver: init

[ 7.498832] akm8975 4-000c: platform data is NULL. exiting.

... Sleep .... Perhaps you have enabled LP0 suspend mode ... LP0 does not work in older tegra devices... Use LP1 ...

Yes, I am trying to do LP0:

[ 6.970183] Suspend mode LP0 requested, but missing lp0_vec

[ 6.970191] Disabling LP0

If you look closely at the dmesg, you will find there if any voltage regulators are being disabled from the ones the bootloader enabled initially..

Here is a full dmesg: http://pastebin.com/ABzu2YJ9

Perhaps a pinmux issue ?

I have exported the pinmux from kernel 2.6.32 during playback of a video. I think that it is correct.

If you look closely, you will notice that the i2c config used ias not the same as the harmony board ...

Hmm, the i2c is working - the nvec gets detected, the Touchscreen is working, HDMI works - the AK8975 gets detected - the audio chips gets also detected and initialized ....So I assume that i2c is working just fine.

Also, there is a possibility that nvec is controlling power to the audio power amplifier... :S

Yes, this might be true ... But I can't get nvec working without loosing the internal SD which has the rootfs on it... So I can't test...

Link to comment
Share on other sites

Guest ejtagle

I have no kernel drivers for the sensors. Only for the AK8975 - but it requires some platform data - which I don't have:

[ 7.498802] AK8975 compass driver: init

[ 7.498832] akm8975 4-000c: platform data is NULL. exiting.

Yes, I am trying to do LP0:

[ 6.970183] Suspend mode LP0 requested, but missing lp0_vec

[ 6.970191] Disabling LP0

Here is a full dmesg: http://pastebin.com/ABzu2YJ9

I have exported the pinmux from kernel 2.6.32 during playback of a video. I think that it is correct.

Hmm, the i2c is working - the nvec gets detected, the Touchscreen is working, HDMI works - the AK8975 gets detected - the audio chips gets also detected and initialized ....So I assume that i2c is working just fine.

Yes, this might be true ... But I can't get nvec working without loosing the internal SD which has the rootfs on it... So I can't test...

If the problem is a regulator related one, you could extract that information from the .32 kernel you have in your repo ;) -- I have to admit it is a pinful process, but ... perfectly doable :) -- Sometimes, even NVec information can be extracted from it... The specuific info you need is located in odm_kit/query/betelgeuse/subboards/nvodm_query_discovery_betelgeuse_addresses.h - The regulator names tend to match the ones i used.

I hacve inspected the .32 kernel, seems "Daniel" has tweaked quite a bit of the nvos files. You should, as an idea, compare the shuttle nvos subfolder using a diff tool, to the folio100 subfolder , and you will find what i mean. The information you will find could be invaluable, as it would tell the differences between the shuttle and the folio100 :) -- Of course, this is just an idea :)

It would be fair to say that audio on Shuttle was the most complex thing to get working... It was so hard that at some point i had to disassemble the shuttle to figure out the routing and actually measure signals to know if and where the codec configuration was wrong :S ...

Edited by ejtagle
Link to comment
Share on other sites

To check if all dependencies are met, you can do:

First, pull all the system libs to a local folder:

adb pull /system/lib/ /some/local/directory/

.

cd

/some/local/directory/

.

From the local folder, do

arm-linux-androideabi-ld -rpath=. libnvomx.so

rm a.out

Discard the "warning: cannot find entry symbol _start, defaultling to xxxxxx"

Any other message telling about an undefined reference to 'xxx' will give you the exact name of the missing entry point that is preventing the specified library to load.

With the modifications i told about before, seems the libnvomx.so should be loading. I am unable to test it, as i dont have a 4.0.3 ics image built yet

Just in case, attached the modified framework files:

./libnvwinsys.so: undefined reference to `android::SurfaceComposerClient::closeGlobalTransaction()'

Appears we need this function too .... this is the only complaint from ld on all our libs ... i sent you a 4.0.3 img btw :)

Link to comment
Share on other sites

Guest ejtagle

./libnvwinsys.so: undefined reference to `android::SurfaceComposerClient::closeGlobalTransaction()'

Appears we need this function too .... this is the only complaint from ld on all our libs ... i sent you a 4.0.3 img btw :)

Thanks a lot, Cass! ... Really hope that implementing that function will make openMax work ;)

Link to comment
Share on other sites

Guest DerArtem

If the problem is a regulator related one, you could extract that information from the .32 kernel you have in your repo ;) -- I have to admit it is a pinful process, but ... perfectly doable :) -- Sometimes, even NVec information can be extracted from it... The specuific info you need is located in odm_kit/query/betelgeuse/subboards/nvodm_query_discovery_betelgeuse_addresses.h - The regulator names tend to match the ones i used.

I hacve inspected the .32 kernel, seems "Daniel" has tweaked quite a bit of the nvos files. You should, as an idea, compare the shuttle nvos subfolder using a diff tool, to the folio100 subfolder , and you will find what i mean. The information you will find could be invaluable, as it would tell the differences between the shuttle and the folio100 :) -- Of course, this is just an idea :)

It would be fair to say that audio on Shuttle was the most complex thing to get working... It was so hard that at some point i had to disassemble the shuttle to figure out the routing and actually measure signals to know if and where the codec configuration was wrong :S ...

I am wondering what this means:

[ 6.951041] tegra2_init_sku_limits: Unknown sku clock avp.sclk

[ 6.951054] tegra2_init_sku_limits: Unknown sku clock bsea.sclk

[ 6.955547] Unable to set clock dsi to rate 1000000: -22

[ 6.955649] Unable to set parent sclk of clock avp.sclk: -38

[ 7.659859] Failed to set 1 : 2 pclk divider

[ 7.659874] Failed to set 1 : 2 pclk divider

[ 7.665460] Failed to set 1 : 2 pclk divider

I saw that you also had this problem...

PS: I had also disassebled my folio...

Link to comment
Share on other sites

Guest ejtagle

I am wondering what this means:

[ 6.951041] tegra2_init_sku_limits: Unknown sku clock avp.sclk

[ 6.951054] tegra2_init_sku_limits: Unknown sku clock bsea.sclk

[ 6.955547] Unable to set clock dsi to rate 1000000: -22

[ 6.955649] Unable to set parent sclk of clock avp.sclk: -38

[ 7.659859] Failed to set 1 : 2 pclk divider

[ 7.659874] Failed to set 1 : 2 pclk divider

[ 7.665460] Failed to set 1 : 2 pclk divider

I saw that you also had this problem...

PS: I had also disassebled my folio...

Those were bugs in the original tegra kernel... ;) - They don't prevent at all the kernel from properly working.. But, yes, i did a patch to fix them ... ;)

Yes. disassembling and measuring the audio codec was the only way to make it work... At least, you should check if they are using an external audio power amplifier chip that is not being powered up ...

Link to comment
Share on other sites

Guest DerArtem

Where have you got the nvec stuff from? Acording to the credits you are using the one from the AC100, but heavily modified?

I got it finally working, but the battery info gets only updated after a cat /sys/kernel/debug/charger ...

Edited by DerArtem
Link to comment
Share on other sites

Guest ejtagle

Where have you got the nvec stuff from? Acording to the credits you are using the one from the AC100, but heavily modified?

I got it finally working, but the battery info gets only updated after a cat /sys/kernel/debug/charger ...

Yes, originally, i wrote it from scratch, but, then, i found there was a version in the AC100 git, so i took some extra things from it. I am implementing a better recovery mechanism compared with the AC100 version. The problem on the battery not updaing was a bug of my original version. The problem is the timer i was using to update... There was an initialization missing, so it just did not update. I assume you are using an older version of the kernel, because i fixed that bug in the later ones (2.6.36, but the latet revision from nvidia, rather than the original you posted ;) ... You can take the nvce.c from a later version and it will work without modifications :)

Link to comment
Share on other sites

Guest ejtagle

Well, working towards porting the motorola video subsystem to our kernel. It is not done yet, but i have ported all the fixes that are present in the moto 2.6.39 kernel to our kernel ... Some of those are important, preventing crashes, some of them are not... Specially worthwhile to mention, the fix in the alarm wakeups (could crash kernel) and the port of the netfilter module from 3.0 kernel to ours... ;)

I will see if porting the whole video subsystem from the moto kernel to our kernel makes a difference on the OpenMax video decoding acceleration or not... But, that will be on a next post, only if i find that it solves the problem...

Regards,

Eduardo

patch2.6.39_wmotofixes.rar

Link to comment
Share on other sites

Guest DerArtem

Yes, originally, i wrote it from scratch, but, then, i found there was a version in the AC100 git, so i took some extra things from it. I am implementing a better recovery mechanism compared with the AC100 version. The problem on the battery not updaing was a bug of my original version. The problem is the timer i was using to update... There was an initialization missing, so it just did not update. I assume you are using an older version of the kernel, because i fixed that bug in the later ones (2.6.36, but the latet revision from nvidia, rather than the original you posted ;) ... You can take the nvce.c from a later version and it will work without modifications :)

Can you give me a link to the newer version?

I could only find the version of rebel1 and EnJens (RaYmAn) on the net ...

Edited by DerArtem
Link to comment
Share on other sites

Well, working towards porting the motorola video subsystem to our kernel. It is not done yet, but i have ported all the fixes that are present in the moto 2.6.39 kernel to our kernel ... Some of those are important, preventing crashes, some of them are not... Specially worthwhile to mention, the fix in the alarm wakeups (could crash kernel) and the port of the netfilter module from 3.0 kernel to ours... ;)

I will see if porting the whole video subsystem from the moto kernel to our kernel makes a difference on the OpenMax video decoding acceleration or not... But, that will be on a next post, only if i find that it solves the problem...

Regards,

Eduardo

Good work, patch applies and compiles / boots fine ... :)

Got a SOD, which i didn't see before but im lacking in logs to see what it was all about .. maybe just coincidence ... ill look to further if i get another ...

Cheers

Cass

Link to comment
Share on other sites

Can you give me a link to the newer version?

I could only find the version of rebel1 and EnJens (RaYmAn) on the net ...

Hi,

https://github.com/wooshy1/kernel_2.6.36_nvidia_base

above link is the latest git for .36 kernel .. wooshy1 has been maintaining it .. should have all patches that are current for the Vega .36 kernel and possibly a few extra ... Rebel1 has not updated his git in a while i dont think ...

Rgds

Cass

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.