pci_resource_end() changed problem with 2.6.14

Geoff Levand geoffrey.levand at am.sony.com
Sat Nov 5 06:08:19 EST 2005


Geoff Levand wrote:
> Benjamin Herrenschmidt wrote:
> 
>>On Thu, 2005-11-03 at 19:55 -0800, Geoff Levand wrote:
>>
>>
>>>I found that the serial port probe code in drivers/serial/8250_pci.c 
>>>no longer works properly for ppc64 in 2.6.14.  It seems the value 
>>>returned by pci_resource_len() on ppc64 changed from 8 to 16 since 
>>>2.6.13.  I tested on a PC and pci_resource_len() returns 8 as 
>>>expected.
>>>
>>
>>Interesting... What does an lspci -vv shows for the BARs of the PCI
>>card ? Also, what do you have in /proc/device-tree  ? What is the
>>machine precisely ?
>>
>>2.6.14 now uses the OF device-tree to generate the linux PCI tree
>>instead of going directly to PCI probing. It's possible that this is
>>causing your problem if for some reason, the BAR sizing done by OF ends
>>up being different than what the kernel does ...
>>
> 
> 
> Sorry, I should have mentioned it, this is on my PowerMac G5 with a 
> generic 8250 serial PCI card (StarTech PCI4S550N).  Here's what lspci 
> gives me:
> 
> 0001:05:03.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
>         Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card)
>         Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>         Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>         Interrupt: pin A routed to IRQ 53
>         Region 0: I/O ports at f4000050 [size=16]
>         Region 1: I/O ports at f4000040 [size=16]
>         Region 2: I/O ports at f4000030 [size=16]
>         Region 3: I/O ports at f4000020 [size=16]
>         Region 4: I/O ports at f4000010 [size=16]
>         Region 5: I/O ports at f4000000 [size=16]
> 
> It could be the change to using the OF device-tree.  What's an easy way to 
> see the size OF has used?
> 

OK, from the OF prompt I can list the properties, and I see 
assigned-addresses has a length of 16.

I think to change the the OF device tree parsing defeats the 
purpose of the using the OF device tree, so I'll look into making 
the serial port probe routine more clever.

-Geoff




More information about the Linuxppc64-dev mailing list