<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/ethernet, branch v3.2-rc4</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>sky2: fix hang in napi_disable</title>
<updated>2011-11-18T02:43:57+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-11-17T14:37:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=282edcece39e08d02c22492d593e4b9b94a65dff'/>
<id>282edcece39e08d02c22492d593e4b9b94a65dff</id>
<content type='text'>
If IRQ was never initialized, then calling napi_disable() would hang.
Add more bookkeeping to track whether IRQ was ever initialized.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If IRQ was never initialized, then calling napi_disable() would hang.
Add more bookkeeping to track whether IRQ was ever initialized.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: enforce minimum ring size</title>
<updated>2011-11-18T02:43:57+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-11-17T14:37:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=738a849c8eef4787a526d95763f985b8c1cb68e4'/>
<id>738a849c8eef4787a526d95763f985b8c1cb68e4</id>
<content type='text'>
The hardware has a restriction that the minimum ring size possible
is 128. The number of elements used is controlled by tx_pending and
the overall number of elements in the ring tx_ring_size, therefore it
is okay to limit the number of elements in use to a small value (63)
but still provide a bigger ring.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The hardware has a restriction that the minimum ring size possible
is 128. The number of elements used is controlled by tx_pending and
the overall number of elements in the ring tx_ring_size, therefore it
is okay to limit the number of elements in use to a small value (63)
but still provide a bigger ring.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: fix pm functions avoiding sleep on spinlock</title>
<updated>2011-11-17T08:13:42+00:00</updated>
<author>
<name>Francesco Virlinzi</name>
<email>francesco.virlinzi@st.com</email>
</author>
<published>2011-11-16T21:58:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=102463b18d922dd55c29fbfa222e0355ecf3e42f'/>
<id>102463b18d922dd55c29fbfa222e0355ecf3e42f</id>
<content type='text'>
This patch fixes the pm functions to avoid the system
sleeps while a spinlock is taken.

Signed-off-by: Francesco Virlinzi &lt;francesco.virlinzi@st.com&gt;
Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the pm functions to avoid the system
sleeps while a spinlock is taken.

Signed-off-by: Francesco Virlinzi &lt;francesco.virlinzi@st.com&gt;
Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: remove spin_lock in stmmac_ioctl.</title>
<updated>2011-11-17T08:13:42+00:00</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@st.com</email>
</author>
<published>2011-11-16T21:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=989508ba60da6dce79f8aaee1be6c092fd4c67f8'/>
<id>989508ba60da6dce79f8aaee1be6c092fd4c67f8</id>
<content type='text'>
This patch removes un-needed spin_lock in stmmac_ioctl while reading and
writing mdio registers. While holding spin_lock the code must be
atomic, which is not true in this case as both mdiobus_read and writes
have mutex locks.

Without this patch reading mdio registers via mii-tool results in below
BUG:
mii-tool -vvv eth0"
Using SIOCGMIIPHY=0x8947
BUG: sleeping function called from invalid context at kernel/mutex.c:287
in_atomic(): 1, irqs_disabled(): 0, pid: 614, name: mii-tool
2 locks held by mii-tool/614:
 #0:  (rtnl_mutex){......}, at: [&lt;c01fd80c&gt;] dev_ioctl+0x550/0x674
 #1:  (&amp;priv-&gt;lock){......}, at: [&lt;c01b34ec&gt;] stmmac_ioctl+0x4c/0x78
[&lt;c002ea14&gt;] (unwind_backtrace+0x0/0xcc) from [&lt;c0272c38&gt;]
(mutex_lock_nested+0x24/0x35c)
[&lt;c0272c38&gt;] (mutex_lock_nested+0x24/0x35c) from [&lt;c01b237c&gt;]
(mdiobus_read+0x44/0x70)
[&lt;c01b237c&gt;] (mdiobus_read+0x44/0x70) from [&lt;c01b0c64&gt;]
(phy_mii_ioctl+0x4c/0x138)
[&lt;c01b0c64&gt;] (phy_mii_ioctl+0x4c/0x138) from [&lt;c01b34fc&gt;]
(stmmac_ioctl+0x5c/0x78)
[&lt;c01b34fc&gt;] (stmmac_ioctl+0x5c/0x78) from [&lt;c01fcec8&gt;]
(dev_ifsioc+0x2a4/0x2c8)
[&lt;c01fcec8&gt;] (dev_ifsioc+0x2a4/0x2c8) from [&lt;c01fd81c&gt;]
(dev_ioctl+0x560/0x674)
[&lt;c01fd81c&gt;] (dev_ioctl+0x560/0x674) from [&lt;c00c36e0&gt;]
(vfs_ioctl+0x2c/0x8c)
[&lt;c00c36e0&gt;] (vfs_ioctl+0x2c/0x8c) from [&lt;c00c4130&gt;]
(do_vfs_ioctl+0x530/0x578)
[&lt;c00c4130&gt;] (do_vfs_ioctl+0x530/0x578) from [&lt;c00c41ac&gt;]
(sys_ioctl+0x34/0x54)
[&lt;c00c41ac&gt;] (sys_ioctl+0x34/0x54) from [&lt;c0028aa0&gt;]
(ret_fast_syscall+0x0/0x2c)

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@st.com&gt;
Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch removes un-needed spin_lock in stmmac_ioctl while reading and
writing mdio registers. While holding spin_lock the code must be
atomic, which is not true in this case as both mdiobus_read and writes
have mutex locks.

Without this patch reading mdio registers via mii-tool results in below
BUG:
mii-tool -vvv eth0"
Using SIOCGMIIPHY=0x8947
BUG: sleeping function called from invalid context at kernel/mutex.c:287
in_atomic(): 1, irqs_disabled(): 0, pid: 614, name: mii-tool
2 locks held by mii-tool/614:
 #0:  (rtnl_mutex){......}, at: [&lt;c01fd80c&gt;] dev_ioctl+0x550/0x674
 #1:  (&amp;priv-&gt;lock){......}, at: [&lt;c01b34ec&gt;] stmmac_ioctl+0x4c/0x78
[&lt;c002ea14&gt;] (unwind_backtrace+0x0/0xcc) from [&lt;c0272c38&gt;]
(mutex_lock_nested+0x24/0x35c)
[&lt;c0272c38&gt;] (mutex_lock_nested+0x24/0x35c) from [&lt;c01b237c&gt;]
(mdiobus_read+0x44/0x70)
[&lt;c01b237c&gt;] (mdiobus_read+0x44/0x70) from [&lt;c01b0c64&gt;]
(phy_mii_ioctl+0x4c/0x138)
[&lt;c01b0c64&gt;] (phy_mii_ioctl+0x4c/0x138) from [&lt;c01b34fc&gt;]
(stmmac_ioctl+0x5c/0x78)
[&lt;c01b34fc&gt;] (stmmac_ioctl+0x5c/0x78) from [&lt;c01fcec8&gt;]
(dev_ifsioc+0x2a4/0x2c8)
[&lt;c01fcec8&gt;] (dev_ifsioc+0x2a4/0x2c8) from [&lt;c01fd81c&gt;]
(dev_ioctl+0x560/0x674)
[&lt;c01fd81c&gt;] (dev_ioctl+0x560/0x674) from [&lt;c00c36e0&gt;]
(vfs_ioctl+0x2c/0x8c)
[&lt;c00c36e0&gt;] (vfs_ioctl+0x2c/0x8c) from [&lt;c00c4130&gt;]
(do_vfs_ioctl+0x530/0x578)
[&lt;c00c4130&gt;] (do_vfs_ioctl+0x530/0x578) from [&lt;c00c41ac&gt;]
(sys_ioctl+0x34/0x54)
[&lt;c00c41ac&gt;] (sys_ioctl+0x34/0x54) from [&lt;c0028aa0&gt;]
(ret_fast_syscall+0x0/0x2c)

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@st.com&gt;
Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: parameters auto-tuning through HW cap reg</title>
<updated>2011-11-17T08:13:41+00:00</updated>
<author>
<name>Giuseppe CAVALLARO</name>
<email>peppe.cavallaro@st.com</email>
</author>
<published>2011-11-16T21:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=19e30c14371f7afd38d1d35a693b96423a4db144'/>
<id>19e30c14371f7afd38d1d35a693b96423a4db144</id>
<content type='text'>
New GMAC devices (newer than the databook 3.50a) have the
HW capability register that provides which features are actually
supported by the hardware.

On old devices many information have to be passed through the
platform, for example: enhanced descriptor structure,
TX COE etc. These are mandatory to properly configure the driver.
This remains still valid because the driver has to support old
Synopsys devices but now it's also able to override them using the
values from the HW capability register if supported.

Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New GMAC devices (newer than the databook 3.50a) have the
HW capability register that provides which features are actually
supported by the hardware.

On old devices many information have to be passed through the
platform, for example: enhanced descriptor structure,
TX COE etc. These are mandatory to properly configure the driver.
This remains still valid because the driver has to support old
Synopsys devices but now it's also able to override them using the
values from the HW capability register if supported.

Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: fix advertising 1000Base capabilties for non GMII iface</title>
<updated>2011-11-17T08:13:41+00:00</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@st.com</email>
</author>
<published>2011-11-16T21:57:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c5b9b4e4b9076089fe7f9d4f5d1f2bba776646d2'/>
<id>c5b9b4e4b9076089fe7f9d4f5d1f2bba776646d2</id>
<content type='text'>
This patch fixes the way to stop the 1000Base advertising
capabilties for non GMII interfaces.

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@st.com&gt;
Acked-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the way to stop the 1000Base advertising
capabilties for non GMII interfaces.

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@st.com&gt;
Acked-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>stmmac: use mdelay on timeout of sw reset</title>
<updated>2011-11-17T08:13:41+00:00</updated>
<author>
<name>Francesco Virlinzi</name>
<email>francesco.virlinzi@st.com</email>
</author>
<published>2011-11-16T21:57:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bbc1754639f771cd2b515fed39b977549b373034'/>
<id>bbc1754639f771cd2b515fed39b977549b373034</id>
<content type='text'>
This patch uses an mdelay to manage the timeout on
sw reset to be independant of cpu_clk.

Signed-off-by: Francesco Virlinzi &lt;francesco.virlinzi@st.com&gt;
Reviewed-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch uses an mdelay to manage the timeout on
sw reset to be independant of cpu_clk.

Signed-off-by: Francesco Virlinzi &lt;francesco.virlinzi@st.com&gt;
Reviewed-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: version 1.30</title>
<updated>2011-11-17T01:27:30+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-11-16T13:43:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d9fa7c86f1fca60693beea187c963cfda4a54a06'/>
<id>d9fa7c86f1fca60693beea187c963cfda4a54a06</id>
<content type='text'>
Update version number.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update version number.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: used fixed RSS key</title>
<updated>2011-11-17T01:27:28+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-11-16T13:42:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=00427a7387a1c91ddb6b69e50916173d8aca66e0'/>
<id>00427a7387a1c91ddb6b69e50916173d8aca66e0</id>
<content type='text'>
Rather than generating a different RSS key on each boot, just use
a predetermined value that will map same flow to same value on
every device.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than generating a different RSS key on each boot, just use
a predetermined value that will map same flow to same value on
every device.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sky2: reduce default Tx ring size</title>
<updated>2011-11-17T01:27:12+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-11-16T13:42:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b1cb82566242fbb54d5c655e23995a8f7bd37ecf'/>
<id>b1cb82566242fbb54d5c655e23995a8f7bd37ecf</id>
<content type='text'>
The default Tx ring size for the sky2 driver is quite large and could
cause excess buffer bloat for many users. The minimum ring size
possible and still allow handling  the worst case packet on 64bit platforms
is 38 which gets rounded up to a power of 2. But most packets only require
a couple of ring elements.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The default Tx ring size for the sky2 driver is quite large and could
cause excess buffer bloat for many users. The minimum ring size
possible and still allow handling  the worst case packet on 64bit platforms
is 38 which gets rounded up to a power of 2. But most packets only require
a couple of ring elements.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
