Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933251AbdDENhC (ORCPT ); Wed, 5 Apr 2017 09:37:02 -0400 Received: from fllnx209.ext.ti.com ([198.47.19.16]:54268 "EHLO fllnx209.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932581AbdDENgW (ORCPT ); Wed, 5 Apr 2017 09:36:22 -0400 Subject: Re: [PATCH v4 2/3] Broadcom USB DRD Phy driver for Northstar2 To: Raviteja Garimella References: <1490704052-11314-1-git-send-email-raviteja.garimella@broadcom.com> <1490704052-11314-3-git-send-email-raviteja.garimella@broadcom.com> <8aa2cc42-6fdc-5574-4449-f05f6d5cbd38@ti.com> CC: Rob Herring , Mark Rutland , Ray Jui , Scott Branden , Jon Mason , Catalin Marinas , Will Deacon , , , BCM Kernel Feedback , From: Kishon Vijay Abraham I Message-ID: <5f6d688b-7bbc-7b3c-2be8-fcea7853aae3@ti.com> Date: Wed, 5 Apr 2017 19:04:48 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2172 Lines: 55 Hi Ravi, On Wednesday 05 April 2017 06:30 PM, Raviteja Garimella wrote: > Hi Kishon, > > On Wed, Apr 5, 2017 at 4:30 PM, Kishon Vijay Abraham I wrote: >> Hi, >> >> On Tuesday 28 March 2017 05:57 PM, Raviteja Garimella wrote: >>> This is driver for USB DRD Phy used in Broadcom's Northstar2 >>> SoC. The phy can be configured to be in Device mode or Host >>> mode based on the type of cable connected to the port. The >>> driver registers to extcon framework to get appropriate >>> connect events for Host/Device cables connect/disconnect >>> states based on VBUS and ID interrupts. >> >> $patch should be phy: phy-bcm-ns2-usbdrd: USB DRD Phy driver for Broadcoms >> Northstar2. >> > > Will do. > >> Sorry for not letting you know this earlier. But I feel the design of the >> driver should be changed. Extcon shouldn't be used here. The extcon >> notifications should be sent to the consumer driver and the consumer driver >> should be responsible for invoking the phy ops. >> > > The consumer drivers here would be a UDC driver (USB device > controller), EHCI and OHCI host controller drivers. > I was already suggested in UDC driver review to deal with extcon in Phy driver. > > This phy connects to 2 host controllers, and one device controller. > That's the design in Broadcom Northstar2 > platform. The values of the VBUS and ID pins of this port are > determined based on the type of the cable (device cable > or host cable). And. phy has to be configured accordingly. > >> The phy ops being invoked during extcon events doesn't look right. > > Could you please elaborate on the concern, so that we can think of > mitigating those issues in this driver? > Since we are dealing with phy init/shutdown in this driver itself, are > you okay with moving the extcon handling code > out of phy ops ? yeah, For e.g., ns2_drd_phy_init is part of phy_ops and is being invoked from extcon events too. Can a phy which is initialized by a phy consumer (say your UDC invokes phy_init) can be shutdown by an extcon event? Maybe a clear explanation of when phy_ops here will be invoked and when it will set using extcon events might help. Thanks Kishon