<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/ata/libata-sff.c, branch linux-2.6.23.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-09-20T19:58:26Z</updated>
<entry>
<title>libata-sff: Fix documentation</title>
<updated>2007-09-20T19:58:26Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2007-09-20T14:03:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1cc9de8361f267101402a1181cff4d3d3225a6d'/>
<id>urn:sha1:e1cc9de8361f267101402a1181cff4d3d3225a6d</id>
<content type='text'>
Code moved to ioread/iowrite but the comment didn't
Also note a posting issue

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata-sff; Unbreak non DMA capable controllers again</title>
<updated>2007-08-01T14:00:56Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2007-07-26T17:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6fdc99a224bd52020c602c3d4d57e5f8a75f6bb8'/>
<id>urn:sha1:6fdc99a224bd52020c602c3d4d57e5f8a75f6bb8</id>
<content type='text'>
Seems nobody else is checking/testing this case as it keeps getting
horked.

If we have no BAR4 mapping on an SFF controller this is *NOT* an error,
it just means it isn't doing BMDMA.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>[libata] Fix reported task file values in sense data</title>
<updated>2007-07-20T11:44:44Z</updated>
<author>
<name>Petr Vandrovec</name>
</author>
<published>2007-07-20T11:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe36cb53cfd82f3c0796a0826e1c9caf198c8f97'/>
<id>urn:sha1:fe36cb53cfd82f3c0796a0826e1c9caf198c8f97</id>
<content type='text'>
ata_tf_read was setting HOB bit when lba48 command was submitted, but
was not clearing it before reading "normal" data.  As it is only place
which sets HOB bit in control register, and register reads should not
be affected by other bits, let's just clear it when we are done with
reading upper bytes so non-48bit commands do not have to touch ctl
at all.

pata_scc suffered from same problem...

Signed-off-by: Petr Vandrovec &lt;petr@vandrovec.name&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>Correct comment in libata-sff.c</title>
<updated>2007-07-20T11:16:24Z</updated>
<author>
<name>Dave Jones</name>
</author>
<published>2007-07-16T15:23:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f3a03b0934fb83a030ccd3e6f1fbe845a9c44d49'/>
<id>urn:sha1:f3a03b0934fb83a030ccd3e6f1fbe845a9c44d49</id>
<content type='text'>
The filename in the file header is incorrect.

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: simplify PCI legacy SFF host handling</title>
<updated>2007-07-11T01:27:09Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-04T09:02:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d583bc18812f8da52bf25eef9cd111e5fd46a6ab'/>
<id>urn:sha1:d583bc18812f8da52bf25eef9cd111e5fd46a6ab</id>
<content type='text'>
With PCI resource fix up for legacy hosts.  We can use the same code
path to allocate IO resources and initialize host for both legacy and
native SFF hosts.  Only IRQ requesting needs to be different.

Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all
legacy specific functions and use the renamed functions instead.  This
simplifies code a lot.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: fix assigned IRQ reporting</title>
<updated>2007-07-03T14:06:35Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-07-02T16:38:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4031826b3ca40982880f6b9f2282c7d7fad60d77'/>
<id>urn:sha1:4031826b3ca40982880f6b9f2282c7d7fad60d77</id>
<content type='text'>
host-&gt;irq and host-&gt;irq2 should be set before ata_host_register() for
IRQ reporting to work.  Move up host-&gt;irq assignment in
ata_host_activate() and add it to ata_pci_init_one() native path and
pata_cs5520.

The port info printing in ata_host_register() doesn't fit all the
different controllers.  It should probably be moved out to LLDs with
some helpers in the future.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata-core/sff: Fix multiple assumptions about DMA</title>
<updated>2007-06-10T02:40:28Z</updated>
<author>
<name>Alan Cox</name>
</author>
<published>2007-06-07T15:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d92e74d353345d19f762e9501a50b0a5f43f7ba8'/>
<id>urn:sha1:d92e74d353345d19f762e9501a50b0a5f43f7ba8</id>
<content type='text'>
The ata IRQ ack functions are only used when debugging. Unfortunately
almost every controller that calls them can cause crashes in some
configurations as there are missing checks for bmdma presence.

In addition ata_port_start insists of installing DMA buffers and pad
buffers for controllers regardless. The SFF controllers actually need to
make that decision dynamically at controller setup time and all need the
same helper - so we add ata_sff_port_start. Future patches will switch
the SFF drivers to use this.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: clean up SFF init mess</title>
<updated>2007-05-11T22:09:18Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-05-04T10:43:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1626aeb881236c8cb022b5e4ca594146a951d669'/>
<id>urn:sha1:1626aeb881236c8cb022b5e4ca594146a951d669</id>
<content type='text'>
The intention of using port_mask in SFF init helpers was to eventually
support exoctic configurations such as combination of legacy and
native port on the same controller.  This never became actually
necessary and the related code always has been subtly broken one way
or the other.  Now that new init model is in place, there is no reason
to make common helpers capable of handling all corner cases.  Exotic
cases can simply dealt within LLDs as necessary.

This patch removes port_mask handling in SFF init helpers.  SFF init
helpers don't take n_ports argument and interpret it into port_mask
anymore.  All information is carried via port_info.  n_ports argument
is dropped and always two ports are allocated.  LLD can tell SFF to
skip certain port by marking it dummy.  Note that SFF code has been
treating unuvailable ports this way for a long time until recent
breakage fix from Linus and is consistent with how other drivers
handle with unavailable ports.

This fixes 1-port legacy host handling still broken after the recent
native mode fix and simplifies SFF init logic.  The following changes
are made...

* ata_pci_init_native_host() and ata_init_legacy_host() both now try
  to initialized whatever they can and mark failed ports dummy.  They
  return 0 if any port is successfully initialized.

* ata_pci_prepare_native_host() and ata_pci_init_one() now doesn't
  take n_ports argument.  All info should be specified via port_info
  array.  Always two ports are allocated.

* ata_pci_init_bmdma() exported to be used by LLDs in exotic cases.

* port_info handling in all LLDs are standardized - all port_info
  arrays are const stack variable named ppi.  Unless the second port
  is different from the first, its port_info is specified as NULL
  (tells libata that it's identical to the last non-NULL port_info).

* pata_hpt37x/hpt3x2n: don't modify static variable directly.  Make an
  on-stack copy instead as ata_piix does.

* pata_uli: It has 4 ports instead of 2.  Don't use
  ata_pci_prepare_native_host().  Allocate the host explicitly and use
  init helpers.  It's simple enough.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
<entry>
<title>libata: honour host controllers that want just one host</title>
<updated>2007-05-01T00:43:48Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2007-05-01T00:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc87c3985e9b442c60994308a96f887579addc39'/>
<id>urn:sha1:dc87c3985e9b442c60994308a96f887579addc39</id>
<content type='text'>
The Marvell IDE interface on my machine would hit a BUG_ON() in
lib/iomem.c because it was calling ata_pci_init_one() specifying just a
single port on the host, but that would actually end up trying to
initialize two ports, the second one with bogus information.

This fixes "ata_pci_init_one()" so that it actually passes down the
n_ports variable that it got from the low-level driver to the host
allocation routine ("ata_host_alloc_pinfo()"), which results in the ATA
layer actually having the correct port number information.

And in order to make it all work, I also needed to fix a few places that
had incorrectly hard-coded the fact that a host always had exactly two
ports (both ata_pci_init_bmdma() and ata_request_legacy_irqs() would
just always iterate over both ports).

Acked-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>libata: kill probe_ent and related helpers</title>
<updated>2007-04-28T18:16:06Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2007-04-17T14:44:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bfff31e77cfa1b13490337e5a4dbaa3407e83ac'/>
<id>urn:sha1:6bfff31e77cfa1b13490337e5a4dbaa3407e83ac</id>
<content type='text'>
All drivers are converted to new init model.  Kill probe_ent,
ata_device_add() and ata_pci_init_native_mode().

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
</entry>
</feed>
