From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224BK28tREj621TMR1WH87Gobn+sJB4TH/9jG3O87+F9pfMirq2n7hMYqNjiAx1XaVmI0aGW ARC-Seal: i=1; a=rsa-sha256; t=1517233937; cv=none; d=google.com; s=arc-20160816; b=PbcuimxGm0cz4hd21AB2+aw7ES81tEK/GQXepzFh1uS01C3ynQQznaFi7/cENr3wK1 jl1myZMEdqtOzVU2LvR+XEK7qUJCnqcRtM7JW4ZNQk7eGyMwWBuP7RwpCnw0Nwe5j7Lt HDAuznBpyQRu+TI/zCxVlK1YEviIpyyK/l9Yzdaj7va2u9FkXYVRnXu6QcP+MXOvwzVn tTINfs+JCWO9QUChK0UsrQTATmvrkmTideIyZ0ZlFYt9qB+rmQ+/4SZnhbCjqGzvdVbv saYJFVOlAZvpbI5Bxe8ovZYyvNxMGPbZMjJ4yCmeAJk8Ve9og3qbUpwzwH7x/d3hNCVq plSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date :arc-authentication-results; bh=JA/nbj5FKdDzI3fohTAJyXoEaUibhJgpdmJQl+HvGbQ=; b=AurbwS94pN/KoOxZrupszKpzArCCXJZWB6ZEATY7li5G4PsWJnllsOOEQQJxIo8KeH VJNUFDxbb71RdM6cYHfqccGqkvcDjgBrqcSLY2VLuJW4yTy9/AbpoIWKm8DChlOn49aK WLuEdeRP3x14pSEeGL7RzIsT3yB3FWr6Zsp2QGjUig/jhFELAopakF9yxCjW63ih0G3r MCOa0g5ziWk/XNWSjvUmoq8dVjUd3+YZ+lViNKxVSma7dyHwCw7cF7PybwffP/1CTT+H irqcqAoY+h8VqdsaLqVrR3jk/f29C0DPenH9mAR/J19kUNQNs7NNmDw1pXD77pOPbuAQ 0ioA== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 64.30.133.232 is neither permitted nor denied by best guess record for domain of mchehab@s-opensource.com) smtp.mailfrom=mchehab@s-opensource.com Authentication-Results: mx.google.com; spf=neutral (google.com: 64.30.133.232 is neither permitted nor denied by best guess record for domain of mchehab@s-opensource.com) smtp.mailfrom=mchehab@s-opensource.com Date: Mon, 29 Jan 2018 11:51:56 -0200 From: Mauro Carvalho Chehab To: Alan Stern Cc: Linus Torvalds , Ingo Molnar , Josef Griebichler , Greg Kroah-Hartman , USB list , Eric Dumazet , Rik van Riel , Paolo Abeni , Hannes Frederic Sowa , Jesper Dangaard Brouer , linux-kernel , netdev , Jonathan Corbet , LMML , Peter Zijlstra , David Miller , John Youn , Felipe Balbi , Grigor Tovmasyan Subject: Re: dvb usb issues since kernel 4.9 Message-ID: <20180129115139.793774bd@vela.lan> In-Reply-To: <20180126173739.5f581a21@vela.lan> References: <20180126121737.70710f02@vela.lan> <20180126173739.5f581a21@vela.lan> Organization: Samsung X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1587026046171740666?= X-GMAIL-MSGID: =?utf-8?q?1590935092615227015?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: Em Fri, 26 Jan 2018 17:37:39 -0200 Mauro Carvalho Chehab escreveu: > Em Fri, 26 Jan 2018 12:17:37 -0200 > Mauro Carvalho Chehab escreveu: > > > Hi Alan, > > > > Em Mon, 8 Jan 2018 14:15:35 -0500 (EST) > > Alan Stern escreveu: > > > > > On Mon, 8 Jan 2018, Linus Torvalds wrote: > > > > > > > Can somebody tell which softirq it is that dvb/usb cares about? > > > > > > I don't know about the DVB part. The USB part is a little difficult to > > > analyze, mostly because the bug reports I've seen are mostly from > > > people running non-vanilla kernels. > > > > I suspect that the main reason for people not using non-vanilla Kernels > > is that, among other bugs, the dwc2 upstream driver has serious troubles > > handling ISOCH traffic. > > > > Using Kernel 4.15-rc7 from this git tree: > > https://git.linuxtv.org/mchehab/experimental.git/log/?h=softirq_fixup > > > > (e. g. with the softirq bug partially reverted with Linux patch, and > > the DWC2 deferred probe fixed) > > > > With a PCTV 461e device, with uses em28xx driver + Montage frontend > > (with is the same used on dvbsky hardware - except for em28xx). > > > > This device doesn't support bulk for DVB, just ISOCH. The drivers work > > fine on x86. > > > > Using a test signal at the bit rate of 56698,4 Kbits/s, that's what > > happens, when capturing less than one second of data: > > > > $ dvbv5-zap -c ~/dvb_channel.conf "tv brasil" -l universal -X 100 -m -t2dvbv5-zap -c ~/dvb_channel.conf "tv brasil" -l universal -X 100 -m -t2 > > Using LNBf UNIVERSAL > > Universal, Europe > > Freqs : 10800 to 11800 MHz, LO: 9750 MHz > > Freqs : 11600 to 12700 MHz, LO: 10600 MHz > > using demux 'dvb0.demux0' > > reading channels from file '/home/mchehab/dvb_channel.conf' > > tuning to 11468000 Hz > > (0x00) Signal= -33.90dBm > > Lock (0x1f) Signal= -33.90dBm C/N= 30.28dB postBER= 2.33x10^-6 > > dvb_dev_set_bufsize: buffer set to 6160384 > > dvb_set_pesfilter to 0x2000 > > 354.08s: Starting capture > > 354.73s: only read 59220 bytes > > 354.73s: Stopping capture > > > > [ 354.000827] dwc2 3f980000.usb: DWC OTG HCD EP DISABLE: bEndpointAddress=0x84, ep->hcpriv=116f41b2 > > [ 354.000859] dwc2 3f980000.usb: DWC OTG HCD EP RESET: bEndpointAddress=0x84 > > [ 354.010744] dwc2 3f980000.usb: --Host Channel 5 Interrupt: Frame Overrun-- > > ... (hundreds of thousands of Frame Overrun messages) > > [ 354.660857] dwc2 3f980000.usb: --Host Channel 5 Interrupt: Frame Overrun-- > > [ 354.660935] dwc2 3f980000.usb: DWC OTG HCD URB Dequeue > > [ 354.660959] dwc2 3f980000.usb: Called usb_hcd_giveback_urb() > > [ 354.660966] dwc2 3f980000.usb: urb->status = 0 > > [ 354.660992] dwc2 3f980000.usb: DWC OTG HCD URB Dequeue > > [ 354.661001] dwc2 3f980000.usb: Called usb_hcd_giveback_urb() > > [ 354.661008] dwc2 3f980000.usb: urb->status = 0 > > [ 354.661054] dwc2 3f980000.usb: DWC OTG HCD URB Dequeue > > [ 354.661065] dwc2 3f980000.usb: Called usb_hcd_giveback_urb() > > [ 354.661072] dwc2 3f980000.usb: urb->status = 0 > > [ 354.661107] dwc2 3f980000.usb: DWC OTG HCD URB Dequeue > > [ 354.661120] dwc2 3f980000.usb: Called usb_hcd_giveback_urb() > > [ 354.661127] dwc2 3f980000.usb: urb->status = 0 > > [ 354.661146] dwc2 3f980000.usb: DWC OTG HCD URB Dequeue > > [ 354.661158] dwc2 3f980000.usb: Called usb_hcd_giveback_urb() > > [ 354.661165] dwc2 3f980000.usb: urb->status = 0 > > Btw, > > Just in case, I also applied all recent pending dwc2 patches I found at > linux-usb (even trivial unrelated ones) at: > > https://git.linuxtv.org/mchehab/experimental.git/log/?h=dwc2_patches > > No differences. ISOCH is still broken. > > If anyone wants to see the full logs, it is there: > https://pastebin.com/XJYyTwPv Someone pointed me in priv that applying a change at DWC2 BRCM profile to enable uframe_sched might help. So, I wrote this patch: https://git.linuxtv.org/mchehab/experimental.git/commit/?h=v4.15%2bmedia%2bdwc2&id=19abf0026b7bf1bd44aa9d2add9f958935760ded And applied on the top of this branch: https://git.linuxtv.org/mchehab/experimental.git/log/?h=v4.15%2bmedia%2bdwc2 It is based on Kernel 4.15 vanilla. I applied: - all media -next patches that will be sent to Kernel 4.16-rc1; - DWC2 patches submitted by Gregor at linux-usb ML; - Linus softirq test patch: https://git.linuxtv.org/mchehab/experimental.git/commit/?h=v4.15%2bmedia%2bdwc2&id=ccf833fd4a5b99c3d3cf2c09c065670f74a230a7 - A DT patch that enables VCIQ (needed by some GPU drivers): https://git.linuxtv.org/mchehab/experimental.git/commit/?h=v4.15%2bmedia%2bdwc2&id=fd4e9ca6f41d35b6234c30fa29937141e0c09570 - a few debug patches like this one: https://git.linuxtv.org/mchehab/experimental.git/commit/?h=v4.15%2bmedia%2bdwc2&id=f50669c18394f5b5674630e2ebf78a06b023626f I didn't notice any difference. The dwc2 driver is still broken for ISOCH transfers: https://pastebin.com/nL1Fe9X5 Cheers, Mauro