linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Chen, Tiejun" <tiejun.chen@intel.com>
To: jon.baker@viasat.com, linux-pci@vger.kernel.org
Cc: "Gogineni, Naveen" <Naveen.Gogineni@viasat.com>
Subject: Re: PCI rescan issue
Date: Fri, 20 Jun 2014 10:25:37 +0800	[thread overview]
Message-ID: <53A39BA1.4050606@intel.com> (raw)
In-Reply-To: <53A2E395.5010702@viasat.com>


On 2014/6/19 21:20, Jon Baker wrote:
>
> On 06/19/2014 03:14 AM, Chen, Tiejun wrote:
>> On 2014/6/19 9:33, Jon Baker wrote:
>>> I am trying to find a solution to a Linux PCI rescan problem.
>>>
>>> I have CentOS 6.5
>>>
>>>     [jbaker@server0 ~]$ uname -a
>>>     Linux server0 2.6.32-431.5.1.el6.x86_64 #1 SMP Wed Feb 12 
>>> 00:41:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> I have an Altera FPGA PCIe protoboard I am trying to test in a TYAN 
>>> FT77A-B7059.
>>>
>>> We are trying to solve some hotplug/FPGA reload issues; when we 
>>> reload the FPGA the PCI interface reloads confusing linux pci code.
>>>
>>> After bootup the board is seen by the kernel; lscpi shows Altera 
>>> FPGA PCIe protoboard settings and config space.  We can load our 
>>> driver and all is well.
>>>
>>> When we reload the FPGA lscpi display shows all "ff" for config 
>>> space.  As
>>
>> Are you saying all values in the config space are 0xff? If yes, this 
>> mean the vendor/device ids are invalid, so I'm just curious how OS 
>> identify this device, and you really can see that with lspci?
>>
>> Tiejun
> Yes.
>
> After system power up (case where everything works expected):
>
>     $ lspci -vvv -xx -s 13:00.0
>     13:00.0 Non-VGA unclassified device: Device 1b83:f002 (rev 01)
>             Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV-
>     VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>             Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
>     >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>             Latency: 0, Cache Line Size: 64 bytes
>             Interrupt: pin A routed to IRQ 11
>             Region 0: Memory at dcc00000 (32-bit, non-prefetchable)
>     [size=256K]
>             Region 1: Memory at dcb00000 (32-bit, non-prefetchable)
>     [size=1M]
>             Capabilities: <access denied>
>     00: 83 1b 02 f0 06 00 10 00 01 00 00 00 10 00 00 00
>     10: 00 00 c0 dc 00 00 b0 dc 00 00 00 00 00 00 00 00
>     20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>     30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 00 00
>
>
> After FPGA reload:
>
>     $ lspci -vvv -xx -s 13:00.0
>     13:00.0 Non-VGA unclassified device: Device 1b83:f002 (rev ff)
>     (prog-if ff)
>             !!! Unknown header type 7f
>     00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>     10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>     20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>     30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>

Looks you rescan directly with any first remove action. But seems you 
can't find your device again after you remove that firstly. So firstly 
you need to check if the host and device support hotplug before you 
validate hotplug feature.

If rescan manually, you may need to check if the link is established 
before rescan. If yes, probably the FPGA doesn't response any read 
config from bus actually, so all value are 0xff. You can use PCIE 
analyzer to check this.

Tiejun

      parent reply	other threads:[~2014-06-20  2:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-19  1:33 PCI rescan issue Jon Baker
2014-06-19  4:25 ` Yijing Wang
     [not found]   ` <53A2E71D.9060208@viasat.com>
2014-06-20  1:23     ` Yijing Wang
2014-06-19  7:14 ` Chen, Tiejun
     [not found]   ` <53A2E395.5010702@viasat.com>
2014-06-20  2:25     ` Chen, Tiejun [this message]

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=53A39BA1.4050606@intel.com \
    --to=tiejun.chen@intel.com \
    --cc=Naveen.Gogineni@viasat.com \
    --cc=jon.baker@viasat.com \
    --cc=linux-pci@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).