Merge branch 'mediatek-reset-flow'
authorDavid S. Miller <davem@davemloft.net>
Fri, 16 Sep 2016 06:23:06 +0000 (02:23 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Sep 2016 06:23:06 +0000 (02:23 -0400)
commitbf0a6dae9d2741a9827774cdcfd5fca436bedd23
tree1d2a46291794c227357058f756fb26504f126a1d
parent364eac0c8b996633aa822b65476ae002a4aacd20
parentdce6fa42199d493596315cddc0b4e7ac1d57475b
Merge branch 'mediatek-reset-flow'

Sean Wang says:

====================
mediatek: add enhancement into the existing reset flow

Current driver only resets DMA used by descriptor rings which
can't guarantee it can recover all various kinds of fatal
errors, so the patch
1) tries to reset the underlying hardware resource from scratch on
Mediatek SoC required for ethernet running.
2) refactors code in order to the reusability of existing code.
3) considers handling for race condition between the reset flow and
callbacks registered into core driver called about hardware accessing.
4) introduces power domain usage to hardware setup which leads to have
cleanly and completely restore to the state as the initial.

Changes since v1:
- fix the build error with module built causing undefined symbol for
  pinctrl_bind_pins, so using pinctrl_select_state instead accomplishes
  the pin mux setup during the reset process.
====================

Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: David S. Miller <davem@davemloft.net>