Re: NewCard / pccbb

2001-08-06 Thread Mike Smith

 I tried your suggestion below, and for some reason its still assigning the
 same interrupt (whichever one I pick) to both the network card and the
 wavelan card, and interstingly enough even if I remove one of them, its
 still trying to get a routeable interrupt and the wavelan still doesnt
 work.  Any way that I can get this thing to give me a straight interrupt
 on all cards without trying to do funny irq routing?

I'm sorry, I'm totally confused here.

In the dmesg output you sent me, the cardbus bridge and ethernet were 
being set up with totally different interrupts by your BIOS; what you're 
saying here is completely inconsistent with that.

I don't know what your problem is.  You're not giving me enough 
information to do anything about it, though, so the situation won't 
improve.

I need the $PIR table and dmesg output FROM THE SYSTEM THAT IS FAILING 
along with any other relevant data, like hardcoded pcic interrupts in 
your loader config, etc.

And no, there's no such thing as a straight interrupt. 

Please, never, ever use doesn't work in an email to me.  Or if I ever 
meet you in person, I will hurt you a very great deal.  Ok?

Tell me *exactly* what you tried, and *exactly* what happened.  If you 
don't remember, go back and do it again, and write it down this time.

I get a lot of email.  I don't have the faintest hope in hell of 
remembering all the details of your problem from one day to the next.
Please keep all your context, and if I delete it from my replies (for 
brevity) just attach it to your next message back, ok?

Regards,
Mike

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
   V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-06 Thread Mike Smith

 In message [EMAIL PROTECTED] lists w
 rites:
 : I tried your suggestion below, and for some reason its still assigning the
 : same interrupt (whichever one I pick) to both the network card and the
 : wavelan card, and interstingly enough even if I remove one of them, its
 : still trying to get a routeable interrupt and the wavelan still doesnt
 : work.  Any way that I can get this thing to give me a straight interrupt
 : on all cards without trying to do funny irq routing?
 
 Unlike the ISA world, it is OK to use the same IRQ in the pci world.
 Of course, Mike will have to say if this is sane considering your PIR table.

The $PIR table is really awful; it basically just says all the standard 
interrupts are available everywhere except the IDE controller and one 
other place.  We need a set of preferential interrupts, I think.

However, I'm missing some other pieces of the picture here, which is 
really pissing me off.  The dmesg output he sent me doesn't relate to 
this at all.

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
   V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-05 Thread Mike Smith

 Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot
 3, below are the dmesg outputs from both oldcard and newcard,

Ok; this is different from the linked dmesg you were showing before, 
and what it's highlighting is the weakness in the algorithm that we use 
for picking an interrupt in the I have no idea what is good case.

Try taking the life is tough loop in sys/i386/pci/pci_cfgreg.c
:pci_cfgintr_virgin() and change it so that it just loops from 11 to 11, 
ie.

for (i = 11; i  12; i++) {
...

I still haven't worked out a good way of dealing with this problem; the 
way we hand out device resources makes it difficult to know in advance 
which interrupts are good choices. 8(

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
   V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-05 Thread lists

Hi Mike,

I tried your suggestion below, and for some reason its still assigning the
same interrupt (whichever one I pick) to both the network card and the
wavelan card, and interstingly enough even if I remove one of them, its
still trying to get a routeable interrupt and the wavelan still doesnt
work.  Any way that I can get this thing to give me a straight interrupt
on all cards without trying to do funny irq routing?

Thanks

Andrew

On Sun, 5 Aug 2001, Mike Smith wrote:

  Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot
  3, below are the dmesg outputs from both oldcard and newcard,
 
 Ok; this is different from the linked dmesg you were showing before, 
 and what it's highlighting is the weakness in the algorithm that we use 
 for picking an interrupt in the I have no idea what is good case.
 
 Try taking the life is tough loop in sys/i386/pci/pci_cfgreg.c
 :pci_cfgintr_virgin() and change it so that it just loops from 11 to 11, 
 ie.
 
   for (i = 11; i  12; i++) {
 ...
 
 I still haven't worked out a good way of dealing with this problem; the 
 way we hand out device resources makes it difficult to know in advance 
 which interrupts are good choices. 8(
 
 -- 
 ... every activity meets with opposition, everyone who acts has his
 rivals and unfortunately opponents also.  But not because people want
 to be opponents, rather because the tasks and relationships force
 people to take different points of view.  [Dr. Fritz Todt]
V I C T O R Y   N O T   V E N G E A N C E
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-05 Thread Warner Losh

In message [EMAIL PROTECTED] lists writes:
: I tried your suggestion below, and for some reason its still assigning the
: same interrupt (whichever one I pick) to both the network card and the
: wavelan card, and interstingly enough even if I remove one of them, its
: still trying to get a routeable interrupt and the wavelan still doesnt
: work.  Any way that I can get this thing to give me a straight interrupt
: on all cards without trying to do funny irq routing?

Unlike the ISA world, it is OK to use the same IRQ in the pci world.
Of course, Mike will have to say if this is sane considering your PIR table.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-04 Thread Mike Smith


Ok, now I need your dmesg again, since it's been trimmed and I've lost 
it.  I also need to know what slots you have things in.  Please don't cut 
the $PIR output off this message when you reply.

Note that your system is something of a pathalogical worst-case; no PCI 
recommended interrupts, all the 'major' interrupts available for each 
slot.  It's not improbable that the table is wrong or buggy too.

 Here we go, the output as requested:
 
 $PIR table at 0x2812f7c0 version 1.0
 PCI interrupt router at 0:3.8 vendor 0x1106 device 0x686
 PCI-only interrupts [ ]
 entry bus slot device
  00:  00   0001  INTA  01  [  3 4 5   7   9 10 11 1214 15]
  INTB  02  [  3 4 5   7   9 10 11 1214 15]
  INTC  03  [  3 4 5   7   9 10 11 1214 15]
  INTD  05  [  3 4 5   7   9 10 11 1214 15]
  01:  00   0007  INTA  fe  [14   ]
  INTB  ff  [   15]
  INTC  03  [  3 4 5   7   9 10 11 1214 15]
  INTD  05  [  3 4 5   7   9 10 11 1214 15]
  02:  00   0109  INTA  02  [  3 4 5   7   9 10 11 1214 15]
  INTB  03  [  3 4 5   7   9 10 11 1214 15]
  INTC  05  [  3 4 5   7   9 10 11 1214 15]
  INTD  01  [  3 4 5   7   9 10 11 1214 15]
  03:  00   0210  INTA  03  [  3 4 5   7   9 10 11 1214 15]
  INTB  05  [  3 4 5   7   9 10 11 1214 15]
  INTC  01  [  3 4 5   7   9 10 11 1214 15]
  INTD  02  [  3 4 5   7   9 10 11 1214 15]
  04:  00   0311  INTA  05  [  3 4 5   7   9 10 11 1214 15]
  INTB  01  [  3 4 5   7   9 10 11 1214 15]
  INTC  02  [  3 4 5   7   9 10 11 1214 15]
  INTD  03  [  3 4 5   7   9 10 11 1214 15]
  05:  00   0012  INTA  01  [  3 4 5   7   9 10 11 1214 15]
  INTB  00  [ ]
  INTC  00  [ ]
  INTD  00  [ ]
 
 
 Thanks
 
 Andrew
 On Fri, 3 Aug 2001, Mike Smith wrote:
 
   Tried the patch, interesting thing, for some reason or other its always
   routing the IRQ to the same IRQ as the realtek network card I have in
   here, and with the patch in (before nothing worked at all on the pccbb),
   now if the network card is in slot0 it doesnt work, and the wavelan does,
   if the wavelan comes first on the pcibus it doesnt work and the network
   card does.  For some reason it always seems to be trying to share an IRQ
   between these 2, any reason for this?
  
  Yeah; that seems to be the way your system's interrupt routing is set up.
  
  Get http://people.freebsd.org/~msmith/pir.c, build and run it and let's 
  look at the output.
  
  -- 
  ... every activity meets with opposition, everyone who acts has his
  rivals and unfortunately opponents also.  But not because people want
  to be opponents, rather because the tasks and relationships force
  people to take different points of view.  [Dr. Fritz Todt]
 V I C T O R Y   N O T   V E N G E A N C E
  
  
  
 

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
   V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-04 Thread lists

Hi Mike, ok my pci-pcmcia bridge is in slot 0, my network card is in slot
3, below are the dmesg outputs from both oldcard and newcard,

Thanks

Andrew

Newcard dmesg:

Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #16: Sat Aug  4 11:09:22 SAST 2001
[EMAIL PROTECTED]:/usr/obj/usr/src/sys/VORTEXIA
Timecounter i8254  frequency 1193182 Hz
Timecounter TSC  frequency 851941527 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (851.94-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0x686  Stepping = 6

Features=0x383f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
real memory  = 125763584 (122816K bytes)
avail memory = 116891648 (114152K bytes)
Preloaded elf kernel kernel at 0xc046f000.
Pentium Pro MTRR support enabled
Using $PIR table, 6 entries at 0xc00f77c0
npx0: math processor on motherboard
npx0: INT 16 interface
pcib0: Host to PCI bridge at pcibus 0 on motherboard
pci0: PCI bus on pcib0
pcib1: PCI-PCI bridge at device 1.0 on pci0
pci1: PCI bus on pcib1
pci1: display, VGA at 0.0 (no driver attached)
isab0: PCI-ISA bridge at device 7.0 on pci0
isa0: ISA bus on isab0
atapci0: VIA 82C686 ATA100 controller port 0xffa0-0xffaf at device 7.1
on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: serial bus, USB at 7.2 (no driver attached)
pci0: serial bus, USB at 7.3 (no driver attached)
pci0: serial bus, SMBus at 7.4 (no driver attached)
pci0: multimedia, audio at 7.5 (no driver attached)
pccbb0: TI1410 PCI-CardBus Bridge at device 9.0 on pci0
pccbb0: PCI Memory allocated: 4400
pci_cfgintr_virgin: using routable interrupt 3
pci_cfgintr: 0:9 INTA routed to irq 3
cardbus0: Cardbus bus (newcard) on pccbb0
pccard0: 16-bit PCCard bus on pccbb0
rl0: RealTek 8139 10/100BaseTX port 0xc800-0xc8ff mem
0xdf00-0xdfff irq 12 at device 11.0 on pci0
rl0: Realtek 8139B detected. Warning, this may be unstable in autoselect
mode
rl0: Ethernet address: 00:50:bf:3f:bb:9d
miibus0: MII bus on rl0
rlphy0: RealTek internal media interface on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
orm0: Option ROM at iomem 0xc-0xcbfff on isa0
atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0
atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
fdc0: NEC 72065B or clone at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1440-KB 3.5 drive on fdc0 drive 0
ppc0: Parallel port at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
plip0: PLIP network interface on ppbus0
lpt0: Printer on ppbus0
lpt0: Interrupt-driven port
ppi0: Parallel I/O on ppbus0
sc0: System console at flags 0x100 on isa0
sc0: VGA 16 virtual consoles, flags=0x300
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sn0: ioaddr is 0x300
sn0: test1 failed
vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0
sc1: System console on isa0
sc1: MDA 16 virtual consoles, flags=0x0
WARNING: Driver mistake: repeat make_dev(consolectl)
vga1: Generic ISA VGA at port 0x3b0-0x3bb iomem 0xb-0xb7fff on isa0
unknown: PNP0303 can't assign resources
unknown: PNP0501 can't assign resources
unknown: PNP0501 can't assign resources
unknown: PNP0401 can't assign resources
unknown: PNP0700 can't assign resources
IP packet filtering initialized, divert enabled, rule-based forwarding
enabled, default to accept, logging disabled
IP Filter: v3.4.20 initialized.  Default = pass all, Logging = enabled
ad0: DMA limited to UDMA33, non-ATA66 compliant cable
ad0: 19546MB FUJITSU MPG3204AT E [39714/16/63] at ata0-master UDMA33
acd0: CDROM CD-ROM 52X/AKH at ata0-slave PIO4
Mounting root from ufs:/dev/ad0s1a
pccbb0: card inserted: event=0x0006, state=1411
pccard0: chip_socket_enable
pccbb_pcic_socket_enable:
pccbb0: pccbb_power: CARD_VCC_0V and CARD_VPP_0V [44]
pccbb0: pccbb_power: CARD_VCC_5V and CARD_VPP_VCC [15]
pccbb0: pccbb_pcic_wait_ready: status 0x6f
pccbb0: card type is mem
pccard0: read_cis
pccbb_pcic_mem_map window 0 bus 44001000+400+bbfff000 card addr 0
pccbb_pcic_do_mem_map window 0: 8001 8001 3fff 44
(44001000+0400.1000*bbfff000)
pccbb_pcic_do_mem_map window 0: 8001 8001 7fff 44
(44001000+0400.1000*bbfff000)
cis mem map d46c5000
pccard0: CIS tuple chain:
CISTPL_DEVICE type=null speed=null
 01 03 00 00 ff
CISTPL_DEVICE_A type=sram speed=ext
 17 04 67 5a 08 ff
unhandled CISTPL 1d
 1d 05 01 67 5a 08 ff
CISTPL_VERS_1
 15 50 05 00 4c 75 63 65 6e 74 20 54 65 63 68 6e
 6f 6c 6f 67 69 65 73 00 57 61 76 65 4c 41 4e 2f
 49 45 45 45 00 56 65 72 73 69 6f 6e 20 30 31 2e
 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00 ff
CISTPL_MANFID
 20 04 56 01 02 

Re: NewCard / pccbb

2001-08-03 Thread Warner Losh

: wi0: WaveLan/IEEE at port 0x100-0x13f irq 3 function 0 config 1 on
: pccard0
: 
: Could that irq sharing be breaking something?  

It could also be that the pccard interrupt routing code (in
src/sys/dev/pccard/pccard.c) is busted.  If you look at it:

static void
pccard_intr(void *arg)
{
struct pccard_softc *sc = (struct pccard_softc *) arg;
struct pccard_function *pf;
STAILQ_FOREACH(pf, sc-card.pf_head, pf_list) {
if (pf-intr_handler != NULL) {
int reg = pccard_ccr_read(pf, PCCARD_CCR_STATUS);
if (reg  PCCARD_CCR_STATUS_INTR) {
pccard_ccr_write(pf, PCCARD_CCR_STATUS,
reg  ~PCCARD_CCR_STATUS_INTR);
pf-intr_handler(pf-intr_handler_arg);
}
}
}
}

But if you look at the pccard stnadard, you'll find that the
PCCARD_CCR_STATUS_INTR bit is only defined for MFC cards.  So, try the
following:

static void
pccard_intr(void *arg)
{
struct pccard_softc *sc = (struct pccard_softc *) arg;
struct pccard_function *pf;
STAILQ_FOREACH(pf, sc-card.pf_head, pf_list) {
if (pf-intr_handler != NULL) {
pf-intr_handler(pf-intr_handler_arg);
}
}
}

in its place.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-03 Thread Michael Reifenberger

Hi,
BTW the pir output for a TECRA8000 looks like:

$PIR table at 0x3812a1e0 version 1.0
PCI interrupt router at 0:2.8 vendor 0x8086 device 0x122e
PCI-only interrupts [ ]
entry bus slot device
 00:  00   0011  INTA  60  [   11]
 INTB  61  [   11]
 INTC  00  [ ]
 INTD  00  [ ]
 01:  00   0009  INTA  62  [   11]
 INTB  00  [ ]
 INTC  00  [ ]
 INTD  00  [ ]
 02:  00   0004  INTA  62  [   11]
 INTB  63  [   11]
 INTC  00  [ ]
 INTD  00  [ ]
 03:  00   0013  INTA  63  [   11]
 INTB  00  [ ]
 INTC  00  [ ]
 INTD  00  [ ]
 04:  00   0005  INTA  00  [ ]
 INTB  00  [ ]
 INTC  00  [ ]
 INTD  63  [   11]
 05:  00   0106  INTA  62  [   11]
 INTB  63  [   11]
 INTC  60  [   11]
 INTD  61  [   11]

Bye!

Michael Reifenberger
^.*Plaut.*$, IT, R/3 Basis, GPS


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: NewCard / pccbb

2001-08-03 Thread Mike Smith

 Tried the patch, interesting thing, for some reason or other its always
 routing the IRQ to the same IRQ as the realtek network card I have in
 here, and with the patch in (before nothing worked at all on the pccbb),
 now if the network card is in slot0 it doesnt work, and the wavelan does,
 if the wavelan comes first on the pcibus it doesnt work and the network
 card does.  For some reason it always seems to be trying to share an IRQ
 between these 2, any reason for this?

Yeah; that seems to be the way your system's interrupt routing is set up.

Get http://people.freebsd.org/~msmith/pir.c, build and run it and let's 
look at the output.

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
   V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message