Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754018AbbKQQNj (ORCPT ); Tue, 17 Nov 2015 11:13:39 -0500 Received: from mail-yk0-f175.google.com ([209.85.160.175]:35936 "EHLO mail-yk0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751458AbbKQQNh (ORCPT ); Tue, 17 Nov 2015 11:13:37 -0500 MIME-Version: 1.0 In-Reply-To: References: Date: Tue, 17 Nov 2015 08:13:36 -0800 X-Google-Sender-Auth: D8eq4nUuG81IBPPb7BO8HM3yOjI Message-ID: Subject: Re: [PATCH v2 1/2] usb: dwc2: host: Fix missing device insertions From: Doug Anderson To: Alan Stern Cc: Felipe Balbi , John Youn , Yunzhi Li , =?UTF-8?Q?Heiko_St=C3=BCbner?= , "open list:ARM/Rockchip SoC..." , Julius Werner , "Herrero, Gregory" , "Kaukab, Yousaf" , Dinh Nguyen , John Youn , Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2440 Lines: 57 Alan, On Tue, Nov 17, 2015 at 7:40 AM, Alan Stern wrote: > On Mon, 16 Nov 2015, Doug Anderson wrote: > >> > Fundamentally there's no difference between a "connect" interrupt and a >> > "disconnect" interrupt. They should both do exactly the same things: >> > clear the interrupt source, post a "connection change" event, and set >> > the driver's connect status based on the hardware's current state. >> > The second and third parts can be handled by a shared subroutine. >> >> Ah, sorry I misunderstood. OK, fair enough. So you're saying that >> the problem is that dwc2_hcd_disconnect() has a line that looks like >> this: >> >> hsotg->flags.b.port_connect_status = 0; >> >> ...and the dwc2_port_intr() has a line that looks like this: >> >> hsotg->flags.b.port_connect_status = 1; >> >> ...and both should just query the status. > > Well, I don't know how the driver uses flags.b.port_connect_status. In > principle it could do away with that flag completely and always query > the hardware status. > >> Do you think we should to block landing this patch on cleaning up how >> dwc2 handles port_connect_status? I'm not sure what side effects >> changing port_connect_status will have, so I'll need to test and dig a >> bit... >> >> I'm currently working on trying to fix the microframe scheduler and >> was planning to post the next series of patches there pretty soon. >> I'm also planning to keep digging to figure out how to overall >> increase compatibility with devices (and compatibility with many >> devices plugged in). >> >> If it were up to me, I'd prefer to land this patch in either 4.4 or >> 4.5 since it does seem to work. ...then put seeing what we can do to >> cleanup all of the port_connect_status on the todo list. > > It's up to you guys. All I've been doing here is pointing out that > your proposed approach didn't seem like the best. Thanks! Just wanted to make sure you know that I'm very very appreciative of your reviews and suggestions here. Having someone intimately familiar with how other USB host drivers work that's willing to point out how dwc2 can do things better will be very helpful in helping dwc2 grow. -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/