Re: [git patches] IDE updates (part 2)

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Alan Cox <alan@...>
Cc: Linus Torvalds <torvalds@...>, <linux-ide@...>, <linux-kernel@...>
Date: Saturday, October 13, 2007 - 4:59 pm

On Saturday 13 October 2007, Alan Cox wrote:

Hi Alan,

Comment in pmac_ide_init_hwif_ports() is highly misleading as this function
returns early only for "normal" IDE PCI devices (pmac_ide_init_hwif_ports()
can be called outside ide-pmac driver through ppc_ide_md).

static int __devinit
pmac_ide_pci_attach(struct pci_dev *pdev, const struct pci_device_id *id)
{
...
	pmif = &pmac_ide[i];
...
	pmif->regbase = (unsigned long) base + 0x2000;
...
	rc = pmac_ide_setup_device(pmif, hwif);
...
}

static int
pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
{
...
	pmac_ide_init_hwif_ports(&hwif->hw, pmif->regbase, 0, &hwif->irq);
...
}

void
pmac_ide_init_hwif_ports(hw_regs_t *hw,
			      unsigned long data_port, unsigned long ctrl_port,
			      int *irq)
{
...
	for (ix = 0; ix < MAX_HWIFS; ++ix)
		if (data_port == pmac_ide[ix].regbase)
			break;
---> since pmif->regbase was set earlier ix will be < MAX_HWIFS
	if (ix >= MAX_HWIFS) {
		/* Probably a PCI interface... */
		for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; ++i)
			hw->io_ports[i] = data_port + i - IDE_DATA_OFFSET;
		hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
		return;
	}

	for (i = 0; i < 8; ++i)
		hw->io_ports[i] = data_port + i * 0x10;
---> ctl register base will be set here
	hw->io_ports[8] = data_port + 0x160;
...
}

Bart
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sat Oct 13, 12:25 pm)
Re: [git patches] IDE updates (part 2), Al Viro, (Sat Oct 13, 8:12 pm)
Re: [git patches] IDE updates (part 2), Jeff Garzik, (Thu Oct 25, 2:05 am)
Re: [git patches] IDE updates (part 2), Russell King, (Tue Oct 16, 11:55 am)
Re: [git patches] IDE updates (part 2), Jeff Garzik, (Mon Oct 15, 3:54 pm)
Re: [git patches] IDE updates (part 2), Russell King, (Mon Oct 15, 3:58 pm)
Re: [git patches] IDE updates (part 2), Jeff Garzik, (Mon Oct 15, 4:07 pm)
Re: [git patches] IDE updates (part 2), Russell King, (Wed Oct 24, 8:38 am)
Re: [git patches] IDE updates (part 2), Jeff Garzik, (Wed Oct 24, 8:53 am)
Re: [git patches] IDE updates (part 2), Russell King, (Wed Oct 24, 9:12 am)
Re: [git patches] IDE updates (part 2), Jeff Garzik, (Wed Oct 24, 9:20 am)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sun Oct 14, 12:21 pm)
Re: [git patches] IDE updates (part 2), Alan Cox, (Sat Oct 13, 3:56 pm)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sat Oct 13, 4:59 pm)
Re: [git patches] IDE updates (part 2), Alan Cox, (Sat Oct 13, 5:44 pm)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sat Oct 13, 6:09 pm)
Re: [git patches] IDE updates (part 2), Alan Cox, (Sat Oct 13, 6:29 pm)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sat Oct 13, 6:41 pm)
Re: [git patches] IDE updates (part 2), Benjamin Herrenschmidt, (Sat Oct 13, 8:08 pm)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Sun Oct 14, 12:07 pm)
Re: [git patches] IDE updates (part 2), Benjamin Herrenschmidt, (Sun Oct 14, 5:15 pm)
Re: [git patches] IDE updates (part 2), Bartlomiej Zolnierkiewicz..., (Tue Oct 16, 3:41 pm)