Thread (13 messages) 13 messages, 5 authors, 2004-09-24

Re: NS87415 on C3K broken

From: Grant Grundler <hidden>
Date: 2004-09-16 23:25:33

On Fri, Sep 17, 2004 at 12:50:15AM +0200, Bartlomiej Zolnierkiewicz wrote:
I don't think ide-probe.c changes are the cause of HPMC.

probe_hwif_init() is only called after PCI device is fully setup,
see ide_setup_pci_device().
Sorry - you are right. I overlooked the first line of:
void ide_setup_pci_device (struct pci_dev *dev, ide_pci_device_t *d)
{
        ata_index_t index_list = do_ide_setup_pci_device(dev, d, 1);
...

and only saw the probe_hwif_init() calls that follow.
*sigh*.
ide_setup_pci_controller()
	-> ide_pci_enable()
		-> pci_enable_device()

and ide_setup_pci_controller() is called at the beginning
of ide_setup_pci_device() before ->init_chipset()
Yes - I tracked the pci_enabled_device back to ide_setup_pci_controller().
But I just realized I had another brainfart: ide_setup_pci_controller()
is not ide_setup_pci_device(). I should stop coding late at night...
Ideally this should be done by host drivers
but moving this out of setup-pci.c is non-trivial.
Yes - I reached the same conclusion.
quoted
Anyway, ns87415 driver has more problems. The patch below adds
"init_chipset" entry point and init_chipset_ns87415() calls
pci_enable_device() and pci_set_master() before the probe.
And my C3k still HPMCs. My guess is more of the code from
init_hwif_ns87415() needs to be moved to init_chipset_ns87415().
And possible call some special suckyio init routines.
I won't be able to touch this for a few days.
Anyone else on parisc-linux ml want to take a whack at this?
...
Yep, also if they are to stay please move them to ns87415.c
because using <linux/ide.h> outside drivers/ide is WRONG.
they? superio_ide_init_iops() or something else?
Willy mentioned that as a TODO item and it's on my list.
But I didn't plan on touching that before the HPMC is resolved
or the PCI resource mgt issues are resolved.

thanks for the correction,
grant
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help