e9hack wrote: > Oliver Endriss schrieb: > > Jukka Pirinen wrote: > >> As workaround I commented out initialisation of CI interface, that's not > >> a problem because I don't have CI. > >> > >> diff budget-av.c.orig budget-av.c > >> 1175c1175 > >> < ciintf_init(budget_av); > >> --- > >>> //ciintf_init(budget_av); > > > > Could you please try to find out, why the CI thread is causing high > > load? You might start checking the values of ca->delay and ca->wakeup > > before wait_event_interruptible_timeout(). > > > > Sorry, I can't do this. I don't have budget-av hardware. > > It may be a problem of saa7146_wait_for_debi_done(). Without a CI/CAM, every debi read/write request > ends with an error. In this case, SPCI_DEBI_S will never go low. Yep, this might be a problem. But it is surprising that this issue was never detected before. If DEBI_S ever goes high, it will never be reset. Afaics there is no direct way to reset this bit. (A new debi command should reset it, though.) > Most of the debi requests are done with an spinlock held. None of the debiread/write accesses in budget-av uses locks, which is probably a bug. See the other thread. > Saa7146_wait_for_debi_done() polls for 250msec the PSR. Possible, this is the > reason for the high load. Usually, saa7146_wait_for_debi_done() can bail out earlier, > if SPCI_DEBI_E is set. Some debiread/write calls in budget-av use busy-waiting. For testing it might be worth to set the last parameter of the debiread/write calls to 1 (nobusyloop). > saa7146_wait_for_debi_done() is also used by the TT-FF cards. During the booting of the ARM, > this cards need the timeout/wait after a debi error. Could you please explain why the FF card needs this timeout? CU Oliver -- ---------------------------------------------------------------- VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/ ---------------------------------------------------------------- _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb