Fixed PHY problems

7 messages, 3 authors, 2007-05-11 · open the first message on its own page

Fixed PHY problems

From: Joakim Tjernlund <hidden>
Date: 2007-05-10 17:41:55

Trying to boot todays linus tree with fixed PHY support enabled gets me this:
Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed.
------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
    LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60

The other thing is, how do I specify a fixed PHY
in OF?

 Jocke

Re: Fixed PHY problems

From: Vitaly Bordug <hidden>
Date: 2007-05-11 08:07:15

On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted hunk
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
    LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60

The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that  fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
 Jocke
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

-- 
Sincerely, Vitaly

Re: Fixed PHY problems

From: Joakim Tjernlund <hidden>
Date: 2007-05-11 09:05:02

On Fri, 2007-05-11 at 12:07 +0400, Vitaly Bordug wrote:
On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
    LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60

The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that  fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
Please do, thanks.

Do you have any idea what needs to go into the DTS file to make my
832x(ucc_geth) find it?

Re: Fixed PHY problems

From: Joakim Tjernlund <hidden>
Date: 2007-05-11 13:41:14

On Fri, 2007-05-11 at 11:04 +0200, Joakim Tjernlund wrote:
On Fri, 2007-05-11 at 12:07 +0400, Vitaly Bordug wrote:
quoted
On Thu, 10 May 2007 19:41:53 +0200
Joakim Tjernlund wrote:
quoted
Trying to boot todays linus tree with fixed PHY support enabled gets
me this: Fixed PHY: Registered new driver
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed. ------------[ cut here ]------------
Badness at drivers/base/core.c:107
Call Trace:
[cffc1dc0] [c0008324] show_stack+0x48/0x194 (unreliable)
[cffc1df0] [c00f4a4c] report_bug+0x84/0xec
[cffc1e00] [c000dde8] program_check_exception+0x274/0x55c
[cffc1e20] [c000f770] ret_from_except_full+0x0/0x4c
--- Exception: 700 at device_release+0x54/0x90
    LR = device_release+0x54/0x90
[cffc1ef0] [c00f5e1c] kobject_cleanup+0xb4/0xb8
[cffc1f10] [c00f6ca0] kref_put+0x68/0x80
[cffc1f20] [c00f5d58] kobject_put+0x24/0x34
[cffc1f30] [c01150bc] put_device+0x1c/0x2c
[cffc1f40] [c0243a9c] fixed_init+0x1cc/0x210
[cffc1f60] [c022e828] kernel_init+0x8c/0x2b4
[cffc1ff0] [c000ff4c] kernel_thread+0x44/0x60

The other thing is, how do I specify a fixed PHY
in OF?
I have a patch that  fixes it but was busy with other stuff because of merge window.
Can send it to you meanwhile, going to deal with it after next rc released...
Please do, thanks.

Do you have any idea what needs to go into the DTS file to make my
832x(ucc_geth) find it?
hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
	mdio@2320 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2320 18>;
			device_type = "mdio";
			compatible = "ucc_geth_phy";

			phy3: ethernet-phy@03 {
				interrupt-parent = < &ipic >;
				interrupts = <11 8>;
				reg = <3>;
				device_type = "ethernet-phy";
			};
			phy4: ethernet-phy@04 {
				interrupt-parent = < &ipic >;
				interrupts = <12 8>;
				reg = <4>;
				device_type = "ethernet-phy";
			};
		};
into fixed PHYs, how do I do that?

 Jocke

Re: Fixed PHY problems

From: Vitaly Bordug <hidden>
Date: 2007-05-11 14:04:18

hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
	mdio@2320 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2320 18>;
			device_type = "mdio";
			compatible = "ucc_geth_phy";

			phy3: ethernet-phy@03 {
				interrupt-parent = < &ipic >;
				interrupts = <11 8>;
				reg = <3>;
				device_type = "ethernet-phy";
			};
			phy4: ethernet-phy@04 {
				interrupt-parent = < &ipic >;
				interrupts = <12 8>;
				reg = <4>;
				device_type = "ethernet-phy";
			};
		};
into fixed PHYs, how do I do that?
Well, fixed phy didn't made it to have any representation in dts as of now, at least
what I am aware of, and it is just a platform device so far.

Speaking about it, I am recalling long-pending enhancement to unify fixed interface with
bus_id representation in gianfar (that is having numeric bus:device way).

About dts, the only options fixed phy can have, are speed and duplex, it does not trigger irq and
so on, and I see something like 

phy1: fixed-phy@01 {
	reg = <100 1>; /*100Mps, full duplex*/
	device_type = "ethernet-phy";
};

-- 
Sincerely, 
Vitaly

Re: Fixed PHY problems

From: Joakim Tjernlund <hidden>
Date: 2007-05-11 14:20:03

On Fri, 2007-05-11 at 18:04 +0400, Vitaly Bordug wrote:
quoted
hmm, been trying to figure out all day how to make ucc_geth find my
fixed PHY without success. OF experts, please give me some hints.
My board is derived from the in tree mpc832x_mds bord and I am trying to
convert this part:
	mdio@2320 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2320 18>;
			device_type = "mdio";
			compatible = "ucc_geth_phy";

			phy3: ethernet-phy@03 {
				interrupt-parent = < &ipic >;
				interrupts = <11 8>;
				reg = <3>;
				device_type = "ethernet-phy";
			};
			phy4: ethernet-phy@04 {
				interrupt-parent = < &ipic >;
				interrupts = <12 8>;
				reg = <4>;
				device_type = "ethernet-phy";
			};
		};
into fixed PHYs, how do I do that?
Well, fixed phy didn't made it to have any representation in dts as of now, at least
what I am aware of, and it is just a platform device so far.

Speaking about it, I am recalling long-pending enhancement to unify fixed interface with
bus_id representation in gianfar (that is having numeric bus:device way).

About dts, the only options fixed phy can have, are speed and duplex, it does not trigger irq and
so on, and I see something like 

phy1: fixed-phy@01 {
	reg = <100 1>; /*100Mps, full duplex*/
	device_type = "ethernet-phy";
};
Looks resonable to me, although I think reg needs to be <d#100 1>

How do make ucc_geth find it?

PS.
   Could you send me the patch that fixes:
Device 'fixed@100:1' does not have a release() function, it is broken
and must be fixed.

Is this warning harmless?

Re: Fixed PHY problems

From: Segher Boessenkool <hidden>
Date: 2007-05-11 15:40:06

quoted
			phy3: ethernet-phy@03 {
quoted
			phy4: ethernet-phy@04 {
@3 resp. @4 is more in line with existing practice.
phy1: fixed-phy@01 {
	reg = <100 1>; /*100Mps, full duplex*/
The first entry in "reg" has to correspond to the
unit address (@01 in this case -- again, should be
@1 instead).

Never overload the meaning of well-known properties,
esp. not if it conflicts with the existing semantics,
like here.


Segher
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help