netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Information on DSA driver initialization
@ 2020-03-05 22:24 Sriram Chadalavada
  2020-03-05 22:51 ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Sriram Chadalavada @ 2020-03-05 22:24 UTC (permalink / raw)
  To: netdev

Is there information in kernel documentation or elsewhere about DSA
initialization process starting from the device tree parse to the
Marvell switch being detected?

The specific problem I'm facing is that while I see this:
root@SDhub:/# dmesg | grep igb
[ 1.314324] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[ 1.314332] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 1.314679] igb 0000:03:00.0: enabling device (0140 -> 0142)
[ 1.343926] igb 0000:03:00.0: added PHC on eth0
[ 1.343938] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 1.343949] igb 0000:03:00.0: eth0: (PCIe:2.5Gb/s:Width x1) c4:48:38:00:63:eb
[ 1.344019] igb 0000:03:00.0: eth0: PBA No: 000300-000
[ 1.344030] igb 0000:03:00.0: Using MSI-X interrupts. 4 rx queue(s), 4
tx queue(s)
[ 1.344464] libphy: igb_enet_mii_bus: probed

I do NOT see this in the log:
[ 1.505474] libphy: mdiobus_find: mii bus [igb_enet_mii_bus] found
[ 1.645075] igb 0000:03:00.0 eth0: [0]: detected a Marvell 88E6176 switch
[ 24.341748] igb 0000:03:00.0 eth0: igb_enet_mii_probe starts
[ 24.344928] igb 0000:03:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps
Full Duplex, Flow Control: RX/TX

Any suggestions/speculations what may be going on here?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Information on DSA driver initialization
  2020-03-05 22:24 Information on DSA driver initialization Sriram Chadalavada
@ 2020-03-05 22:51 ` Andrew Lunn
  2020-03-12 22:38   ` Sriram Chadalavada
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2020-03-05 22:51 UTC (permalink / raw)
  To: Sriram Chadalavada; +Cc: netdev

On Thu, Mar 05, 2020 at 05:24:47PM -0500, Sriram Chadalavada wrote:
> Is there information in kernel documentation or elsewhere about DSA
> initialization process starting from the device tree parse to the
> Marvell switch being detected?
> 
> The specific problem I'm facing is that while I see this:
> root@SDhub:/# dmesg | grep igb
> [ 1.314324] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
> [ 1.314332] igb: Copyright (c) 2007-2014 Intel Corporation.
> [ 1.314679] igb 0000:03:00.0: enabling device (0140 -> 0142)
> [ 1.343926] igb 0000:03:00.0: added PHC on eth0
> [ 1.343938] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
> [ 1.343949] igb 0000:03:00.0: eth0: (PCIe:2.5Gb/s:Width x1) c4:48:38:00:63:eb
> [ 1.344019] igb 0000:03:00.0: eth0: PBA No: 000300-000
> [ 1.344030] igb 0000:03:00.0: Using MSI-X interrupts. 4 rx queue(s), 4
> tx queue(s)
> [ 1.344464] libphy: igb_enet_mii_bus: probed
> 
> I do NOT see this in the log:
> [ 1.505474] libphy: mdiobus_find: mii bus [igb_enet_mii_bus] found
> [ 1.645075] igb 0000:03:00.0 eth0: [0]: detected a Marvell 88E6176 switch
> [ 24.341748] igb 0000:03:00.0 eth0: igb_enet_mii_probe starts
> [ 24.344928] igb 0000:03:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps
> Full Duplex, Flow Control: RX/TX
> 
> Any suggestions/speculations what may be going on here?

I think you have some patches applied here, because i don't think igb
supports linux mdio. It has its own implementation.

Assuming that is what you have, the probe of the switch normally fails
the first time. Generally, the mdio bus is registered before the
network interface. So when the switch tried to lookup the ethernet
interface, it does not exist. -EPROBE_DEFFER is returned. The core
will then try again, by which time the interfaces does exist.

You probably want to scatter some printk() in the code to see what is
happening.

	Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Information on DSA driver initialization
  2020-03-05 22:51 ` Andrew Lunn
@ 2020-03-12 22:38   ` Sriram Chadalavada
  2020-03-13  9:47     ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Sriram Chadalavada @ 2020-03-12 22:38 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: netdev

Hi Andrew,
   Thank you for your response.

  Yes. There are patches applied.  I did scatter printks/pr_info but
don't see anything yet from the Marvell 6176 switch without
CONFIG_NET_DSA_LEGACY enabled.

    One question I have is if CONFIG_NET_DSA_LEGACY is NOT selected,
what in the 4.19 kernel takes over the function of dsa_probe function
in net/dsa/legacy.c and mv88e6xxx_drv_probe in
drivers/net/dsa/mv88e6xxx/chip.c ?

- Sriram




On Thu, Mar 5, 2020 at 5:51 PM Andrew Lunn <andrew@lunn.ch> wrote:
>
> On Thu, Mar 05, 2020 at 05:24:47PM -0500, Sriram Chadalavada wrote:
> > Is there information in kernel documentation or elsewhere about DSA
> > initialization process starting from the device tree parse to the
> > Marvell switch being detected?
> >
> > The specific problem I'm facing is that while I see this:
> > root@SDhub:/# dmesg | grep igb
> > [ 1.314324] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
> > [ 1.314332] igb: Copyright (c) 2007-2014 Intel Corporation.
> > [ 1.314679] igb 0000:03:00.0: enabling device (0140 -> 0142)
> > [ 1.343926] igb 0000:03:00.0: added PHC on eth0
> > [ 1.343938] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
> > [ 1.343949] igb 0000:03:00.0: eth0: (PCIe:2.5Gb/s:Width x1) c4:48:38:00:63:eb
> > [ 1.344019] igb 0000:03:00.0: eth0: PBA No: 000300-000
> > [ 1.344030] igb 0000:03:00.0: Using MSI-X interrupts. 4 rx queue(s), 4
> > tx queue(s)
> > [ 1.344464] libphy: igb_enet_mii_bus: probed
> >
> > I do NOT see this in the log:
> > [ 1.505474] libphy: mdiobus_find: mii bus [igb_enet_mii_bus] found
> > [ 1.645075] igb 0000:03:00.0 eth0: [0]: detected a Marvell 88E6176 switch
> > [ 24.341748] igb 0000:03:00.0 eth0: igb_enet_mii_probe starts
> > [ 24.344928] igb 0000:03:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps
> > Full Duplex, Flow Control: RX/TX
> >
> > Any suggestions/speculations what may be going on here?
>
> I think you have some patches applied here, because i don't think igb
> supports linux mdio. It has its own implementation.
>
> Assuming that is what you have, the probe of the switch normally fails
> the first time. Generally, the mdio bus is registered before the
> network interface. So when the switch tried to lookup the ethernet
> interface, it does not exist. -EPROBE_DEFFER is returned. The core
> will then try again, by which time the interfaces does exist.
>
> You probably want to scatter some printk() in the code to see what is
> happening.
>
>         Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Information on DSA driver initialization
  2020-03-12 22:38   ` Sriram Chadalavada
@ 2020-03-13  9:47     ` Andrew Lunn
  2020-03-13 21:04       ` Sriram Chadalavada
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2020-03-13  9:47 UTC (permalink / raw)
  To: Sriram Chadalavada; +Cc: netdev

On Thu, Mar 12, 2020 at 06:38:24PM -0400, Sriram Chadalavada wrote:
> Hi Andrew,
>    Thank you for your response.
> 
>   Yes. There are patches applied.  I did scatter printks/pr_info but
> don't see anything yet from the Marvell 6176 switch without
> CONFIG_NET_DSA_LEGACY enabled.

CONFIG_NET_DSA_LEGACY is dead. Don't use it. Use the new binding.

> 
>     One question I have is if CONFIG_NET_DSA_LEGACY is NOT selected,
> what in the 4.19 kernel takes over the function of dsa_probe function
> in net/dsa/legacy.c and mv88e6xxx_drv_probe in
> drivers/net/dsa/mv88e6xxx/chip.c ?

When the mdio bus is registered, the mdio driver calls
of_mdiobus_register() passing a DT node for the bus. The bus is walked
and devices instantiated.

    Andrew

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Information on DSA driver initialization
  2020-03-13  9:47     ` Andrew Lunn
@ 2020-03-13 21:04       ` Sriram Chadalavada
  0 siblings, 0 replies; 5+ messages in thread
From: Sriram Chadalavada @ 2020-03-13 21:04 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 13858 bytes --]

Hi Andrew,
  Thank you for the clarification. I'm trying with new binding but am
facing difficulty with appropriate device tree creation.

  Please find attached a block diagram of the DSA Marvell 6176 switch
I am working with.

  This entry in the device tree is what worked with CONFIG_NET_DSA_LEGACY.
dsa@0 {
                compatible = "marvell,dsa";
                #address-cells = <2>;
                #size-cells = <0>;
                interrupt-parent = <&gpio2>;
                interrupts = <&gpio2 31 IRQ_TYPE_LEVEL_LOW>;
                dsa,ethernet = <&eth0>;

                switch@0 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0 0>;

                        port@0 {
                                reg = <0>;
                                label = "eth1";
                        };

                        port@1 {
                                reg = <1>;
                                label = "eth2";
                        };

                        port@2 {
                                reg = <2>;
                                label = "eth3";
                        };

                        port@3 {
                                reg = <3>;
                                label = "eth4";
                        };

                        port@4 {
                                reg = <4>;
                                label = "eth5";
                        };

                        port@5 {
                                reg = <5>;
                                label = "cpu";
                        };
                };
        };

and this attempt with the new binding (using imx6qdl-zii-rdu2.dtsi as
an example) :

 /* Marvell 6176 switch under new DSA binding */
fec {
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_enet>;
                phy-mode = "rgmii-id";
                phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
                status = "okay";

                mdio {
                  #address-cells = <1>;
                  #size-cells = <0>;
                  interrupt-parent = <&gpio2>;
                  interrupts = <&gpio2 31 IRQ_TYPE_LEVEL_LOW>;


                  switch: switch@0 {
                        compatible = "marvell,mv88e6085";
                        reg = <0>;
                        dsa,member = <0 0>;

                        ports{
                                #address-cells = <1>;
                                #size-cells = <0>;
                                port@0 {
                                        reg = <0>;
                                        label = "port0";
                                };

                                port@1 {
                                        reg = <1>;
                                        label = "port1";
                                };

                                port@2 {
                                        reg = <2>;
                                        label = "port2";
                                };

                                port@5 {
                                        reg = <5>;
                                        label = "cpu";
                                        ethernet = <&fec>; /*Similar
to how CPU port is defined in imx6dl-zii-rd2.dtsi */
                                };
                            };
                       };
                       mdio {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "okay";
                      };
                };
     };

causes kernel PANIC after SEVERAL warnings during the build process:

/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/linux-4.19.106/scripts/dtc/dtc
-O dtb -i/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/linux-4.19.106/arch/arm/boot/dts/
-Wno-unit_address_vs_reg -Wno-simple_bus_reg -Wno-unit_address_format
-Wno-pci_bridge -Wno-pci_device_bus_num -Wno-pci_device_reg
-Wno-avoid_unnecessary_addr_size -Wno-alias_paths
-Wno-graph_child_address -Wno-graph_port -Wno-unique_unit_address  -o
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb.tmp
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /ecspi2/hi3593@0:reg: property has invalid
length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/pca9538@70:reg: property has invalid
length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/gpio@71:reg: property has invalid length
(4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/gpio@72:reg: property has invalid length
(4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/pca9538@73:reg: property has invalid
length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/lm75@48:reg: property has invalid length
(4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/eeprom@54:reg: property has invalid length
(4 bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (reg_format): /i2c1/rtc@51:reg: property has invalid length (4
bytes) (#address-cells == 2, #size-cells == 1)
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /ecspi2/hi3593@0: Relying on
default #address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /ecspi2/hi3593@0: Relying on
default #size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/pca9538@70: Relying on
default #address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/pca9538@70: Relying on
default #size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/gpio@71: Relying on default
#address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/gpio@71: Relying on default
#size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/gpio@72: Relying on default
#address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/gpio@72: Relying on default
#size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/pca9538@73: Relying on
default #address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/pca9538@73: Relying on
default #size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/lm75@48: Relying on default
#address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/lm75@48: Relying on default
#size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/eeprom@54: Relying on default
#address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/eeprom@54: Relying on default
#size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/rtc@51: Relying on default
#address-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (avoid_default_addr_size): /i2c1/rtc@51: Relying on default
#size-cells value
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb:
Warning (interrupts_property): /fec/mdio:#interrupt-cells: size is
(12), expected multiple of 8
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-smu.dtb:
Warning (interrupts_property): /dsa@0:#interrupt-cells: size is (12),
expected multiple of 8
rm -f /home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/image-imx6q-sd-hub.dtb.tmp
cp -fpR /home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/linux-4.19.106/arch/arm/boot/dts/imx6q-sd-hub.dtb
/home/schadalavada/data/buildcore2/buildcore/bin/targets/imx6/generic-glibc/imx6q-sd-hub.dtb;
/home/schadalavada/data/buildcore2/buildcore/scripts/mkits.sh -D
imx6q-sd-hub -o
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub.its
-k /home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/zImage
-d /home/schadalavada/data/buildcore2/buildcore/bin/targets/imx6/generic-glibc/imx6q-sd-hub.dtb
-C none -a 0x10008000 -e 0x10008000 -c "config@1" -A arm -v 4.19.106
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/kernel@1: node has a unit name,
but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/kernel@1/hash@1: node has a
unit name, but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/kernel@1/hash@2: node has a
unit name, but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/fdt@1: node has a unit name,
but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/fdt@1/hash@1: node has a unit
name, but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /images/fdt@1/hash@2: node has a unit
name, but no reg property
/home/schadalavada/data/buildcore2/buildcore/build_dir/target-arm_cortex-a9+neon_glibc_eabi/linux-imx6/fit-imx6q-sd-hub-initramfs.itb.tmp:
Warning (unit_address_vs_reg): /configurations/config@1: node has a
unit name, but no reg property


Where should I be investigating next?

Thank you,
Sriram

On Fri, Mar 13, 2020 at 5:47 AM Andrew Lunn <andrew@lunn.ch> wrote:
>
> On Thu, Mar 12, 2020 at 06:38:24PM -0400, Sriram Chadalavada wrote:
> > Hi Andrew,
> >    Thank you for your response.
> >
> >   Yes. There are patches applied.  I did scatter printks/pr_info but
> > don't see anything yet from the Marvell 6176 switch without
> > CONFIG_NET_DSA_LEGACY enabled.
>
> CONFIG_NET_DSA_LEGACY is dead. Don't use it. Use the new binding.
>
> >
> >     One question I have is if CONFIG_NET_DSA_LEGACY is NOT selected,
> > what in the 4.19 kernel takes over the function of dsa_probe function
> > in net/dsa/legacy.c and mv88e6xxx_drv_probe in
> > drivers/net/dsa/mv88e6xxx/chip.c ?
>
> When the mdio bus is registered, the mdio driver calls
> of_mdiobus_register() passing a DT node for the bus. The bus is walked
> and devices instantiated.
>
>     Andrew

[-- Attachment #2: Untitled Diagram.pdf --]
[-- Type: application/pdf, Size: 21896 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-13 21:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-05 22:24 Information on DSA driver initialization Sriram Chadalavada
2020-03-05 22:51 ` Andrew Lunn
2020-03-12 22:38   ` Sriram Chadalavada
2020-03-13  9:47     ` Andrew Lunn
2020-03-13 21:04       ` Sriram Chadalavada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).