* Re: [parisc-linux-cvs] grundler
[not found] <199909012302.RAA04035@puffin.external.hp.com>
@ 1999-09-02 8:40 ` Philipp Rumpf
1999-09-02 14:26 ` Philipp Rumpf
0 siblings, 1 reply; 8+ messages in thread
From: Philipp Rumpf @ 1999-09-02 8:40 UTC (permalink / raw)
To: parisc-linux
> Update of /home/cvs/parisc/linux/include/asm-parisc
> In directory puffin.external.hp.com:/tmp/cvs-serv4014/linux/include/asm-parisc
>
> Modified Files:
> pci.h
> Log Message:
> Update GSCtoPCI (Dino) bus adapter support. Have most of the design
> in place and what's my "first cut" implementation.
I don't want to sound aggressive, but I really do not see the point in most
of your changes.
Let's go through them:
- renamed pci_{port,config,bus}_ops to {port,config,bus}_ops.
waste of struct namespace should asm/pci.h be included accidentally
(furthermore it strikes me as strange to have pci_bios_ops, but simply bus_ops.
- typedef unsigned int irq_t;
the type of irqs is defined to be int (not unsigned int) in ABIs we cannot
change if we ever want to see a merged parisc kernel.
- renamed PCI_NUM_BUS to MAX_BUSSES.
I think we really should restrict ourselves to exporting symbols, macros and
other names starting with PCI_ and pci_. (I am aware this may be because it
took me way too long to synch the trees and that this just reflects the rest
of your code).
> Marked lots of stuff with "TODO" - I'll keep whacking at these.
- "** TODO: I don't think we need the "bus" parameter. "dev""
ignoring your comment style ;), it really strikes me as a good idea to keep
the interface in place to support native-to-PCI bridges with more than one
bus on them. It might be a good idea for those not to pass the "relative"
bus number to those instead of the absolute one, but that is just a change
in one spot as opposed to changing an interface and digging through several
drivers.
> Main issues to still be resolved are:
> o GSC device claim - how does dino driver learn about GSC devices
For that we need Alex's code, but it looks very much like we will have a list
of GSC devices like we currently have for PCI on systems where that is the
native bus. Then, you will use gsc_find_device(u16 hversion); and be happy.
> o Registration and handling of interrupts (request_irq() support)
None. The current idea is dino.c registers a region of 32 "virtual" IRQs (i.e.
Linux IRQ cookies, not EIRR bits) and uses do_irq_mask to handle them. Also,
pcibios_fixup will put the right irq cookie numbers in the pci_devices list.
> o How drivers will use I/O port space accessor functions.
> (assumes we won't change them to use MMIO space)
basically,
u8 inb(u32 address) {
return pci_ops[(address>>16)].port.inb(
pci_devs[(address>>16],
(u8) (address>>16) / pci_rel_bus[(address>>16)],
(u16) adress);
}
that looks slow but I hope for the "port accesses are slow anyway" argument
to win.
Philipp Rumpf
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
[not found] <199909012302.RAA04044@puffin.external.hp.com>
@ 1999-09-02 9:08 ` Philipp Rumpf
1999-09-02 14:43 ` Matthew Wilcox
0 siblings, 1 reply; 8+ messages in thread
From: Philipp Rumpf @ 1999-09-02 9:08 UTC (permalink / raw)
To: Grant Grundler, parisc-linux
On Wed, Sep 01, 1999 at 05:02:23PM -0600, grundler@puffin.external.hp.com wrote:
> Update of /home/cvs/parisc/linux/drivers/gecko
> In directory puffin.external.hp.com:/tmp/cvs-serv4014/linux/drivers/gecko
>
> Modified Files:
> dino.c
okay, let's go through the changes here too:
- strange STATIC define with a comment about "performance" kernels.
I don't see the point. Is there one ?
- use of irq_t all over the place
I don't mind this, but it really doesn't matter and just using int has the
advantage of still being able to printk it.
- Dino-specific IRQ management
As far as I am concerned, there is no way I want to have 5 different IRQ
managements in the kernel. It is not needed, the performance loss is minimal,
I don't see any other advantages to it. (I just skipped that code so you don't
get all my complaints)
- #if 0-ing out dino_walk_bus
remove it. we really don't need any #if 0 bodies swimming around our trees.
- check for potentially defect Dino chips
Nothing negative I can say about that
- +** TODO: Dino needs a method to look at and possibly "claim" GSC devices.
it's what you #if 0-ed out. (
struct gsc_dev *dev = gsc_devices;
while(dev = dev->next) {
if(is_dino(dev)) {
blah blah
}
}
).
- split dino init into two parts
I don't see the point.
- changes to dino_config_write_byte aso (renaming them in the process)
Is this for supporting more than one PCI bus via pci-to-pci bridges ?
looks unnecessary to me, but I really don't know
- +** Performance is going to stink if drivers use I/O port instead
+** of MMIO.
This is not Dino-specific.
- use of readb aso instead of gsc_readb aso
gsc_readb is there for a reason.
Philipp Rumpf
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
[not found] <199909012302.RAA04026@puffin.external.hp.com>
@ 1999-09-02 9:12 ` Philipp Rumpf
1999-09-02 17:20 ` Grant Grundler
0 siblings, 1 reply; 8+ messages in thread
From: Philipp Rumpf @ 1999-09-02 9:12 UTC (permalink / raw)
To: Grant Grundler, parisc-linux
> Modified Files:
> pci.c
- removed support for more than one bus
we don't want that, do we ?
- don't see anything else
That's it for today, I promise.
Philipp Rumpf
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
1999-09-02 8:40 ` [parisc-linux-cvs] grundler Philipp Rumpf
@ 1999-09-02 14:26 ` Philipp Rumpf
0 siblings, 0 replies; 8+ messages in thread
From: Philipp Rumpf @ 1999-09-02 14:26 UTC (permalink / raw)
To: parisc-linux
> I don't want to sound aggressive, but I really do not see the point in most
> of your changes.
I really didn't. Honest. Even if the rest of the mails seems to have suggested
so to about everyone who read them.
> the type of irqs is defined to be int (not unsigned int) in ABIs we cannot
APIs. Sorry. Second time today I mix them up. (Actually, this one was the first
time).
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
1999-09-02 9:08 ` Philipp Rumpf
@ 1999-09-02 14:43 ` Matthew Wilcox
0 siblings, 0 replies; 8+ messages in thread
From: Matthew Wilcox @ 1999-09-02 14:43 UTC (permalink / raw)
To: Philipp Rumpf; +Cc: Grant Grundler, parisc-linux
On Thu, Sep 02, 1999 at 11:08:31AM +0200, Philipp Rumpf wrote:
> - use of readb aso instead of gsc_readb aso
>
> gsc_readb is there for a reason.
Let me amplify on this a little. As I understand it, Linus has decreed
that readb/writeb/(etc) shall work on busses which `look like PCI'.
All other busses (zorro, podule, sbus, ...) shall define their own
*_readb/writeb/... functions. People have proposed auto-detecting which
bus is being written to and doing the right thing, but Linus disagrees.
So that's why we have gsc_readb, because GSC looks insufficiently
like PCI. Does this make sense?
--
Matthew Wilcox <willy@bofh.ai>
"Windows and MacOS are products, contrived by engineers in the service of
specific companies. Unix, by contrast, is not so much a product as it is a
painstakingly compiled oral history of the hacker subculture." - N Stephenson
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
1999-09-02 9:12 ` Philipp Rumpf
@ 1999-09-02 17:20 ` Grant Grundler
1999-09-03 11:15 ` Philipp Rumpf
0 siblings, 1 reply; 8+ messages in thread
From: Grant Grundler @ 1999-09-02 17:20 UTC (permalink / raw)
To: Philipp Rumpf; +Cc: parisc-linux
Philipp Rumpf wrote:
> > Modified Files:
> > pci.c
>
> - removed support for more than one bus
Not quite - removed support for more than one type of PCI bus adapter.
PA platforms only support one type of PCI bus adapter at a time.
We could link in more than on PCI bus driver but only one will
ever get used. (At least that's my goal).
> we don't want that, do we ?
Rather we don't need it.
If you want it you can have it. :^)
> That's it for today, I promise.
ditto.
thanks,
grant
Grant Grundler
Communications Infrastructure Computer Operations
+1.408.447.7253
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
1999-09-02 17:20 ` Grant Grundler
@ 1999-09-03 11:15 ` Philipp Rumpf
1999-09-03 16:22 ` Alex deVries
0 siblings, 1 reply; 8+ messages in thread
From: Philipp Rumpf @ 1999-09-03 11:15 UTC (permalink / raw)
To: Grant Grundler; +Cc: parisc-linux
> Not quite - removed support for more than one type of PCI bus adapter.
> PA platforms only support one type of PCI bus adapter at a time.
Sorry ? Alex told me the exact opposite when I asked him and I relied on that.
So: Are there parisc boxen with more than one type of interface to PCI-like
busses ? For example, can I take a Dino-on-a-card card and put it into a box
which does not use Dino as native-to-PCI bridge ?
Philipp Rumpf
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [parisc-linux-cvs] grundler
1999-09-03 11:15 ` Philipp Rumpf
@ 1999-09-03 16:22 ` Alex deVries
0 siblings, 0 replies; 8+ messages in thread
From: Alex deVries @ 1999-09-03 16:22 UTC (permalink / raw)
To: Philipp Rumpf; +Cc: Grant Grundler, parisc-linux
Philipp Rumpf wrote:
> > Not quite - removed support for more than one type of PCI bus adapter.
> > PA platforms only support one type of PCI bus adapter at a time.
>
> Sorry ? Alex told me the exact opposite when I asked him and I relied on that.
I don't *think* I ever said that, but if I did, I was wrong.
> So: Are there parisc boxen with more than one type of interface to PCI-like
> busses ? For example, can I take a Dino-on-a-card card and put it into a box
> which does not use Dino as native-to-PCI bridge ?
And does the dino-on-a-card have it's own IODC on the card?
- Alex
--
Alex deVries
Vice President of Engineering
The Puffin Group
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~1999-09-03 16:06 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <199909012302.RAA04035@puffin.external.hp.com>
1999-09-02 8:40 ` [parisc-linux-cvs] grundler Philipp Rumpf
1999-09-02 14:26 ` Philipp Rumpf
[not found] <199909012302.RAA04044@puffin.external.hp.com>
1999-09-02 9:08 ` Philipp Rumpf
1999-09-02 14:43 ` Matthew Wilcox
[not found] <199909012302.RAA04026@puffin.external.hp.com>
1999-09-02 9:12 ` Philipp Rumpf
1999-09-02 17:20 ` Grant Grundler
1999-09-03 11:15 ` Philipp Rumpf
1999-09-03 16:22 ` Alex deVries
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.