00:53 | mk01_ | jnettlet: regarding the "flickering" we have been discussing - with removing the fb depth conversion (32->16b), it completely disappears. |
00:53 | mk01_ | (re not conversion, ... fb1 reconfiguration to 16bit in case deint is running) |
09:28 | palatin | I experience a clock drift of approx. 1 min per month on cubox V1, is that expected ? |
12:35 | vpeter | jnettlet: one short question - what is the purpose of reg = <0>; in regulator? |
12:36 | jnettlet | vpeter, where are you looking exactly? |
12:37 | vpeter | In imx6q-sabrelite.dts for example |
12:38 | vpeter | or imx6qdl-sabresd.dtsi |
12:38 | jnettlet | oh that is just the device enumeration |
12:39 | vpeter | So just starts with 0 on first and add 1 on second? |
12:39 | jnettlet | yep |
12:40 | jnettlet | you don't have to add them, then they will be auto-enumerated I believe |
12:40 | jnettlet | but sometimes they need to come up in a specific order |
12:40 | vpeter | Understand. ty. |
14:37 | zrasim | Hello! Havung trouble with runing bcm4330 on my imx6 solo microsom. I am using Yocto, kernel driver compiled as built-in, B43_SDIO. But there is no wlan iface in ifconfig output. "dmesg | grep -i brcm" gives "brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50" |
14:38 | Artox | zrasim: I wonder if the firmware is missing |
14:38 | Artox | try |
14:38 | Artox | dmesg | grep firm |
14:39 | Artox | though yocto should have the firmware .... hmmm |
14:40 | zrasim | "[ 0.454246] imx-sdma 20ec000.sdma: firmware not found" |
14:40 | Artox | :/ |
14:40 | Artox | thats not an issue as far as I know |
14:40 | Artox | then idk |
14:40 | zrasim | but /lib/firmware/imx/sdma/sdma-imx6q.bin is present |
14:41 | Artox | yeah, the message is because sdma firmware has to be loaded before userspace is up |
14:41 | Artox | so its not happening |
14:41 | Artox | not a big deal for your wifi |
14:44 | zrasim | "/lib/firmware/brcm/brcmfmac4330-sdio.bin" is present too |
14:45 | Artox | there should also be a .txt in there |
14:45 | zrasim | yes |
14:52 | zrasim | hmm, in device-tree found only interface preparing, nothing that likes "compatible = "brcm,bcm4330". Is it ok? |
15:01 | zrasim | looks like not neaded... |
15:04 | zrasim | will try to enable debug output of brcm driver, may be will get some additional info |
16:05 | jnettlet | mk01, do you stop the renderer when the screen is blanked? |
16:08 | zrasim | hmmm... i don't know why, but building this driver as builtin was bad idea |
16:09 | zrasim | i am about broadcom 4330 |
16:11 | zrasim | as module it works fine |
16:27 | mk01 | jnettlet: are you asking generally about xbmc's rendering, or it's gles renderer implementation or imxcodec's process() (or specifically because of sync & flip?) ? |
16:28 | jnettlet | mk01, all of the above. just because when the screen blanks power usage actually goes up because the GPU can render faster because IPU isn't limiting it. |
16:30 | mk01 | ok, so your question goes to case of cable disconnect / connect ... ? |
16:30 | jnettlet | well similar to that yes. |
16:31 | jnettlet | I don't know where blank/unblank is tracked in kodi |
16:31 | mk01 | NOWHERE |
16:31 | jnettlet | blah |
16:31 | mk01 | that's why i'm asking what case you are concerned |
16:32 | mk01 | jnettlet: |
16:32 | jnettlet | I think xbmc's rendering in general. |
16:32 | mk01 | this is why implemented the hdmi cable changes tracking .... (to take down rendering, refresh resolutions etc) |
16:35 | mk01 | this nicely works with the latest work on mxc-hdmi (where cable_connected/disconencted) |
16:36 | jnettlet | and you are listening to udev events for the hdmi cable state right? |
16:36 | mk01 | but generally speaking of such (IMHO mandatory enhancements), there was never two side understanding on that (me speaking to Koying for example) |
16:37 | mk01 | ((understanding meaning = 'I don't see a use case here') |
16:37 | mk01 | jnettlet: yes, udevmonitor |
16:39 | mk01 | basically the design is like this: |
16:40 | mk01 | the is vanilla function rendergui(true/false) which is causing Render() ((in main thread)) to return immediatelly |
16:41 | mk01 | I added additional wrapper standbyscreen() |
16:41 | mk01 | and this is called from within udevmonitor or cecmonitor |
16:42 | mk01 | ((udev on disconnect/connect events, cec on active/inactive events)) |
16:42 | mk01 | so whenever Kodi has _inactive_ output (harware wise or even just cec wise) |
16:42 | mk01 | rendering doesn't occur |
16:43 | Artox | mk01: that actually sounds pretty horrible to me. I guess kodi devs dont care about screen blanking? (e.g. x11, screensaver?) |
16:44 | mk01 | Artox: I really never digged into x11 part, so I can't tell here. |
16:44 | Artox | I see |
16:45 | Artox | because I'd imagine bnoth x11 and windows would benefit from pausing a renderthread when screen is blank |
16:45 | Artox | and I mean real pausing, not the while(true) continue; |
16:47 | mk01 | Artox: ehm, Kodi's design is NOT event based on in the main thread (Process()) |
16:48 | Artox | Oh ;/ |
16:48 | Artox | *Thats* bad |
16:48 | Artox | on the other hand |
16:49 | Artox | I dont think its too hard to listen for one event |
16:49 | Artox | on java I'd do synchronized(BlankListener) { while(BlankListener.isBlanked()) BlankListener.wait(); }; |
16:49 | Artox | just in the middle of any mainloop |
16:50 | Artox | .wait() is so nice to actually pause the thread |
16:50 | jnettlet | well I guess in theory most tv's should provide cec events when you switch off the input |
16:51 | mk01 | jnettlet: yes, this is why one call to renderegui(false) is going from CEC (active/inactive/standby events) |
16:52 | jnettlet | mk01, yeah so really what we want to do then is stop rendering, which you are doing, but also to blank the fbdev. |
16:52 | jnettlet | that will save us power while not in use. |
16:54 | mk01 | jnettlet: yes, this is no problem. I can add call from the wrapping standbyscreen() to egl->showwindow(false) |
16:54 | jnettlet | cool, that will also then take effect if you choose blank screen as the screen saver mode |
16:55 | jnettlet | unfortunately I don't think we can get wakeup events from CEC, so using suspend to RAM isn't an immediate option. |
16:55 | jnettlet | I need to open a question in the community forum to figure that out. |
16:56 | jnettlet | mk01, I would also recommend you set /sys/class/scsi_host/host0/link_power_management_policy to min_power in your distro. This saves another 60+ mA's about 20% at idle. |
16:57 | jnettlet | this should work fine, it only breaks S/R which we can't use. |
16:57 | mk01 | .... stupid question - what is S/R ? |
16:58 | jnettlet | suspend resume |
16:58 | mk01 | ah sure ok |
16:58 | jnettlet | I haven't figured out if CEC events can wake the cpu. so far I don't think so, but I may be missing something. The docs are contradicting. |
16:59 | jnettlet | but until we get that working, we can. blank the screen, put the sata in low power, and then suspend the disk and get our idle power usage below 1Watt |
16:59 | jnettlet | which is not bad |
17:00 | mk01 | hmm I have to get a power usage meter .... |
17:00 | mk01 | have one , but it has only USB A connectors |
17:01 | mk01 | so can't hook it up between new microUSB connectors supplying power |
17:01 | mk01 | did you got FEC on magicpacket to wake CPU up ? |
17:02 | mk01 | re 'did you GET' |
17:03 | jnettlet | mk01, I haven't tested it yet. I assumed it worked. |
17:03 | mk01 | ok, will retest again |
17:03 | jnettlet | I did get SmartEEE stable. Haven't had any link drops in 2 days. |
17:03 | jnettlet | that also saves another 60-80mA for gigabit connections |
17:04 | mk01 | last time I spent some hours on that, I got kernel & board to nicelly suspend and wakeup (on timed event) |
17:04 | mk01 | but never via FEC |
17:04 | mk01 | (((and double checked that the driver has the proper code /patches))) |
17:05 | jnettlet | well if you S/R with Sata plugged in then it works but you still draw a lot of power. Still at about 120mA's |
17:05 | jnettlet | without Sata you can get down to 50mA |
17:10 | mk01 | jnettlet: regarding the black screensaver triggering the whole render savings: |
17:11 | jnettlet | yep |
17:11 | mk01 | ((just thinking how to tell it shortly)) |
17:12 | mk01 | - I will retest the hooks again (I only recently reverted the code which was managing screensaver in the context of cec/hdmi/blanking events). |
17:13 | jnettlet | oh there were hooks. okay I can look through your branch |
17:13 | mk01 | reverted mine own commit after the new mxc-hdmi commits |
17:13 | mk01 | problem is the screensaver code in general in kodi is overly complicated |
17:14 | mk01 | (to my taste) |
17:14 | jnettlet | yep ether-wake doesn't work at all. |
17:15 | mk01 | and as we changed the mxc hdmi and some mine other changes - I was simply looping sleeping / waking process over and over |
17:16 | mk01 | but for sure it makes sense - only need to look on the process from the top again |
17:17 | jnettlet | mk01, and I think I have a bunch of performance issues sorted and just need to clean up the code. |
17:17 | mk01 | I was managing that from inside the wrapper snadbyscreen(), but perhaps I will just (as is from udevm and cec) add calls back to it from screensaver code (after checking it is set to BLACK) |
17:17 | mk01 | jnettlet: btw I have not forgotten about the re-submit of codecimx cleanup/update |
17:18 | mk01 | just realised that Koying reposted own PR from April |
17:18 | jnettlet | the problem is that for de-interlacing and other scaling/cropping etc concerning VPU -> IPU we need to use the VPU's special tiled formats and then pass them over the VDOA to handle and make ready for the IPU to display |
17:19 | jnettlet | using this fastpath will keep de-interlaced content from slowing down once the gui is displayed. |
17:19 | mk01 | that PR is completely repositioning the IMX relevant code to other files / parts - and I don't want to rehunk all the code now and then again in a week |
17:20 | jnettlet | okay. Once you get that sorted let me know and I will base my stuff on top of yours. |
17:20 | mk01 | ok |
17:20 | jnettlet | I also don't have time for re-implementing things 2-3 times |
17:20 | mk01 | ok so agreed |
17:21 | mk01 | inbetween I will sort out the black screensaver |
17:22 | mk01 | then rebase the code, squash commits regarging the renderer<>screen stuff we discussed and send you links. that you can take look or easy re-use |
17:22 | jnettlet | I will take a look at the ethernet magic-packet problem. Maybe that is the same problem as the CEC wakeups |
17:22 | jnettlet | cool thanks |
17:23 | jnettlet | mk01, this might not effect you much because I believe you only use the VPU for decoding, but I did find that at 352Mhz the VPU was unstable while encoding. |
17:23 | jnettlet | so I have dropped it down to 327Mhz and both encoding and decoding seem happy. |
17:26 | mk01 | jnettlet: i have seen that in logs and even responded ;) |
17:27 | mk01 | yes, I just reverted the one line from you commit back as it was (change of clk_parent for vpu happens only if vpu352=1). |
17:27 | mk01 | so I kept the parent like you changed it , just it want happen unconditionally |
17:28 | mk01 | want = wont |
17:28 | jnettlet | I pushed the change. Basically nothing else uses that 352pfd, so you can just change the rate of it. |
17:29 | mk01 | wait will fetch your tree |
17:31 | jnettlet | oh, that reminds me. I think I still want to clock down the iMX6S/DL to 305Mhz |
17:40 | mk01 | (just looking at clk-imx6 how looks the code now) |
17:41 | mk01 | ok I see so unconditional change to 352pfd, 327mhz unconditional and 352 if vpu352=1 - and you consider 327->305, right ? |
17:42 | jnettlet | mk01, just pushed the patch for the imx6S/SL to 305...really 306.5 |
17:43 | jnettlet | I think those clockings all make sense. |
17:46 | mk01 | I changed the original vpu352 patch to be no CONFIG_ parameter but kernel cmd line parameter - so I was rather not touching the default setup for now (as user could always just put vpu352=1 into kernel boot params (so user's responsibility). I was a bit scary to follow or the clock changes - maybe you remember the one FSL patch which set quite insane clock for gpu2d core. |
17:46 | mk01 | and I have the feeling the code is still valid in FSL trees :-/ |
17:47 | jnettlet | it is. I have fixed it in my clock tree |
17:48 | jnettlet | I don't like how they do 352mhz support. it is dumb and pointless. Not using the 352pfd makes no sense at all. |
18:04 | mk01 | we are all humans, I suppose. ... (but sure to miss this clean solution and mis-use 396pfd, re-clock it... specially when other clocks depends on it too - is illogical) |
18:05 | mk01 | I see some new commit around FEC as well. (so to be clear, when I was trying the wakeup last time,,, it was long before that) |
18:08 | mk01 | (((with extra patching from some vanilla tree commits adding wakeup awareness to FEC - so don't be hunting ghosts - I will just retest during weekend))) |
18:10 | mk01 | ad "mmc: core: Don't fail UHS transition if host max_current fails." I had this issue on 4.1.y too, and wanted you ask about that. but you sorted this out I see |
22:00 | vpeter | jnettlet: Can you set in your kernel config for openelec also CONFIG_SENSORS_GPIO_FAN=m ? |
22:03 | vpeter | About openelec: I assume some packages must be upgraded to use with this kernel? |