From: Jeff Garzik <jgarzik@pobox.com>
To: Marc Singer <elf@buici.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: VIA SATA not recognizing drives
Date: Wed, 19 May 2004 22:14:38 -0400 [thread overview]
Message-ID: <40AC148E.9090404@pobox.com> (raw)
In-Reply-To: <20040511161237.GB25243@buici.com>
Marc Singer wrote:
> In a cursory overview of libata, here's what stands out in my
> special-needs case.
>
> 1) PIO stands for port-IO which I interpret as register-level IO
> which, I assume, contrasts with task-file or mailbox type IO.
There are two different things known as PIO:
a) x86-style 'IN' and 'OUT' instructions for bus IO
b) data transfer via ATA's Data register. In some bizarre situations
you have PIO over DMA, initiated by MMIO. :)
so be prepared to be confused ;-)
> 2) Libata does have an MMIO mode, nice. My platform is ARM. While
> these calls will work, I have a further requirement that all
> register IO must be followed by the hokey-pokey to work around
> some oddities in the hardware. Yes, I've suggested that they fix
> the problem in hardware. So, how can be make this configurable?
> For me, it is OK that all IDE io would require the hack. In
> other words, even if there were another IDE controller that
> worked properly it would be OK for both to need the hack.
Everything is done via custom hooks you provide, in struct
ata_port_operations.
> 3) If a device has no DMA, how do you plan to handle the data
> transfer? Is this what ata_pio_sector() is doing?
Correct.
> 4) Is ata_piix.c the model?
I don't know your hardware at all, so I cannot say.
All of drivers/scsi/ata_*.c drivers/scsi/sata_*.c are the model :)
> It doesn't really look that tough. The only thing I'm unclear about
> is how to handle read/write with the requisite hokey-pokey.
libata needs a hook for PIO data xfer, since it is currently hardcoded
to use outsl() and insl(). Other than that, existing
ata_port_operations hooks can do that "hokey-pokey".
Jeff
next prev parent reply other threads:[~2004-05-20 2:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-08 19:31 VIA SATA not recognizing drives Marc Singer
2004-05-08 21:29 ` Jeff Garzik
2004-05-09 7:39 ` Marc Singer
2004-05-11 6:54 ` Jeff Garzik
2004-05-11 16:12 ` Marc Singer
2004-05-20 2:14 ` Jeff Garzik [this message]
2004-05-20 2:21 ` Marc Singer
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=40AC148E.9090404@pobox.com \
--to=jgarzik@pobox.com \
--cc=elf@buici.com \
--cc=linux-ide@vger.kernel.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 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.