* 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 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
[parent not found: <199909012302.RAA04044@puffin.external.hp.com>]
* 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 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
[parent not found: <199909012302.RAA04026@puffin.external.hp.com>]
* 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 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.