<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/phy, branch tegra-9.12.4</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge commit 'arm/2.6.28-arm' into android-tegra-2.6.29</title>
<updated>2009-12-08T00:18:05+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2009-12-08T00:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bb11d46b72a4a2b53f890faa970a380cf0084bf2'/>
<id>bb11d46b72a4a2b53f890faa970a380cf0084bf2</id>
<content type='text'>
Conflicts:
	MAINTAINERS
	arch/arm/Kconfig
	arch/arm/Makefile
	arch/arm/boot/compressed/head.S
	arch/arm/common/Makefile
	arch/arm/configs/realview-smp_defconfig
	arch/arm/configs/realview_defconfig
	arch/arm/configs/versatile_defconfig
	arch/arm/include/asm/elf.h
	arch/arm/include/asm/uaccess.h
	arch/arm/kernel/module.c
	arch/arm/kernel/signal.c
	arch/arm/mach-realview/Kconfig
	arch/arm/mach-realview/Makefile
	arch/arm/mach-realview/core.c
	arch/arm/mach-realview/core.h
	arch/arm/mach-realview/include/mach/board-pba8.h
	arch/arm/mach-realview/include/mach/debug-macro.S
	arch/arm/mach-realview/include/mach/hardware.h
	arch/arm/mach-realview/include/mach/irqs.h
	arch/arm/mach-realview/include/mach/memory.h
	arch/arm/mach-realview/include/mach/uncompress.h
	arch/arm/mach-realview/localtimer.c
	arch/arm/mach-realview/platsmp.c
	arch/arm/mach-realview/realview_eb.c
	arch/arm/mach-realview/realview_pb1176.c
	arch/arm/mach-realview/realview_pb11mp.c
	arch/arm/mach-realview/realview_pba8.c
	arch/arm/mm/Kconfig
	arch/arm/mm/copypage-v6.c
	arch/arm/mm/dma-mapping.c
	arch/arm/mm/proc-v7.S
	arch/arm/oprofile/op_model_mpcore.c
	arch/arm/tools/mach-types
	arch/arm/vfp/vfpmodule.c
	drivers/mtd/maps/integrator-flash.c
	drivers/net/smsc911x.c
	drivers/net/smsc911x.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	MAINTAINERS
	arch/arm/Kconfig
	arch/arm/Makefile
	arch/arm/boot/compressed/head.S
	arch/arm/common/Makefile
	arch/arm/configs/realview-smp_defconfig
	arch/arm/configs/realview_defconfig
	arch/arm/configs/versatile_defconfig
	arch/arm/include/asm/elf.h
	arch/arm/include/asm/uaccess.h
	arch/arm/kernel/module.c
	arch/arm/kernel/signal.c
	arch/arm/mach-realview/Kconfig
	arch/arm/mach-realview/Makefile
	arch/arm/mach-realview/core.c
	arch/arm/mach-realview/core.h
	arch/arm/mach-realview/include/mach/board-pba8.h
	arch/arm/mach-realview/include/mach/debug-macro.S
	arch/arm/mach-realview/include/mach/hardware.h
	arch/arm/mach-realview/include/mach/irqs.h
	arch/arm/mach-realview/include/mach/memory.h
	arch/arm/mach-realview/include/mach/uncompress.h
	arch/arm/mach-realview/localtimer.c
	arch/arm/mach-realview/platsmp.c
	arch/arm/mach-realview/realview_eb.c
	arch/arm/mach-realview/realview_pb1176.c
	arch/arm/mach-realview/realview_pb11mp.c
	arch/arm/mach-realview/realview_pba8.c
	arch/arm/mm/Kconfig
	arch/arm/mm/copypage-v6.c
	arch/arm/mm/dma-mapping.c
	arch/arm/mm/proc-v7.S
	arch/arm/oprofile/op_model_mpcore.c
	arch/arm/tools/mach-types
	arch/arm/vfp/vfpmodule.c
	drivers/mtd/maps/integrator-flash.c
	drivers/net/smsc911x.c
	drivers/net/smsc911x.h
</pre>
</div>
</content>
</entry>
<entry>
<title>SMSC LAN911x and LAN921x vendor driver</title>
<updated>2009-04-30T16:22:37+00:00</updated>
<author>
<name>Steve Glendinning</name>
<email>steve.glendinning@smsc.com</email>
</author>
<published>2009-03-30T09:58:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8814658377809ac739ed9f6769ad7d33f361b711'/>
<id>8814658377809ac739ed9f6769ad7d33f361b711</id>
<content type='text'>
Attached is a driver for SMSC's LAN911x and LAN921x families of embedded
ethernet controllers.

There is an existing smc911x driver in the tree; this is intended to
replace it.  Dustin McIntire (the author of the smc911x driver) has
expressed his support for switching to this driver.

This driver contains workarounds for all known hardware issues, and has
been tested on all flavours of the chip on multiple architectures.

This driver now uses phylib, so this patch also adds support for the
device's internal phy

Signed-off-by: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Signed-off-by: Bahadir Balban &lt;Bahadir.Balban@arm.com&gt;
Signed-off-by: Dustin Mcintire &lt;dustin@sensoria.com&gt;
Signed-off-by: Bill Gatliff &lt;bgat@billgatliff.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Attached is a driver for SMSC's LAN911x and LAN921x families of embedded
ethernet controllers.

There is an existing smc911x driver in the tree; this is intended to
replace it.  Dustin McIntire (the author of the smc911x driver) has
expressed his support for switching to this driver.

This driver contains workarounds for all known hardware issues, and has
been tested on all flavours of the chip on multiple architectures.

This driver now uses phylib, so this patch also adds support for the
device's internal phy

Signed-off-by: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Signed-off-by: Bahadir Balban &lt;Bahadir.Balban@arm.com&gt;
Signed-off-by: Dustin Mcintire &lt;dustin@sensoria.com&gt;
Signed-off-by: Bill Gatliff &lt;bgat@billgatliff.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mdio-gpio: Add mdc pin direction initialization</title>
<updated>2009-02-11T01:11:10+00:00</updated>
<author>
<name>Paulius Zaleckas</name>
<email>paulius.zaleckas@teltonika.lt</email>
</author>
<published>2009-02-08T23:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=664f93b48aefeb44b42127fe1da534808e8e9494'/>
<id>664f93b48aefeb44b42127fe1da534808e8e9494</id>
<content type='text'>
mdc pin should always be output. Initialize it as output,
so each board code does not need to do this.

Signed-off-by: Paulius Zaleckas &lt;paulius.zaleckas@teltonika.lt&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>
mdc pin should always be output. Initialize it as output,
so each board code does not need to do this.

Signed-off-by: Paulius Zaleckas &lt;paulius.zaleckas@teltonika.lt&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>phy: Add suspend/resume support to SMSC PHYs</title>
<updated>2009-01-22T22:07:43+00:00</updated>
<author>
<name>Steve Glendinning</name>
<email>steve.glendinning@smsc.com</email>
</author>
<published>2009-01-22T22:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c64d2a9afbccd0aecb122d108770a407fe7b7e3f'/>
<id>c64d2a9afbccd0aecb122d108770a407fe7b7e3f</id>
<content type='text'>
All supported SMSC PHYs implement the standard "power down" bit 11 of
BMCR, so this patch adds support using the generic genphy_{suspend,resume}
functions.

Signed-off-by: Steve Glendinning &lt;steve.glendinning@smsc.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>
All supported SMSC PHYs implement the standard "power down" bit 11 of
BMCR, so this patch adds support using the generic genphy_{suspend,resume}
functions.

Signed-off-by: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>phylib: Fix oops in suspend/resume paths</title>
<updated>2009-01-22T21:51:24+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>avorontsov@ru.mvista.com</email>
</author>
<published>2009-01-22T21:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6f051069d8a2045666055e3020ae8a7dec9762e0'/>
<id>6f051069d8a2045666055e3020ae8a7dec9762e0</id>
<content type='text'>
Suspend/resume routines check for phydrv != NULL, but that is
wrong because "phydrv" comes from container_of(drv). If drv is NULL,
then container_of(drv) will return non-NULL result, and the checks
won't work.

The Freescale TBI PHYs are driver-less, so "drv" is NULL, and that
leads to the following oops:

Unable to handle kernel paging request for data at address 0xffffffe4
Faulting instruction address: 0xc0215554
Oops: Kernel access of bad area, sig: 11 [#1]
[...]
NIP [c0215554] mdio_bus_suspend+0x34/0x70
LR [c01cc508] suspend_device+0x258/0x2bc
Call Trace:
[cfad3da0] [cfad3db8] 0xcfad3db8 (unreliable)
[cfad3db0] [c01cc508] suspend_device+0x258/0x2bc
[cfad3dd0] [c01cc62c] dpm_suspend+0xc0/0x140
[cfad3e20] [c01cc6f4] device_suspend+0x48/0x5c
[cfad3e40] [c0068dd8] suspend_devices_and_enter+0x8c/0x148
[cfad3e60] [c00690f8] enter_state+0x100/0x118
[cfad3e80] [c00691c0] state_store+0xb0/0xe4
[cfad3ea0] [c018c938] kobj_attr_store+0x24/0x3c
[cfad3eb0] [c00ea9a8] flush_write_buffer+0x58/0x7c
[cfad3ed0] [c00eadf0] sysfs_write_file+0x58/0xa0
[cfad3ef0] [c009e810] vfs_write+0xb4/0x16c
[cfad3f10] [c009ed40] sys_write+0x4c/0x90
[cfad3f40] [c0014954] ret_from_syscall+0x0/0x38
[...]

This patch fixes the issue, plus removes unneeded parentheses
and fixes indentation level in mdio_bus_suspend().

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.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>
Suspend/resume routines check for phydrv != NULL, but that is
wrong because "phydrv" comes from container_of(drv). If drv is NULL,
then container_of(drv) will return non-NULL result, and the checks
won't work.

The Freescale TBI PHYs are driver-less, so "drv" is NULL, and that
leads to the following oops:

Unable to handle kernel paging request for data at address 0xffffffe4
Faulting instruction address: 0xc0215554
Oops: Kernel access of bad area, sig: 11 [#1]
[...]
NIP [c0215554] mdio_bus_suspend+0x34/0x70
LR [c01cc508] suspend_device+0x258/0x2bc
Call Trace:
[cfad3da0] [cfad3db8] 0xcfad3db8 (unreliable)
[cfad3db0] [c01cc508] suspend_device+0x258/0x2bc
[cfad3dd0] [c01cc62c] dpm_suspend+0xc0/0x140
[cfad3e20] [c01cc6f4] device_suspend+0x48/0x5c
[cfad3e40] [c0068dd8] suspend_devices_and_enter+0x8c/0x148
[cfad3e60] [c00690f8] enter_state+0x100/0x118
[cfad3e80] [c00691c0] state_store+0xb0/0xe4
[cfad3ea0] [c018c938] kobj_attr_store+0x24/0x3c
[cfad3eb0] [c00ea9a8] flush_write_buffer+0x58/0x7c
[cfad3ed0] [c00eadf0] sysfs_write_file+0x58/0xa0
[cfad3ef0] [c009e810] vfs_write+0xb4/0x16c
[cfad3f10] [c009ed40] sys_write+0x4c/0x90
[cfad3f40] [c0014954] ret_from_syscall+0x0/0x38
[...]

This patch fixes the issue, plus removes unneeded parentheses
and fixes indentation level in mdio_bus_suspend().

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>phylib: Fix Freescale TBI PHY detection</title>
<updated>2009-01-14T22:38:02+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>avorontsov@ru.mvista.com</email>
</author>
<published>2009-01-14T22:38:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f0d44ae310bc8eb0b6694e257015d8b24e1a357c'/>
<id>f0d44ae310bc8eb0b6694e257015d8b24e1a357c</id>
<content type='text'>
Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of

commit 3ee82383f0098a2e13acc8cf1be8e47512f41e5a
Author: Giulio Benetti &lt;giulio.benetti@micronovasrl.com&gt;
Date:   Thu Nov 13 21:53:13 2008 +0000

    phy: fix phy address bug

    PHYID returns 0xffff and not 0xffffffff when not found and in some
    case(at91sam9263) 0x0. Maybe this patch could be useful.

phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in
gianfar driver failure to see the TBI PHYs. This code snippet triggers:

	if (!priv-&gt;tbiphy) {
		printk(KERN_WARNING "SGMII mode requires that the device "
				"tree specify a tbi-handle\n");
		return;
	}

Although tbi-handle is specified in the device tree.

Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY
manufactured by Xerox :-).

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Acked-by: Andy Fleming &lt;afleming@freescale.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>
Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of

commit 3ee82383f0098a2e13acc8cf1be8e47512f41e5a
Author: Giulio Benetti &lt;giulio.benetti@micronovasrl.com&gt;
Date:   Thu Nov 13 21:53:13 2008 +0000

    phy: fix phy address bug

    PHYID returns 0xffff and not 0xffffffff when not found and in some
    case(at91sam9263) 0x0. Maybe this patch could be useful.

phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in
gianfar driver failure to see the TBI PHYs. This code snippet triggers:

	if (!priv-&gt;tbiphy) {
		printk(KERN_WARNING "SGMII mode requires that the device "
				"tree specify a tbi-handle\n");
		return;
	}

Although tbi-handle is specified in the device tree.

Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY
manufactured by Xerox :-).

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Acked-by: Andy Fleming &lt;afleming@freescale.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: PHYLIB mdio fixes #2</title>
<updated>2008-12-26T00:50:41+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2008-12-26T00:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=161c8d2f50109b44b664eaf23831ea1587979a61'/>
<id>161c8d2f50109b44b664eaf23831ea1587979a61</id>
<content type='text'>
The PHYLIB mdio code has more problems in error paths:
- mdiobus_release can be called before bus-&gt;state is set to
  MDIOBUS_REGISTERED
- mdiobus_scan allocates resources which need to be freed
- the comment is wrong, the resistors used are actually pull-ups.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&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 PHYLIB mdio code has more problems in error paths:
- mdiobus_release can be called before bus-&gt;state is set to
  MDIOBUS_REGISTERED
- mdiobus_scan allocates resources which need to be freed
- the comment is wrong, the resistors used are actually pull-ups.

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-12-24T01:56:23+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-12-24T01:56:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6332178d91ca1a9dbd99bd97cabbcf965d178e9f'/>
<id>6332178d91ca1a9dbd99bd97cabbcf965d178e9f</id>
<content type='text'>
Conflicts:

	drivers/net/ppp_generic.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:

	drivers/net/ppp_generic.c
</pre>
</div>
</content>
</entry>
<entry>
<title>net: kernel BUG at drivers/net/phy/mdio_bus.c:165!</title>
<updated>2008-12-17T08:24:13+00:00</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2008-12-17T08:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e8e5752dc0a56a01527055b0c37510b1d6b6b861'/>
<id>e8e5752dc0a56a01527055b0c37510b1d6b6b861</id>
<content type='text'>
kernel BUG at drivers/net/phy/mdio_bus.c:165!
Unable to handle kernel NULL pointer dereference at virtual address 00000000

How?

mdiobus_alloc() sets bus-&gt;state = MDIOBUS_ALLOCATED.

mdiobus_register() sets bus-&gt;state = MDIOBUS_REGISTERED but then can
   fail (mdiobus_scan()) returning an error to the caller.

The caller aborts correctly with mdiobus_free() which does:
        if (bus-&gt;state == MDIOBUS_ALLOCATED) {
                kfree(bus);
                return;
        }

        BUG_ON(bus-&gt;state != MDIOBUS_UNREGISTERED);

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&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>
kernel BUG at drivers/net/phy/mdio_bus.c:165!
Unable to handle kernel NULL pointer dereference at virtual address 00000000

How?

mdiobus_alloc() sets bus-&gt;state = MDIOBUS_ALLOCATED.

mdiobus_register() sets bus-&gt;state = MDIOBUS_REGISTERED but then can
   fail (mdiobus_scan()) returning an error to the caller.

The caller aborts correctly with mdiobus_free() which does:
        if (bus-&gt;state == MDIOBUS_ALLOCATED) {
                kfree(bus);
                return;
        }

        BUG_ON(bus-&gt;state != MDIOBUS_UNREGISTERED);

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>phylib: Remove unnecessary "reset" fixups in genphy_setup_forced</title>
<updated>2008-12-16T23:39:48+00:00</updated>
<author>
<name>Andy Fleming</name>
<email>afleming@freescale.com</email>
</author>
<published>2008-12-16T23:39:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f162e97d778ec29492be8eb9bbecb65be976b7c8'/>
<id>f162e97d778ec29492be8eb9bbecb65be976b7c8</id>
<content type='text'>
genphy_setup_forced hasn't actually reset the PHY for a long time,
but a comment to that effect remained in the code, so code continued
to act as if it *had* reset the PHY, and called the necessary fixup
functions to respond to a PHY reset.  With no reset, those functions
are no longer needed, so we remove them.

Signed-off-by: Andy Fleming &lt;afleming@freescale.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>
genphy_setup_forced hasn't actually reset the PHY for a long time,
but a comment to that effect remained in the code, so code continued
to act as if it *had* reset the PHY, and called the necessary fixup
functions to respond to a PHY reset.  With no reset, those functions
are no longer needed, so we remove them.

Signed-off-by: Andy Fleming &lt;afleming@freescale.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
