All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Marek Vasut <marex@denx.de>
Cc: u-boot@lists.denx.de, Kevin Hilman <khilman@baylibre.com>,
	Lukasz Majewski <lukma@denx.de>, Simon Glass <sjg@chromium.org>
Subject: Re: [PATCH v3 1/4] cmd: bind: Add unbind command with driver filter
Date: Mon, 31 Jul 2023 16:25:20 +0200	[thread overview]
Message-ID: <20230731162520.3897ba88@xps-13> (raw)
In-Reply-To: <830897a6-d061-f7c8-8f30-7ccc906b53a4@denx.de>

Hi Marek,

marex@denx.de wrote on Mon, 31 Jul 2023 16:08:19 +0200:

> On 7/31/23 15:58, Miquel Raynal wrote:
> > Hi Marek,
> > 
> > marex@denx.de wrote on Mon, 31 Jul 2023 15:50:58 +0200:
> >   
> >> On 7/31/23 15:36, Miquel Raynal wrote:  
> >>> Hi Marek,
> >>>
> >>> marex@denx.de wrote on Mon, 31 Jul 2023 13:44:25 +0200:  
> >>>    >>>> On 7/31/23 11:31, Miquel Raynal wrote:  
> >>>>> Hi Marek,
> >>>>>
> >>>>> marex@denx.de wrote on Sat, 29 Jul 2023 16:57:09 +0200:  
> >>>>>     >>>> Extend the driver core to perform lookup by both OF node and driver  
> >>>>>> bound to the node. Use this to look up specific device instances to
> >>>>>> unbind from nodes in the unbind command. One example where this is
> >>>>>> needed is USB peripheral controller, which may have multiple gadget
> >>>>>> drivers bound to it. The unbind command has to select that specific
> >>>>>> gadget driver instance to unbind from the controller, not unbind the
> >>>>>> controller driver itself from the controller.
> >>>>>>
> >>>>>> USB ethernet gadget usage looks as follows with this change. Notice
> >>>>>> the extra 'usb_ether' addition in the 'unbind' command at the end.
> >>>>>> "
> >>>>>> bind /soc/usb-otg@49000000 usb_ether
> >>>>>> setenv ethact usb_ether
> >>>>>> setenv loadaddr 0xc2000000
> >>>>>> setenv ipaddr 10.0.0.2
> >>>>>> setenv serverip 10.0.0.1
> >>>>>> setenv netmask 255.255.255.0
> >>>>>> tftpboot 0xc2000000 10.0.0.1:test.file
> >>>>>> unbind /soc/usb-otg@49000000 usb_ether
> >>>>>> "
> >>>>>>
> >>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>>>> ---  
> >>>>>
> >>>>> I am no longer getting wrong pointer dereferences, the SPL is working in
> >>>>> recovery mode, TFTP "File not found" errors are no longer a problem and
> >>>>> I did not experience any reset while tftp'ing regular files.
> >>>>>
> >>>>> One last remaining request on my side is the need for using fastboot as
> >>>>> well which does no longer work as-is:  
> >>>>>     >>> => fastboot usb 0  
> >>>>> couldn't find an available UDC
> >>>>> g_dnl_register: failed!, error: -19
> >>>>> exit not allowed from main input shell.
> >>>>>
> >>>>> Can you advise what bind/unbind command would be necessary here?  
> >>>>
> >>>> Either 'unbind usb_ether' or run 'dm tree' -> look up the path to usb_ether in the tree (it will be hanging under usb_peripheral or some such), and then use 'unbind <that path>'.  
> >>>
> >>> Nice `dm tree` command, never used it before.
> >>>
> >>> Even when I unbind usb_ether I still get the same error:  
> >>>    >>> => unbind /ocp/usb@47400000/usb@47401000  
> >>> => fastboot usb 0  
> >>> couldn't find an available UDC
> >>> g_dnl_register: failed!, error: -19
> >>> exit not allowed from main input shell.
> >>>
> >>> Is there a specific gadget driver which I should bind again manually?  
> >>
> >> Can you share the output of dm tree before/after unbind ?
> >>
> >> fastboot should auto-bind to the right thing.  
> > 
> > Ok. Apparently it does not, but I don't have any clue why. If you want
> > me to check something else I will. Here is the output:
> > 
> > U-Boot 2023.07-00806-g979e7443428 (Jul 31 2023 - 11:17:06 +0200)  
> 
> [...]
> 
> >   watchdog      0  [ + ]   omap3_wdt             |   |-- wdt@44e35000
> >   misc          0  [ + ]   ti-musb-wrapper       |   |-- usb@47400000
> >   usb           0  [ + ]   ti-musb-peripheral    |   |   |-- usb@47401000
> >   ethernet      1  [ + ]   usb_ether             |   |   |   `-- usb_ether
> >   bootdev       3  [   ]   eth_bootdev           |   |   |       `-- usb_ether.bootdev
> >   usb           0  [   ]   ti-musb-host          |   |   `-- usb@47401800
> >   ethernet      0  [ + ]   eth_cpsw              |   |-- ethernet@4a100000
> >   bootdev       2  [   ]   eth_bootdev           |   |   `-- ethernet@4a100000.bootdev
> >   simple_bus   67  [   ]   ti_sysc               |   |-- target-module@53100000
> >   simple_bus   68  [   ]   ti_sysc               |   |-- target-module@53500000
> >   simple_bus   69  [   ]   ti_sysc               |   `-- target-module@56000000
> >   clk          62  [   ]   fixed_clock           |-- clk_mcasp0_fixed
> >   bootstd       0  [   ]   bootstd_drv           |-- bootstd
> >   bootmeth      0  [   ]   bootmeth_efi          |   |-- efi
> >   bootmeth      1  [   ]   bootmeth_extlinux     |   |-- extlinux
> >   bootmeth      2  [   ]   bootmeth_pxe          |   |-- pxe
> >   bootmeth      3  [   ]   vbe_simple            |   `-- vbe_simple
> >   timer         0  [ + ]   omap_timer            `-- timer@0  
> > => unbind /ocp/usb@47400000/usb@47401000  
> 
> The commit message of this patch contains the following example:
> unbind /soc/usb-otg@49000000 usb_ether
> so in your case, try
> unbind /ocp/usb@47400000/usb@47401000 usb_ether

Does not work, unfortunately:
=> unbind /ocp/usb@47400000/usb@47401000 usb_ether
Cannot find a device with path /ocp/usb@47400000/usb@47401000
=> unbind /ocp/usb@47400000/usb@47401000          
=>

  reply	other threads:[~2023-07-31 14:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-29 14:57 [PATCH v3 1/4] cmd: bind: Add unbind command with driver filter Marek Vasut
2023-07-29 14:57 ` [PATCH v3 2/4] usb: gadget: ether: Inline functions used once Marek Vasut
2023-07-29 14:57 ` [PATCH v3 3/4] usb: gadget: ether: Move probe function above driver structure Marek Vasut
2023-07-29 14:57 ` [PATCH v3 4/4] usb: gadget: ether: Handle gadget driver registration in probe and remove Marek Vasut
2023-07-31  9:31 ` [PATCH v3 1/4] cmd: bind: Add unbind command with driver filter Miquel Raynal
2023-07-31 11:44   ` Marek Vasut
2023-07-31 13:36     ` Miquel Raynal
2023-07-31 13:50       ` Marek Vasut
2023-07-31 13:58         ` Miquel Raynal
2023-07-31 14:08           ` Marek Vasut
2023-07-31 14:25             ` Miquel Raynal [this message]
2023-07-31 14:40               ` Marek Vasut
2023-08-01 18:53                 ` Miquel Raynal
2023-08-01 23:07                   ` Marek Vasut
2023-08-02  7:48                     ` Miquel Raynal
2023-08-02 14:38                       ` Marek Vasut
2023-08-02 14:42                         ` Miquel Raynal

Reply instructions:

You may reply publicly 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=20230731162520.3897ba88@xps-13 \
    --to=miquel.raynal@bootlin.com \
    --cc=khilman@baylibre.com \
    --cc=lukma@denx.de \
    --cc=marex@denx.de \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.