Linux-USB Archive on lore.kernel.org
 help / color / Atom feed
From: Pawel Laszczak <pawell@cadence.com>
To: Roger Quadros <rogerq@ti.com>, Pavel Machek <pavel@denx.de>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"felipe.balbi@linux.intel.com" <felipe.balbi@linux.intel.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbergsagel@ti.com" <jbergsagel@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	Jayshri Dajiram Pawar <jpawar@cadence.com>,
	Rahul Kumar <kurahul@cadence.com>,
	Anil Joy Varughese <aniljoy@cadence.com>
Subject: RE: [PATCH v10 0/6] Introduced new Cadence USBSS DRD Driver.
Date: Thu, 8 Aug 2019 04:12:09 +0000
Message-ID: <BYAPR07MB47095895491CFD211EE9E051DDD70@BYAPR07MB4709.namprd07.prod.outlook.com> (raw)
In-Reply-To: <93b4a702-227b-0410-a414-76873088ad72@ti.com>

Hi Roger,

>
>
>On 23/07/2019 07:32, Pawel Laszczak wrote:
>
>> Hi,
>
>>
>
>>> On Mon 2019-07-22 13:56:44, Pavel Machek wrote:
>
>>>> Hi!
>
>>>>
>
>>>>>>>> This patch introduce new Cadence USBSS DRD driver to linux kernel.
>
>>>>>>>>
>
>>>>>>>> The Cadence USBSS DRD Controller is a highly configurable IP Core which
>
>>>>>>>> can be instantiated as Dual-Role Device (DRD), Peripheral Only and
>
>>>>>>>> Host Only (XHCI)configurations.
>
>>>>>>>
>
>>>>>>> I see you are using debugfs to select between DRD, peripheral-onlyh and XHCI...
>
>>>>>>>
>
>>>>>>> Is that good idea?
>
>>>>>>
>
>>>>>> Yes driver allows selecting dr_mode by debugfs. Controller also support such functionality
>
>>>>>> so I don't understand why would it not be a good idea.
>
>>>>>>
>
>>>>>> I personally use this for testing but it can be used to limit controller functionality without
>
>>>>>> recompiling kernel.
>
>>>>>
>
>>>>> debugfs is ONLY for debugging, never rely on it being enabled, or
>
>>>>> mounted, on a system in order to have any normal operation happen.
>
>>>>>
>
>>>>> So for testing, yes, this is fine.  If this is going to be the normal
>
>>>>> api/interface for how to control this driver, no, that is not acceptable
>
>>>>> at all.
>
>>>>
>
>>>> It makes a lot of sense for end-user to toggle this... for example
>
>>>> when he is lacking right cable for proper otg detection. As it is
>
>>>> third driver offering this functionality, I believe we should stop
>
>>>> treating it as debugging.
>
>>>
>
>>> At least renesas usb controller seems to have variables in sysfs:
>
>>> drivers/phy/renesas/phy-rcar-gen3-usb2.c : functions role_show and
>
>>> role_store. See also
>
>>> Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2 .
>
>>>
>
>>> I believe this driver should do same.
>
>>>
>
>>
>
>> CDNS3 driver use the role framework and also has such variable defined
>
>> in role switch framework.
>
>>
>
>> https://urldefense.proofpoint.com/v2/url?u=https-
>3A__elixir.bootlin.com_linux_latest_source_drivers_usb_roles_class.c&d=DwICaQ&c=aUq983L2pue2FqKFoP6PGHMJQyoJ7kl3s3GZ-
>_haXqY&r=e1OgxfvkL0qo9XO6fX1gscva-w03uSYC1nIyxl89-rI&m=_jBsEOB3gtoQVvsVk8k2Pz8dp9zhzZbbL4M0tINJLR8&s=mq5ce-d4Td-
>lc3OvcvektfSHhXPAL2Go2gWP-q9QwTY&e=
>

The meaning is little different. Role switch framework allow to changing role [ host -> device, device -> host ]

The debugfs.c allows to limit dr_mode. 

>
>Can we get rid of the debugfs interface for user initiated role change and just
>
>rely on role switch framework via sysfs?
>
>
>
>We do need user initiated role changes in production systems. So we can't
>
>rely on debugfs for this.

But I assume that in production systems this will be disabled. 
cdns3-$(CONFIG_DEBUG_FS)		+= debugfs.o

I think that I understand your concerns. My idea was not to expand the supported 
dr_mode. Rather I wanted to have possibility to limit this (only for testing). 

Eg. 
If  cdns->dr_mode = USB_DR_MODE_OTG
then we can limit mode to HOST or DEVICE or DRD
if cdns->dr_mode == USB_DR_MODE_HOST || 
   cdns->dr_mode == USB_DR_MODE_PERIPHERAL) 
then driver can't change anything

It allows me for testing some functionality using only single board 
and even with lacking right cable for proper otg detection. 

So, removing this can cause that testing some functionality 
will  be limited on my boards.

If you rely want to remove this, maybe we could do this 
after putting this driver to kernel ?.  

Maintaining this as my internal code before putting this driver 
to kernel will be problematic.

Regards,
Pawell



  reply index

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-21 18:32 Pawel Laszczak
2019-07-21 18:32 ` [PATCH v10 1/6] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2019-07-21 18:32 ` [PATCH v10 2/6] usb:common Separated decoding functions from dwc3 driver Pawel Laszczak
2019-07-21 19:05   ` Joe Perches
2019-07-21 20:45     ` Alan Stern
2019-07-21 20:54       ` Joe Perches
2019-07-22 10:06     ` Pawel Laszczak
2019-07-22 11:49       ` gregkh
2019-07-21 18:32 ` [PATCH v10 3/6] usb:common Patch simplify usb_decode_set_clear_feature function Pawel Laszczak
2019-07-21 19:07   ` Joe Perches
2019-07-22 10:12     ` Pawel Laszczak
2019-07-21 18:32 ` [PATCH v10 4/6] usb:common Simplify usb_decode_get_set_descriptor function Pawel Laszczak
2019-07-21 18:32 ` [PATCH v10 5/6] usb:cdns3 Add Cadence USB3 DRD Driver Pawel Laszczak
2019-07-31  3:36   ` Pawel Laszczak
2019-08-07 12:08   ` Roger Quadros
2019-08-11 11:59     ` Pawel Laszczak
2019-08-12  8:45       ` Roger Quadros
2019-08-12  9:43         ` Pawel Laszczak
2019-08-12 10:31           ` Heikki Krogerus
2019-08-12 11:05             ` Roger Quadros
2019-08-12 12:46               ` Felipe Balbi
2019-08-12 13:04                 ` Roger Quadros
2019-08-13  5:15                   ` Felipe Balbi
2019-08-13  7:30                   ` Chunfeng Yun
2019-08-13  7:48                     ` Roger Quadros
2019-08-13  8:50                       ` Chunfeng Yun
2019-08-12 10:05       ` Roger Quadros
2019-08-12 11:10         ` Pawel Laszczak
2019-08-14 13:32   ` Roger Quadros
2019-08-15  6:10     ` Felipe Balbi
2019-08-19  8:20     ` Pawel Laszczak
2019-08-14 13:38   ` Roger Quadros
2019-08-14 14:30     ` Pawel Laszczak
2019-08-15 11:22   ` Roger Quadros
2019-08-19 10:30     ` Pawel Laszczak
2019-08-19 10:59       ` Roger Quadros
2019-08-23  8:53   ` Vignesh Raghavendra
2019-08-23  9:39     ` Pawel Laszczak
2019-08-26  2:16   ` Peter Chen
2019-08-26  7:53     ` Pawel Laszczak
2019-07-21 18:32 ` [PATCH v10 6/6] usb:cdns3 Fix for stuck packets in on-chip OUT buffer Pawel Laszczak
2019-07-21 19:03 ` [PATCH v10 0/6] Introduced new Cadence USBSS DRD Driver Pavel Machek
2019-07-22  9:58   ` Pawel Laszczak
2019-07-22 11:48     ` gregkh
2019-07-22 11:56       ` Pavel Machek
2019-07-22 12:11         ` gregkh
2019-07-22 12:11         ` Pawel Laszczak
2019-07-22 21:00         ` Pavel Machek
2019-07-23  4:32           ` Pawel Laszczak
2019-08-07 11:05             ` Roger Quadros
2019-08-08  4:12               ` Pawel Laszczak [this message]
2019-08-09 10:36                 ` Roger Quadros
2019-08-09 10:44                   ` Felipe Balbi
2019-08-13  8:22                 ` Pavel Machek
2019-08-15 12:12 ` Roger Quadros
2019-08-15 14:39   ` Alan Stern
2019-08-19 12:08     ` Roger Quadros
2019-08-19 14:19       ` Alan Stern
2019-08-21  9:54         ` Roger Quadros

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BYAPR07MB47095895491CFD211EE9E051DDD70@BYAPR07MB4709.namprd07.prod.outlook.com \
    --to=pawell@cadence.com \
    --cc=aniljoy@cadence.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbergsagel@ti.com \
    --cc=jpawar@cadence.com \
    --cc=kurahul@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=pavel@denx.de \
    --cc=rogerq@ti.com \
    --cc=sureshp@cadence.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-USB Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \
		linux-usb@vger.kernel.org linux-usb@archiver.kernel.org
	public-inbox-index linux-usb


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb


AGPL code for this site: git clone https://public-inbox.org/ public-inbox