Re: Checking PCIe generation in driver code

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

 



On Fri, Jul 4, 2014 at 5:35 PM, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
> On 3 July 2014 22:06, Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
>> I'm dealing with Broadcom devices and it appears I need to know if the
>> current PCIe device is Gen 1 or Gen 2. This is because they have
>> slightly different registers:
>> #define PCI_BAR0_WIN2 0xac
>> #define PCIE2_BAR0_WIN2 0x70
>>
>> Is there a way to know that? I keep starring at struct pci_dev, but
>> can't see "generation" field. Tried Googling, but couldn't find
>> anything.
>
> I've noticed that my 14e4:4360 card (PCIe Gen2) has:
> LNKCAP: 0x0046DC12 (hint: PCI_EXP_LNKCAP_SLS_5_0GB)
>
> Some older card 14e4:4359 (PCIe 1) has:
> LNKCAP: 0x00176811 (hint: PCI_EXP_LNKCAP_SLS_2_5GB)
>
> Wikipedia says 500 MB/s was added in PCIe 2.0.
>
> Could I check for this bit to determine if I'm dealing PCIe 2.0 card?

No, I think you should use the device ID to differentiate between the
register layouts.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux