<!-- Some styling for better description lists --><style type='text/css'>dt { font-weight: bold;float: left;display:inline;margin-right: 1em} dd { display:block; margin-left: 2em}</style>

   mkrufky: :-)
   mchehab: hi all
   pinchartl: hello
   sailus: <u>hverkuil</u>: Ping?
   hverkuil: sorry, another meeting ran late.
   <br> I'm ready now :-)
   syoung: Hello
   mchehab: anything to be discussed today? :-)
   hverkuil: I'm still catching up from my vacation. Anything urgent I need to look at?
   <br> I plan to do code reviews tomorrow/Monday.
   mkrufky: brad's patch " lgdt3306a: Set fe ops.release to NULL if probed" ...  i havent yet had time to check, but apparantly this is what other drivers do now as well?
   mchehab: I'm currently stuck trying to check the issues on RPi
   mkrufky: ah, i saw that long dvb-usb rpi thread
   mchehab: that patch sounds wrong
   <br> probably indicates a bug somewhere else - or it is a reflex of a bug that was already fixed upstream
   mkrufky: thats what i thought also, at first.
   <br> seems like it's due to this transitional period of multiple attach api's being used
   mchehab: ah
   <br> yeah, makes sense
   <br> we should work to make easier for the new way and get rid of the old i2c low-level binding via dvb_attach()
   hverkuil: <u>FYI</u>: ethernet on the Rpi is broken since 4.15-rc2. They know about that and the easy fix is to revert a patch. Wasted almost a day to figure that out :-(
   mchehab: the real problem here is that now there are lots of duplicated code for every driver converted to the new way
   <br> <u>hverkuil</u>: on 4.15.-rc7, it seems that something got wrong also with USB
   <br> or with DT
   <br> (I suspect the latest)
   hverkuil: <u>mchehab</u>: s/ethernet/USB/
   sailus: <u>mchehab</u>: On the notes from Prague meeting --- I can finish and post them to the list, if that's fine for you.
   hverkuil: (no usb means no ethernet on the rpi)
   mchehab: true
   <br> do you have the patch that should be reverted? people should apply it upstream :-)
   <br> <u>sailus</u>: that would be great!
   hverkuil: <u>mchehab</u>: reverting commit 014d6da6cb2525d7f48fb08c705cb130cc7b5f4a fixes it. There are two competing 'real' fixes, but I don't know which one will go in.
   mchehab: yeah, I was suspecting that 014d6da6cb2525d7f48fb08c705cb130cc7b5f4a was responsible for the breakage
   <br> that's basically one of the DT differences since 4.14
   <br> (the other one adds a bluetooth setting)
   <br> when I installed 4.14 again, I booted, by mistake, 4.15-rc7, and USB worked
   <br> (because it took the DT files from 4.14)
   hverkuil: <u>sailus</u>: thanks for doing the notes, much appreciated.
   mchehab: <u>mkrufky</u>: hverkuil pointed that the DVB mmap API should have a way to detect buffer losses. He actually suggested adding timestamp/buffer counter there...
   sailus: <u>mchehab</u>: I just thought that someone has to do them. There's important material there esp. for those who weren't there.
   mchehab: yeah, sure
   <br> after sleeping it for a while - and investigating the issues with RPi3 - I'm agreeing with hverkuil, although I think we should report it on a different way for DVB
   mkrufky: there is continuity counter inside the payload
   mchehab: on DVB, two things can happen:
   <br> - Kernel can discard a frame due to CRC;
   <br> currently, this is not reported with read() API
   mkrufky: no "frames" in DVB
   <br> a packet?
   <br> 188 bytes?
   mchehab: - userspace can be too slow and ringbuffer may be discarded
   <br> s/discarded/overrided
   <br> this is currently reported by read() interface
   hverkuil: how does read() report that?
   mchehab: basically, dmxdev fills buffer-&gt;error = -EOVERFLOW;
   <br> and, on the next read(), if buffer-&gt;error, instead of filling the buffer, it returns the error code there
   <br> so, it is not really a continuity counter
   <br> just an error "metadata"
   hverkuil: Clear, thank you!
   mchehab: what I'm thinking would be to add, for mmap DQBUF, one "flag" field - currently with just one flag: DVB_BUFFER_OVERFLOW
   <br> and another one "crc_errors" with the number of packets discarded due to CRC errors
   mkrufky: you dont think BUFFER_OVERFLOW as a generic term wont ever be used outside of DVB?
   <br> er, too many double negatives, my bad
   mchehab: as those are metadata, userspace can ignore if they want - or use it - for example, to help indicate that the signal has bad quality
   <br> well, this will be at the DVB-specific DQBUF struct
   mkrufky: is the kernel really checking the CRC on all packets??
   hverkuil: Sorry to jump in, but this is more a discussion for #v4l.
   mchehab: struct dmx_buffer {
   <br> __u32                   index;
   <br> __u32                   bytesused;
   <br> __u32             	offset;
   <br> __u32                   length;
   <br> };
   <br> <u>hverkuil</u>: actually for #linuxtv
   <br> <u>mkrufky</u>: it is optional
   <br> <u>hverkuil</u>: sorry for OOT
   mkrufky: he's probably right
   mchehab: any other things related to patch handling?
   hverkuil: <u>mchehab</u>: when will the merge window close? Linus said there will be an rc8.
   mchehab: *      - %DMX_CHECK_CRC - only deliver sections where the CRC check succeeded;
   hverkuil: I mean the window for 4.16 pull requests.
   mkrufky: yes, i recall this option...  i thought (and hope) it is disabled by default
   mchehab: <u>hverkuil</u>: I don't plan to apply any new driver anymore for 4.16
   pinchartl: <u>mchehab</u>: so if userspace is too slow, the next read() call will return an error, and userspace will then call read() again to continue reading data ? sounds like the way DVB handles slow userspace is to make it even slower, nice :-)
   mchehab: so, if you have new functionality, please postpone for 4.17
   <br> let's now focus on bug fixes and trivial patches
   hverkuil: OK, good to know.
   mchehab: <u>pinchartl</u>: if a loop like while (1) { read(fp) } will have more than one buffer overrun for a buffer that it is usually 1MB, there's something really broken on the machine - DVB won't be the main issue for the user
   mkrufky: +1
   <br> DVB cant be more than ~ 40 MBps per device
   mchehab: actually, ~60MBps
   mkrufky: maybe in the future with different modulations, but for now thats the max
   mchehab: on DVB-S2 and DVB-C
   mkrufky: fine, 60 MBps :-)
   pinchartl: <u>mchehab</u>: of course there should be no overrun in the first place, but I found it funny that the API to handle a buffer overrun, usually caused by a too large processing delay in the application, is to force the application to issue an extra system call. there's some irony in there
   <br> especially now that syscalls have suddently got more expensive with a page table switch *and* a branch predictor invalidation :(
   mkrufky: i agree.   if we were re-writing that API today I'd also want it to be better than this
   pinchartl: s/suddently/suddenly/
   mchehab: yep
   pinchartl: and don't get me wrong, I'm not just blaming DVB, V4L is particularly syscall-heavy
   mchehab: that's a 1997 API
   pinchartl: especially in the setup phase
   mchehab: (both v4l and dvb APIs actually are previous millenium APIs)
   <br> DVB is very light at setup phase
   pinchartl: V4L2 dates from 2002, it was merged in 2.4.0
   <br> V4L1 is from 1999
   <br> so only DVB is a second millenium API I'm afraid :)
   mkrufky: DVB API was previously known as Convergence API before joining the kernel
   <br> but it was the same API
   mchehab: it is a set of improvements over a second millenium API - whose original focus were to support more TV standards
   <br> anyway, the discussion here is funny, but not relevant :-)
   pinchartl: yes :-)
   mkrufky: history of the DVB API is quite interesting, if you know what to search for ... the missing keyword is "convergence"
   pinchartl: (I was clearly not serious about evaluating APIs based on the year they were merged)
   mkrufky: :-P
   mchehab: <u>pinchartl</u>: you probably don't know, but, in the past, some digital TV cards were actually supported by both V4l and DVB APIs
   mkrufky: <u>mchehab</u>: the brad patches that i added my reviewed-by tag are small enough for this merge window.    if you want to hold off on the one (patch 2/9) than Devin had questions about, thats fine ....
   mchehab: xawtv4 still has traces of that time, AFAICT
   mkrufky: or if you just want to wait for my PR i am trying to force myself to have a full dev env set up this weeekend (shame on me)
   <br> ah, mauro is talking about the original pcHDTV patches using those oren demods
   <br> in 2.4.x !!!
   pinchartl: speaking of review, hverkuil, what's your opinion of the request API patches ?
   <br> <u>sailus</u>: same question, how do we move forward ?
   hverkuil: <u>pinchartl</u>: as mentioned above, I plan to do the review tomorrow/Monday, so I know more once I've done that.
   mchehab: <u>mkrufky</u>: yeah, feel free to pull brad's patches
   <br> patch 2/9 require more tests, though
   hverkuil: It's an RFC patch series and not yet using my control framework changes (itself very much RFC), so it is an early version.
   sailus: I took a look some days ago.
   <br> It seems that the basis for these is an old version of the earlier request API patches.
   mchehab: <u>mkrufky</u>: patch 3/9 should be kept together with 2/9
   <br> (maybe even merged together)
   mkrufky: agreed
   hverkuil: <u>pinchartl</u>: did you already post a review? We're talking about the patch series from December 15th, right?
   sailus: I'm not too fond of that as the newer patches have a number of bugs fixed that are now back in the new proposal.
   pinchartl: <u>hverkuil</u>: yes, that one. I haven't yet, no. I should be able to in a few days
   sailus: The work also is evidently geared to support the use case at hand, with little consideration to else.
   pinchartl: <u>sailus</u>: that's my concern too
   <br> it's a codec API, not a request API
   sailus: So that leaves me wondering whether this is the way forward, or whether it'd be better to take the older patches and work based on them.
   <br> I'll go through both sets again, to be able to judge that.
   mchehab: if there are some bug fixes inside it, please send it on a separate patch series to be applied before the actual request/codec API patchset
   sailus: That said, there are some things in the new set that were unaddressed in the old one, too.
   hverkuil: <u>pinchartl</u>: sailus: my understanding is that his patch series is primarily to review the uAPI, and not so much the internals. Since it isn't using my control fw patches yet I suspect the next patch series will likely look quite different.
   mchehab: any other things for discussions?
   hverkuil: not from me.
   pinchartl: not from me either
   mkrufky: nor I
   sailus: <u>mchehab</u>: I'd have a few pull requests for 4.16. Nothing complicated.
   mchehab: <u>sailus</u>: ok, will try to apply likely at the beginning next week
   <br> s/beginning/beginning of the/
   sailus: Obrigado!
   ***: ChanServ sets mode: +v mchehab
   <br> ChanServ sets mode: +v snawrocki
   <br> snawrocki has left "Leaving"