Hi Kerry, Here are some more information: Failure: amd64-based server: Build 105 and above Xeon-based server: Build 104 and above (not tried older versions) But we don't find failure in these cases: SPARC servers (for both S10 and OpenSolaris) amd64/Xeon with S10 U5 Thanks, Gireesh
________________________________ From: Kerry Shu [mailto:[email protected]] Sent: Thu 23-Apr-09 12:19 AM To: Eitan Eliahu Cc: Gireesh Nagabhushana; [email protected] Subject: Re: [driver-discuss] OpenSOlaris build 110 - problem with ddi_regs_map_setup() on x86 Hi Eitan, I know the root cause for this issue now. The parent bridge is also re-programed in pci_autoconfig, but is just assigned with 1M MEM space by default which is less than the requesting 8M MEM size from child [4/0/0]. So [4/0/0] is failed to be reprogrammed. Apr 14 13:58:05 Sol-232 pci_autoconfig: [ID 596873 kern.info] NOTICE: reprogram mem-range on ppb[0/e/0]: 0x80000000 ~ 0x800fffff Apr 14 13:58:05 Sol-232 pci_autoconfig: [ID 516285 kern.warning] WARNING: failed to program mem space [4/0/0] b...@0x10 length 0x800000 I'll sent you a binary to try and file CR accordingly. Stay tuned. Regards, Kerry Eitan Eliahu wrote: > 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
_______________________________________________ driver-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/driver-discuss
