I don't know why the scanpci names these bars as BAR2 and 4. Attached is the full output of the scanpci command. It looks like one of the BARs is missing (BAR0 with size of 0x7fffff). BASE4 is the MSI-X vector.
Here the configuration space for this device on the Windows OS:
Common Header:
00: VendorID 17d5
02: DeviceID 5833
04: Command 0546 MemSpaceEn BusInitiate PERREn SERREn
InterruptDis
06: Status 0010 CapList
08: RevisionID 01
09: ProgIF 00
0a: SubClass 00 Ethernet Controller
0b: BaseClass 02 Network Controller
0c: CacheLineSize 0010 BurstDisabled
0d: LatencyTimer 00
0e: HeaderType 00
0f: BIST 80
10: BAR0 d880000c
14: BAR1 00000000
18: BAR2 d87ff00c
1c: BAR3 00000000
20: BAR4 d87fec0c
24: BAR5 00000000
28: CBCISPtr 00000000
2c: SubSysVenID 17d5
2e: SubSysID 6031
30: ROMBAR 00000000
34: CapPtr 40
3c: IntLine 00
3d: IntPin 01
3e: MinGnt 00
3f: MaxLat 00
Device Private:
40: 7e237001 00000000 00000000 00000000
50: 01860005 00000000 00000000 00000000
60: 00000000 0000000f 00000000 00000000
70: 1001a010 10008345 00002034 00112c81
80: 30810000 00000000 00000000 00000000
90: 00000000 0000001f 00000000 00000000
a0: 8043c011 00000002 00000802 00000000
b0: 00000000 00000000 00000000 00000000
c0: 807c5003 00000000 00000000 00000000
d0: 00000000 00000000 00000000 00000000
e0: 00000000 00000000 00000000 00000000
f0: 00000000 00000000 00000000 00000000
Thanks,
Eitan
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, April 22, 2009 10:42 AM
To: Eitan Eliahu
Cc: Gireesh Nagabhushana; [email protected]
Subject: Re: [driver-discuss] OpenSOlaris build 110 - problem with
ddi_regs_map_setup() on x86
I also need the info of other devices, pls sent me the *whole*
result of the "scanpci -v" result. Since [4/0/0] are requesting
8M size MEM space, I want to make sure if such size is available at
its parent bridge or not.
BTW, I saw the device's BASE2/BASE4 are assigned with valid value.
What's the difference between BASE0 and BASE2/BASE4 in the device h/w
spec.
Regards,
Kerry
Eitan Eliahu wrote:
> Please consider only this warning message:
> WARNING: failed to program mem space [4/0/0] b...@0x10 length 0x800000
> For the device 0x5833, bus=0, dev=0 and func=0.
> Thanks,
> Eitan
>
> -----Original Message-----
> From: Eitan Eliahu
> Sent: Wednesday, April 22, 2009 10:26 AM
> To: '[email protected]'; Gireesh Nagabhushana
> Cc: [email protected]
> Subject: RE: [driver-discuss] OpenSOlaris build 110 - problem with
> ddi_regs_map_setup() on x86
>
>
> Hi Kerry,
> Yes, Girresh and I dealing with the same issue.
> Here is the output for the scanpci command on this device:
> pci bus 0x0004 cardnum 0x00 function 0x00: vendor 0x17d5 device 0x5833
> S2io Inc. Device unknown
> CardVendor 0x17d5 card 0x6030 (S2io Inc., Card unknown)
> STATUS 0x0010 COMMAND 0x0046
> CLASS 0x02 0x00 0x00 REVISION 0x01
> BIST 0x80 HEADER 0x00 LATENCY 0x00 CACHE 0x10
> BASE2 0xd8002000 SIZE 4096 MEM PREFETCHABLE
> BASE4 0xd8000100 SIZE 256 MEM PREFETCHABLE
> BASEROM 0x00000000 addr 0x00000000
> MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
> Thank you,
> Eitan
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Wednesday, April 22, 2009 10:23 AM
> To: Eitan Eliahu; Gireesh Nagabhushana
> Cc: [email protected]
> Subject: Re: [driver-discuss] OpenSOlaris build 110 - problem with
> ddi_regs_map_setup() on x86
>
> Could you post the '/usr/X11/bin/scanpci -v' result? And what is your
> device ID?
>
> I saw you mentioned:
> WARNING: failed to program mem space [0/31/3] b...@0x10 length 0x100
> While Gireesh mentioned:
> WARNING: failed to program mem space [4/0/0] b...@0x10 length
0x800000
>
> Are you two talking about same issue or not?
>
> Regards,
> Kerry
>
>
> Eitan Eliahu wrote:
>> We found that whenever the following message is displayed the driver
> fails to read the mapped memory for the first BAR.
>> "WARNING: failed to program mem space [0/31/3] b...@0x10 length 0x100"
>>
>>
>> This warning message is output here:
>>
>
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/intel/
> io/pci/pci_boot.c#2159
>> 2027 base = (uint_t)memlist_find(io_res, len, len);
>> 2028 if (base != 0) {
>> 2029 memlist_insert(io_res_used, base, len);
>> 2030 /* XXX need to worry about 64-bit? */
>> 2031 pci_putl(bus, dev, func, offset,
>> 2032 base | type);
>> 2033 base = pci_getl(bus, dev, func, offset);
>> 2034 base &= PCI_BASE_IO_ADDR_M;
>> 2035 }
>> 2036 if (base == 0) {
>> 2037 cmn_err(CE_WARN, "failed to program"
>> 2038 " IO space [%d/%d/%d] b...@0x%x"
>> 2039 " length 0x%x",
>> 2040 bus, dev, func, offset, len);
>>
>> Thanks,
>> Eitan
pci-device
Description: pci-device
_______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
