<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/ata/libata-scsi.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-04-23T11:11:47Z</updated>
<entry>
<title>[SCSI] libsas, libata: fix start of life for a sas ata_port</title>
<updated>2012-04-23T11:11:47Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2012-03-22T04:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2024459252a9d2d312ee562f86f332a1498f412'/>
<id>urn:sha1:b2024459252a9d2d312ee562f86f332a1498f412</id>
<content type='text'>
This changes the ordering of initialization and probing events from:
  1/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  2/ allocate ata_port and schedule port probe in DISCE_PROBE
...to:
  1/ allocate ata_port in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  2/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  3/ schedule port probe in DISCE_PROBE

This ordering prevents PHYE_SIGNAL_LOSS_EVENTS from sneaking in to
destrory ata devices before they have been fully initialized:

  BUG: unable to handle kernel paging request at 0000000000003b10
  IP: [&lt;ffffffffa0053d7e&gt;] sas_ata_end_eh+0x12/0x5e [libsas]
  ...
  [&lt;ffffffffa004d1af&gt;] sas_unregister_common_dev+0x78/0xc9 [libsas]
  [&lt;ffffffffa004d4d4&gt;] sas_unregister_dev+0x4f/0xad [libsas]
  [&lt;ffffffffa004d5b1&gt;] sas_unregister_domain_devices+0x7f/0xbf [libsas]
  [&lt;ffffffffa004c487&gt;] sas_deform_port+0x61/0x1b8 [libsas]
  [&lt;ffffffffa004bed0&gt;] sas_phye_loss_of_signal+0x29/0x2b [libsas]

...and kills the awkward "sata domain_device briefly existing in the
domain without an ata_port" state.

Reported-by: Michal Kosciowski &lt;michal.kosciowski@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libata: Pass correct DMA device to scsi host</title>
<updated>2012-04-22T18:00:21Z</updated>
<author>
<name>Lin Ming</name>
</author>
<published>2012-04-12T05:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f8fc75dc576eac0c996e4a792a4701819d999260'/>
<id>urn:sha1:f8fc75dc576eac0c996e4a792a4701819d999260</id>
<content type='text'>
Use scsi_add_host_with_dma in ata_scsi_add_hosts to pass in the
correct DMA device(ATA host).

Bug report: http://marc.info/?l=linux-ide&amp;m=133177818318187&amp;w=2

Reported-and-tested-by: Jörg Sommer &lt;joerg@alea.gnuu.de&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>libata: make ata_print_id atomic</title>
<updated>2012-04-12T19:57:51Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2012-03-11T07:28:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85d6725b7c0d7e3fa4261fdd4c020be4224fc9f1'/>
<id>urn:sha1:85d6725b7c0d7e3fa4261fdd4c020be4224fc9f1</id>
<content type='text'>
This variable is incremented from multiple contexts (module_init via
libata-lldds and the libsas discovery thread).  Make it atomic to head
off any chance of libsas and libata creating duplicate ids.

Acked-by: Jacek Danecki &lt;jacek.danecki@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas: async ata scanning</title>
<updated>2012-02-29T21:35:41Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2012-01-19T04:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9508a66f898d46e726a318469312b45e0b1d078b'/>
<id>urn:sha1:9508a66f898d46e726a318469312b45e0b1d078b</id>
<content type='text'>
libsas ata error handling is already async but this does not help the
scan case.  Move initial link recovery out from under host-&gt;scan_mutex,
and delay synchronization with eh until after all port probe/recovery
work has been queued.

Device ordering is maintained with scan order by still calling
sas_rphy_add() in order of domain discovery.

Since we now scan the domain list when invoking libata-eh we need to be
careful to check for fully initialized ata ports.

Acked-by: Jack Wang &lt;jack_wang@usish.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>ata: add ata port runtime PM callbacks</title>
<updated>2012-01-09T00:14:58Z</updated>
<author>
<name>Lin Ming</name>
</author>
<published>2011-12-05T01:20:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9ee4f3933930abf5cc34f8e9d69fe0e08c18f602'/>
<id>urn:sha1:9ee4f3933930abf5cc34f8e9d69fe0e08c18f602</id>
<content type='text'>
Add ata port runtime suspend/resume/idle callbacks.
Set -&gt;eh_noresume to skip the runtime PM calls on scsi host
in the error handler to avoid dead lock.

Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>ata: make ata port as parent device of scsi host</title>
<updated>2012-01-09T00:14:57Z</updated>
<author>
<name>Lin Ming</name>
</author>
<published>2011-12-05T01:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a6d6a2ddabbd32c07f6a38b659e5f3db319fa5a'/>
<id>urn:sha1:9a6d6a2ddabbd32c07f6a38b659e5f3db319fa5a</id>
<content type='text'>
Currently, the device tree of ata port and scsi host looks as below,

        /sys/devices/pci0000:00/0000:00:1f.2    (ahci controller)
        |-- ata1                                (ata port)
        |-- host0                               (scsi host)
           |-- target0:0:0                      (scsi target)
               |-- 0:0:0:0                      (disk)

This patch makes ata port as parent device of scsi host, then it becomes

        /sys/devices/pci0000:00/0000:00:1f.2    (ahci controller)
        |-- ata1                                (ata port)
            |-- host0                           (scsi host)
                |-- target0:0:0                 (scsi target)
                    |-- 0:0:0:0                 (disk)

With this change, the ata port runtime PM is easier.
For example, the ata port runtime suspend will happen as,

disk suspend --&gt; scsi target suspend --&gt; scsi host suspend --&gt; ata port
suspend.

Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>[libata] libata-scsi.c: Add function parameter documentation</title>
<updated>2011-11-09T06:32:27Z</updated>
<author>
<name>Marcos Paulo de Souza</name>
</author>
<published>2011-11-01T01:50:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d2dd054295e26dad0a84e2fe2029a1428242f8b'/>
<id>urn:sha1:6d2dd054295e26dad0a84e2fe2029a1428242f8b</id>
<content type='text'>
Add the documentation of parameters of ata_change_queue_depth to silence the warning of make xmldocs

Signed-off-by: Marcos paulo de Souza &lt;marcos.mage@gmail.com&gt;
Acked-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed</title>
<updated>2011-10-31T23:31:37Z</updated>
<author>
<name>Paul Gortmaker</name>
</author>
<published>2011-07-17T19:33:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=38789fda295689689d064c0157bc363b1837b5e6'/>
<id>urn:sha1:38789fda295689689d064c0157bc363b1837b5e6</id>
<content type='text'>
They were getting this implicitly by an include of module.h
from device.h -- but we are going to clean that up and break
that include chain, so include export.h explicitly now.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas,libata: fix -&gt;change_queue_{depth|type} for sata devices</title>
<updated>2011-10-02T17:30:30Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2011-09-20T22:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6e67035a9edd79b8b202c159d5bec560bb9c358'/>
<id>urn:sha1:f6e67035a9edd79b8b202c159d5bec560bb9c358</id>
<content type='text'>
Pass queue_depth change requests to libata, and prevent queue_type
changes for ATA devices.

Otherwise:
1/ we do not honor the libata specific restrictions on the queue depth
2/ libsas drivers that do not set sdev-&gt;tagged_supported are unable to
   change the queue_depth of ata devices via sysfs

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>ata: Convert ata_&lt;foo&gt;_printk(KERN_&lt;LEVEL&gt; to ata_&lt;foo&gt;_&lt;level&gt;</title>
<updated>2011-07-23T21:57:36Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2011-04-15T22:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a9a79dfec239568bdbf778242f8fcd10bcc5b9e2'/>
<id>urn:sha1:a9a79dfec239568bdbf778242f8fcd10bcc5b9e2</id>
<content type='text'>
Saves text by removing nearly duplicated text format strings by
creating ata_&lt;foo&gt;_printk functions and printf extension %pV.

ata defconfig size shrinks ~5% (~8KB), allyesconfig ~2.5% (~13KB)

Format string duplication comes from:

 #define ata_link_printk(link, lv, fmt, args...) do { \
       if (sata_pmp_attached((link)-&gt;ap) || (link)-&gt;ap-&gt;slave_link)    \
               printk("%sata%u.%02u: "fmt, lv, (link)-&gt;ap-&gt;print_id,   \
                      (link)-&gt;pmp , ##args); \
       else \
               printk("%sata%u: "fmt, lv, (link)-&gt;ap-&gt;print_id , ##args); \
       } while(0)

Coalesce long formats.

$ size drivers/ata/built-in.*
   text	   data	    bss	    dec	    hex	filename
 544969	  73893	 116584	 735446	  b38d6	drivers/ata/built-in.allyesconfig.ata.o
 558429	  73893	 117864	 750186	  b726a	drivers/ata/built-in.allyesconfig.dev_level.o
 141328	  14689	   4220	 160237	  271ed	drivers/ata/built-in.defconfig.ata.o
 149567	  14689	   4220	 168476	  2921c	drivers/ata/built-in.defconfig.dev_level.o

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@pobox.com&gt;
</content>
</entry>
</feed>
