Re: [regression] Force hard reset of Renesas uPD72020x USB controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2017-09-19 at 19:32 +0100, Marc Zyngier wrote:
> On Mon, Sep 18 2017 at  3:01:32 pm BST, Albert Weichselbraun <albert@
> weichselbraun.net> wrote:
> > On Mon, 2017-09-18 at 12:46 +0100, Marc Zyngier wrote:
> > > On 18/09/17 09:49, Albert Weichselbraun wrote:
> > > > Hi Marc,
> > > > 
> > > > 100% ack
> > > > - Booting with a kernel that does not do a PCI reset yields the
> > > >   following topology:
> > > > 
> > > > <snip cmd="lspci -vt">
> > > > -[0000:00] -
> > > >  +-00.0  Intel Corporation 2nd Generation Core Processor Family
> > > > DRAM
> > > >          Controller
> > > >  +-02.0  Intel Corporation 2nd Generation Core Processor Family
> > > >          Integrated Graphics Controller
> > > >  +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > MEI
> > > >          Controller #1
> > > >  +-19.0  Intel Corporation 82579LM Gigabit Network Connection
> > > >  +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > USB
> > > >          Enhanced Host Controller #2
> > > >  +-1b.0  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > High
> > > >          Definition Audio Controller
> > > >  +-1c.0-[02]--
> > > >  +-1c.1-[03]----00.0  Intel Corporation Centrino Advanced-N
> > > > 6205
> > > >                       [Taylor Peak]
> > > >  +-1c.3-[05-0c]----00.0  Renesas Technology Corp. uPD720202 USB
> > > > 3.0
> > > >                          Host Controller
> > > >  +-1c.4-[0d]----00.0  Ricoh Co Ltd MMC/SD Host Controller
> > > >  +-1d.0  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > USB
> > > >          Enhanced Host Controller #1
> > > >  +-1f.0  Intel Corporation QM67 Express Chipset Family LPC
> > > > Controller
> > > >  +-1f.2  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > 6
> > > > port
> > > >          SATA AHCI Controller
> > > >  \-1f.3  Intel Corporation 6 Series/C200 Series Chipset Family
> > > > SMBus
> > > >          Controller
> > > > </snip>
> > > > 
> > > > Unplugging and replugging the card (regardless of the kernel
> > > > version)
> > > > or booting with a kernel that does the reset leads to the card
> > > > not
> > > > being correctly recognized and the problems I have observed.
> > > 
> > > Hmmm. Just to make sure I understand you correctly:
> > > 
> > > With a non-reset kernel: if you boot *without* the card inserted,
> > > but
> > > insert it at a later time, the card is unusable? If that's the
> > > case,
> > > that's quite unexpected too...
> > 
> > This is exactly what is happening when booting with a non-reset
> > kernel.
> > If you insert the card at a later time it is unusable and the
> > system
> > starts to behave sluggish. 
> > There is also not a single line logged in /var/log/kern.log.
> > 
> > Once the card is removed everything is back to normal.
> 
> Right. So that's just a new version of an existing problem. The issue
> is
> that the new reset behaves like an eject/insert sequence as far as
> the
> card is concerned, and this triggers a pre-existing issue.
> 
> That's not to say that we should ignore your report, but I think we
> should try to fix the root cause, which is that your ExpressCard
> bridge
> and your car don't seem to like each other very much. Has this been
> ever
> reported on the PCI mailing list?

I concur with your assessment. Based on your suggestion, I did some
additional testing which yielded the following insights:

 a) the card works out of the box with an HP Elitebook 8460p.
 
 b) disabling the PCI express power management in the Lenovo X220's
    BIOS resolves the reported issue (the card work with all tested
    kernels (with/without reset); even hotplug works).

 c) with none-reset kernels it is possible to force a dysfunctional
    card (i.e., a card that has been removed and inserted again) to
    active mode by executing 
       echo 1 > /sys/bus/pci/slots/1/power 
    multiple times.

    Depending on whether this forced power-on works the kernel will log
    the following messages:
    - https://weichselbraun.net/tmp/force-power-failed.log
    - https://weichselbraun.net/tmp/force-power-succeeded.log

What we might see is the PCI express power management sending the slot
to stand-by before the card is fully initialized. In addition it also
seems to ignore a newly inserted card. 
=> I will send a report to the PCI mailing list.

Cheers,
  Albert :)

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux