View Single Post
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#133
Here's the reply from Filip. Anyone: do you have any ideas what to do with it? Pali (he was pinged by me): you work on the N900 kernel, maybe your experiences would be useful here.

Originally Posted by Filip Matijević
Hi again,

regarding upstreaming my commits there are few major reasons why it didn't happen:

  • this kernel work was my first experience with kernel internals, pure C and git. Hence many commits are not up to linux kernel coding standards - they do work, but they can't be used "as is" for upstreaming
  • some of the drivers were part of the kernel, but seemed to be from different code base - depending on their usage they were modified, or rewritten based on original Nokia kernel. I guess replacing entire drivers is not something that would be upstreamed easy. For example CMT parts from n900 are different than those used on N9. N900 stuff got upstreamed (or is about to be), and I'm not really sure if it's the same HW, or there needs to be some N9/N950 specific stuff in there.
  • some hw can't be used without binary blobs from Harmattan (battery - BME, camera - lipomap3camd, and GPS as mentioned earlier). This forced me to do some nasty hacks (twl4030-madc seemed to be quite different and needed "old" stuff in order for BME to work, libomap3camd has trouble because v4l2_event has changed ABI...) This also would be difficult to upstream.
  • many of the stuff in there has no proper documentation (CMT, GPS...), hence it would be difficult to explain why some changes are needed. I guess saying: "It works that way", wouldn't be enough
  • Jolla used non LTS kernel as a base, maybe if we were on 3.4 LTS this would be a bit easier (AFAIK only "must have" reason for 3.0+ kernel was usage of systemd in Mer)
  • Kernel has shifted to device tree, but many of the stuff placed in board-rm680.c seem to be difficult do implement in such way - some of this would also require rewriting drivers

Sadly both of my N9's have stopped working (both developed problems with their CMT modules, one has since been destroyed in an attempt to fix it) I've moved to Android (and no, it's not working out for me. This has reduced my interest in this project considerably, but I'm willing to help. At this point I'm thinking that we would need some kernel hacker that has good knowledge of kernel internals (and maybe even has connections with TI kernel guys and old Nokians that worked on N9) that would be willing to go trough my commits. Still I think that due to lack of documentation (MEIF requires signing NDA with Nokia, so does camera smiapp - together with bunch of "smiapp compatible" sensors that have quirks as they are not 100% compatible - contacting Toshiba, Sony for datasheets could be problematic...) current kernel state is probably best we can do.

It would be awesome if you succeed in getting some helping hands, but I'm under impression that N9/N950 didn't manage to attract "hardcore linux hackers" (at least not as much as N900 did) making it difficult (if not impossible) to find the "right people". In all this time I'm able to count all interested in N9 kernel on fingers of one hand

I've subscribed to TMO thread you linked, and I'll keep an eye on further progress!
About the state of the kernel:

Originally Posted by Filip Matijević
Jolla guys did make first steps in making 3.5.3 bootable on N9, but after they moved onto their own HW they stopped developing N9 kernel further. I've made some progress since then, but biggest obstacle remains: problem of performance. It's believed to be due to rather hacky way wayland is implemented on top of closed source PVR binaries (https://github.com/nemomobile/ti-oma...-wayland-wsegl). Possible solutions would be to fix existing wayland implementation (https://twitter.com/hedayatvk was investigating that), or use PVR drivers for android (from LG Optimus Black P970, https://twitter.com/crazybulgarian was looking into that). There is also small possibility that Imagination makes open source driver (https://www.phoronix.com/scan.php?pa...R-Open-Chatter) but I wouldn't hold my breath on that one.

The only non function part of the kernel is GPS - and this will remain unchanged. GPS chip speaks MEIF instead of NMEA, and all the binary blobs for GPS (there seem to be a few of those) from Harmattan are tied to Qt4.
Filip's TMO nick is Filip.pz
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here
 

The Following 2 Users Say Thank You to marmistrz For This Useful Post: