<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/firewire, branch v3.2.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/firewire?h=v3.2.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/firewire?h=v3.2.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-11-07T03:44:47Z</updated>
<entry>
<title>Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux</title>
<updated>2011-11-07T03:44:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-07T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32aaeffbd4a7457bf2f7448b33b5946ff2a960eb'/>
<id>urn:sha1:32aaeffbd4a7457bf2f7448b33b5946ff2a960eb</id>
<content type='text'>
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
  Revert "tracing: Include module.h in define_trace.h"
  irq: don't put module.h into irq.h for tracking irqgen modules.
  bluetooth: macroize two small inlines to avoid module.h
  ip_vs.h: fix implicit use of module_get/module_put from module.h
  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
  include: replace linux/module.h with "struct module" wherever possible
  include: convert various register fcns to macros to avoid include chaining
  crypto.h: remove unused crypto_tfm_alg_modname() inline
  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
  pm_runtime.h: explicitly requires notifier.h
  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
  miscdevice.h: fix up implicit use of lists and types
  stop_machine.h: fix implicit use of smp.h for smp_processor_id
  of: fix implicit use of errno.h in include/linux/of.h
  of_platform.h: delete needless include &lt;linux/module.h&gt;
  acpi: remove module.h include from platform/aclinux.h
  miscdevice.h: delete unnecessary inclusion of module.h
  device_cgroup.h: delete needless include &lt;linux/module.h&gt;
  net: sch_generic remove redundant use of &lt;linux/module.h&gt;
  net: inet_timewait_sock doesnt need &lt;linux/module.h&gt;
  ...

Fix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in
 - drivers/media/dvb/frontends/dibx000_common.c
 - drivers/media/video/{mt9m111.c,ov6650.c}
 - drivers/mfd/ab3550-core.c
 - include/linux/dmaengine.h
</content>
</entry>
<entry>
<title>drivers/firewire: Add export.h for EXPORT_SYMBOL to core-iso.c</title>
<updated>2011-10-31T23:31:46Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-07-10T16:16:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=823467e5fc0c8566a93cfca0e40df6d5de6a4bc3'/>
<id>urn:sha1:823467e5fc0c8566a93cfca0e40df6d5de6a4bc3</id>
<content type='text'>
Ensure that the EXPORT_SYMBOL macros are present for when we clean up
the "module.h" is everywhere situation, to prevent build failures.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: fix isochronous DMA synchronization</title>
<updated>2011-10-18T10:32:39Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2011-10-15T21:12:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a572e688cf5d99d2382016c7241ec37b523b0137'/>
<id>urn:sha1:a572e688cf5d99d2382016c7241ec37b523b0137</id>
<content type='text'>
Add the dma_sync_single_* calls necessary to ensure proper cache
synchronization for isochronous data buffers on non-coherent
architectures.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: work around selfID junk due to wrong gap count</title>
<updated>2011-10-18T10:32:39Z</updated>
<author>
<name>Clemens Ladisch</name>
<email>clemens@ladisch.de</email>
</author>
<published>2011-10-15T16:14:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32eaeae177bf77fbc224c35262add45bd5e6abb3'/>
<id>urn:sha1:32eaeae177bf77fbc224c35262add45bd5e6abb3</id>
<content type='text'>
If a device's firmware initiates a bus reset by setting the IBR bit in
PHY register 1 without resetting the gap count field to 63 (and without
having sent a PHY configuration packet beforehand), the gap count of
this node will remain at the old value after the bus reset and thus be
inconsistent with the gap count on all other nodes.

The bus manager is supposed to detect the inconsistent gap count values
in the self ID packets and correct them by issuing another bus reset.

However, if the buggy device happens to be the cycle master, and if it
sends a cycle start packet immediately after the bus reset (which is
likely after a long bus reset), then the time between the end of the
selfID phase and the start of the cycle start packet will be based on
the too-small gap count value, so this gap will be too short to be
detected as a subaction gap by the other nodes.  This means that the
cycle start packet will be assumed to be self ID data, and will be
stored after the actual self ID quadlets in the self ID buffer.

This garbage in the self ID buffer made firewire-core ignore all of the
self ID data, and thus prevented the Linux bus manager from correcting
the problem.  Furthermore, because the bus reset handling was aborted
completely, asynchronous transfers would be no longer handled correctly,
and fw_run_transaction() would hang until the next bus reset.

To fix this, make the detection of inconsistent self IDs more
discriminating:  If the invalid data in the self ID buffer looks like
a cycle start packet, we can assume that the previous data in the buffer
is correctly received self ID information, and process it normally.

(We inspect only the first quadlet of the cycle start packet, because
this value is different enough from any valid self ID quadlet, and many
controllers do not store the cycle start packet in five quadlets because
they expect self ID data to have an even number of quadlets.)

This bug has been observed when a bus-powered DesktopKonnekt6 is
switched off with its power button.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: net: Use posted writes</title>
<updated>2011-10-09T15:00:18Z</updated>
<author>
<name>Stephan Gatzka</name>
<email>stephan@gatzka.org</email>
</author>
<published>2011-09-26T19:44:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a74477db9171e677b7a37b89e6e0ac8a15ba1f26'/>
<id>urn:sha1:a74477db9171e677b7a37b89e6e0ac8a15ba1f26</id>
<content type='text'>
Change memory region to ohci "middle address space". This effectively
reduces the number of packets by 50%.

[Stefan R.:]  This eliminates 1394 ack packets and improved throughput
by a few percent in some tests with an S400a connection with and without
gap count optimization.  Since firewire-net taxes the AR-req DMA unit of
a FireWire controller much more than firewire-sbp2 (which uses the
middle address space with PCI posted writes too), this commit also
changes a related error printk into a ratelimited one as a precaution.

Side note:  The IPv4-over-1394 drivers of Mac OS X 10.4, Windows XP SP3,
and the Thesycon 1394 bus driver for Windows all use the middle address
space too.

Signed-off-by: Stephan Gatzka &lt;stephan@gatzka.org&gt;
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: use clamp and min3 macros</title>
<updated>2011-10-09T15:00:18Z</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2011-09-18T22:20:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ec4a67aa100268b4ac5ae32b54843d975969969'/>
<id>urn:sha1:4ec4a67aa100268b4ac5ae32b54843d975969969</id>
<content type='text'>
Use kernel.h's convenience macros.  Also omit a printk that should never
happen and won't matter much if it ever happened.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: optimize TSB41BA3D detection</title>
<updated>2011-10-09T15:00:17Z</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2011-09-19T07:29:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b810e4ae111cb8b4c0ccbbe7ff4ea0a23c671e4f'/>
<id>urn:sha1:b810e4ae111cb8b4c0ccbbe7ff4ea0a23c671e4f</id>
<content type='text'>
Takes less source code and machine code, and less runtime with PHYs
other than TSB41BA3D (e.g. TSB81BA3 with device ID 0x831304 which takes
one instead of six read_paged_phy_reg now).

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: TSB41BA3D support tweaks</title>
<updated>2011-10-09T15:00:17Z</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2011-09-18T22:17:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=28897fb73c848eb441e54e859d0b64ad6b44d2e6'/>
<id>urn:sha1:28897fb73c848eb441e54e859d0b64ad6b44d2e6</id>
<content type='text'>
Fix:  phy_reg_mutex must be held over the write/read_phy_reg pair which
gets PHY port status.

Only print to the log when a TSB41BA3D was found.  By far most TSB82AA2
cards have a TSB81BA3, and firewire-ohci can keep quiet about that.

Shorten some strings and comments.  Change some whitespace.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: Add support for TSB41BA3D phy</title>
<updated>2011-09-16T20:30:28Z</updated>
<author>
<name>Stephan Gatzka</name>
<email>stephan@gatzka.org</email>
</author>
<published>2011-09-12T20:23:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=25935ebebd861182ac58ecea67718bb6a617c7cb'/>
<id>urn:sha1:25935ebebd861182ac58ecea67718bb6a617c7cb</id>
<content type='text'>
This patch implements a work around for the Texas Instruments PHY
TSB41BA3D.  This phy has a bug at least in combination with the TI LLCs
TSB82AA2B and TSB12LV26.  The selfid coming from the locally connected
phy is not propagated into the selfid buffer of the OHCI (see
http://www.ti.com/litv/pdf/sllz059 for details).  The main idea is to
construct the selfid ourselves.

Signed-off-by: Stephan Gatzka &lt;stephan@gatzka.org&gt;
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
<entry>
<title>firewire: ohci: Move code from the bus reset tasklet into a workqueue</title>
<updated>2011-09-16T20:30:28Z</updated>
<author>
<name>Stephan Gatzka</name>
<email>stephan@gatzka.org</email>
</author>
<published>2011-07-25T20:16:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d7a36e23300d268599f6eae4093643d22fbb356'/>
<id>urn:sha1:2d7a36e23300d268599f6eae4093643d22fbb356</id>
<content type='text'>
Code inside bus_reset_work may now sleep. This is a prerequisite to
support a phy from Texas Instruments cleanly. The patch to support this
phy will be submitted later.

Signed-off-by: Stephan Gatzka &lt;stephan@gatzka.org&gt;
Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
</content>
</entry>
</feed>
