Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1536209

[PATCH v2 net-next v2 0/4] net: dsa: mv88e6xxx: rework reset and PPU code

From Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Newsgroups linux.kernel
Subject [PATCH v2 net-next v2 0/4] net: dsa: mv88e6xxx: rework reset and PPU code
Date 2016-12-05 17:30 +0100
Message-ID <sL4jo-6RL-13@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Old Marvell chips (like 88E6060) don't have a PHY Polling Unit (PPU).

Next chips (like 88E6185) have a PPU, which has exclusive access to the
PHY registers, thus must be disabled before access.

Newer chips (like 88E6352) have an indirect mechanism to access the PHY
registers whenever, thus loose control over the PPU (always enabled).

Here's a summary:

Model | PPU? | Has PPU ctrl?  | PPU state readable? | PHY access
----- | ---- | -------------- | ------------------- | ----------
 6060 | no   | no             | no                  | direct
 6185 | yes  | yes, PPUEn bit | yes, PPUState 2-bit | direct w/ PPU dis.
 6352 | yes  | no             | yes, PPUState 1-bit | indirect
 6390 | yes  | no             | yes, InitState bit  | indirect

Depending on the PPU control, a switch may have to restart the PPU when
resetting the switch. Once the switch is reset, we must wait for the PPU
state to be active polling again before accessing the registers.

For that purpose, add new operations to the chips to enable/disable the
PPU, and execute software reset. With these new ops in place, rework the
switch reset code and finally get rid of the MV88E6XXX_FLAG_PPU* flags.

Changes in v2:
  - wait in ppu/reset ops so that ppu_polling is not needed anymore.

Vivien Didelot (4):
  net: dsa: mv88e6xxx: add helper to disable ports
  net: dsa: mv88e6xxx: add helper to hardware reset
  net: dsa: mv88e6xxx: add a soft reset operation
  net: dsa: mv88e6xxx: add PPU operations

 drivers/net/dsa/mv88e6xxx/chip.c      | 178 +++++++++++++++-------------------
 drivers/net/dsa/mv88e6xxx/global1.c   | 178 ++++++++++++++++++++++++++++++++++
 drivers/net/dsa/mv88e6xxx/global1.h   |   7 ++
 drivers/net/dsa/mv88e6xxx/mv88e6xxx.h |  34 +++----
 4 files changed, 278 insertions(+), 119 deletions(-)

-- 
2.10.2

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v2 net-next v2 0/4] net: dsa: mv88e6xxx: rework reset and PPU code Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 17:30 +0100
  [PATCH v2 net-next v2 4/4] net: dsa: mv88e6xxx: add PPU operations Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 17:30 +0100
    Re: [PATCH v2 net-next v2 4/4] net: dsa: mv88e6xxx: add PPU  operations Stefan Eichenberger <eichest@gmail.com> - 2016-12-05 22:10 +0100
      Re: [PATCH v2 net-next v2 4/4] net: dsa: mv88e6xxx: add PPU operations Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 23:20 +0100
        Re: [PATCH v2 net-next v2 4/4] net: dsa: mv88e6xxx: add PPU operations Stefan Eichenberger <eichest@gmail.com> - 2016-12-06 13:30 +0100
  [PATCH v2 net-next v2 2/4] net: dsa: mv88e6xxx: add helper to hardware reset Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 17:30 +0100
  [PATCH v2 net-next v2 1/4] net: dsa: mv88e6xxx: add helper to disable ports Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 17:40 +0100
  [PATCH v2 net-next v2 3/4] net: dsa: mv88e6xxx: add a soft reset operation Vivien Didelot <vivien.didelot@savoirfairelinux.com> - 2016-12-05 17:40 +0100
    Re: [PATCH v2 net-next v2 3/4] net: dsa: mv88e6xxx: add a soft reset  operation Stefan Eichenberger <eichest@gmail.com> - 2016-12-05 22:30 +0100

csiph-web