linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [git patches] IDE updates (part 2)
Date: Sat, 13 Oct 2007 22:59:53 +0200	[thread overview]
Message-ID: <200710132259.53574.bzolnier@gmail.com> (raw)
In-Reply-To: <20071013205618.3ddc91e9@the-village.bc.nu>

On Saturday 13 October 2007, Alan Cox wrote:
> On Sat, 13 Oct 2007 18:25:24 +0200
> Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> 
> > 
> > Hi,
> > 
> > highlights of this update:
> > 
> > * Rework of IDE PMAC host driver: bugfixes, removal of the code
> >   duplicated from the IDE core and conversion to use the generic
> >   DMA tuning code path (the rework cuts ide-pmac.c by ~200 LOC).
> 
> Reading the current driver from the git tree I don't see how the PCI
> driver ever sets the ctl register base. It seems to always be set to zero
> which means you can't issue SRST and reset sequences ?

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

  reply	other threads:[~2007-10-13 20:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-13 16:25 [git patches] IDE updates (part 2) Bartlomiej Zolnierkiewicz
2007-10-13 19:56 ` Alan Cox
2007-10-13 20:59   ` Bartlomiej Zolnierkiewicz [this message]
2007-10-13 21:44     ` Alan Cox
2007-10-13 22:09       ` Bartlomiej Zolnierkiewicz
2007-10-13 22:29         ` Alan Cox
2007-10-13 22:41           ` Bartlomiej Zolnierkiewicz
2007-10-14  0:08             ` Benjamin Herrenschmidt
2007-10-14 16:07               ` Bartlomiej Zolnierkiewicz
2007-10-14 21:15                 ` Benjamin Herrenschmidt
2007-10-16 19:41                   ` Bartlomiej Zolnierkiewicz
2007-10-14  0:12 ` Al Viro
2007-10-14 16:21   ` Bartlomiej Zolnierkiewicz
2007-10-15 19:54   ` Jeff Garzik
2007-10-15 19:58     ` Russell King
2007-10-15 20:07       ` Jeff Garzik
2007-10-24 12:38         ` Russell King
2007-10-24 12:53           ` Jeff Garzik
2007-10-24 13:12             ` Russell King
2007-10-24 13:20               ` Jeff Garzik
2007-10-16 15:55   ` Russell King
2007-10-25  6:05   ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710132259.53574.bzolnier@gmail.com \
    --to=bzolnier@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).