linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Sean O. Stalley" <sean.stalley@intel.com>
To: Martin Mares <mj@ucw.cz>
Cc: David Daney <ddaney.cavm@gmail.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, David Daney <david.daney@cavium.com>
Subject: Re: [PATCH v3] Add lspci support for Enhanced Allocation Capability.
Date: Tue, 22 Dec 2015 09:33:33 -0800	[thread overview]
Message-ID: <20151222173333.GA3301@sean.stalley.intel.com> (raw)
In-Reply-To: <mj+md-20151222.152501.98524.nikam@ucw.cz>

[-- Attachment #1: Type: text/plain, Size: 859 bytes --]

On Tue, Dec 22, 2015 at 04:26:02PM +0100, Martin Mares wrote:
> 
> I will merge this soon.
> 
> Could you please provide a hex dump of a config space with this
> capability? (See the test cases in pciutils/tests/.)

Attached is a hex dump from a QEMU model using EA entries in leiu of BARs.

I also attached the output of lspci, so you can see how the Region fields are displayed.
Note that EA memory regions get tagged as [virtual].

I attached 2 outputs to show the truncation case I was talking about [1].
lt_size is the output when (x < 1024) is used in show_size(),
whereas mod_size is the output when (x % 1024) is used.

Thanks for taking a look,
Sean


[1]
diff mod_size lt_size
8c8
< 	Region 0: [virtual] Memory at 80000000 (32-bit, non-prefetchable) [size=131076]
---
> 	Region 0: [virtual] Memory at 80000000 (32-bit, non-prefetchable) [size=128K]

[-- Attachment #2: mod_size --]
[-- Type: text/plain, Size: 1114 bytes --]

00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
	Subsystem: Red Hat, Inc QEMU Virtual Machine
	Physical Slot: 4
	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
	Interrupt: pin A routed to IRQ 11
	Region 0: [virtual] Memory at 80000000 (32-bit, non-prefetchable) [size=131076]
	Region 1: I/O ports at 0a00 [size=68]
	Capabilities: [40] Enhanced Allocation (EA): NumEntries=2
		Entry 0: Enable+ Writable- EntrySize=2
			 BAR Equivalent Indicator: BAR 0
			 PrimaryProperties: memory space, non-prefetchable
			 SecondaryProperties: entry unavailable for use, PrimaryProperties should be used
			 Base: 80000000
			 MaxOffset: 00020003
		Entry 1: Enable+ Writable- EntrySize=2
			 BAR Equivalent Indicator: BAR 1
			 PrimaryProperties: I/O space
			 SecondaryProperties: entry unavailable for use, PrimaryProperties should be used
			 Base: 00000a00
			 MaxOffset: 00000043
	Kernel driver in use: e1000


[-- Attachment #3: lt_size --]
[-- Type: text/plain, Size: 1112 bytes --]

00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
	Subsystem: Red Hat, Inc QEMU Virtual Machine
	Physical Slot: 4
	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
	Interrupt: pin A routed to IRQ 11
	Region 0: [virtual] Memory at 80000000 (32-bit, non-prefetchable) [size=128K]
	Region 1: I/O ports at 0a00 [size=68]
	Capabilities: [40] Enhanced Allocation (EA): NumEntries=2
		Entry 0: Enable+ Writable- EntrySize=2
			 BAR Equivalent Indicator: BAR 0
			 PrimaryProperties: memory space, non-prefetchable
			 SecondaryProperties: entry unavailable for use, PrimaryProperties should be used
			 Base: 80000000
			 MaxOffset: 00020003
		Entry 1: Enable+ Writable- EntrySize=2
			 BAR Equivalent Indicator: BAR 1
			 PrimaryProperties: I/O space
			 SecondaryProperties: entry unavailable for use, PrimaryProperties should be used
			 Base: 00000a00
			 MaxOffset: 00000043
	Kernel driver in use: e1000


[-- Attachment #4: cap-ea --]
[-- Type: text/plain, Size: 925 bytes --]

00:04.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
00: 86 80 0e 10 07 01 10 00 03 00 00 02 00 00 00 00
10: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 f4 1a 00 11
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 00 00
40: 14 00 02 00 02 00 ff 80 00 00 00 80 00 00 02 00
50: 12 02 ff 80 00 0a 00 00 40 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


      reply	other threads:[~2015-12-22 17:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 22:15 [PATCH v3] Add lspci support for Enhanced Allocation Capability David Daney
2015-12-17  0:55 ` Sean O. Stalley
2015-12-23  0:24   ` David Daney
2015-12-22 15:26 ` Martin Mares
2015-12-22 17:33   ` Sean O. Stalley [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=20151222173333.GA3301@sean.stalley.intel.com \
    --to=sean.stalley@intel.com \
    --cc=bhelgaas@google.com \
    --cc=david.daney@cavium.com \
    --cc=ddaney.cavm@gmail.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=mj@ucw.cz \
    /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).