1. 27 4月, 2009 2 次提交
  2. 16 4月, 2009 1 次提交
  3. 14 4月, 2009 3 次提交
  4. 11 4月, 2009 1 次提交
  5. 03 4月, 2009 1 次提交
  6. 24 3月, 2009 1 次提交
  7. 14 3月, 2009 1 次提交
  8. 27 2月, 2009 1 次提交
  9. 11 2月, 2009 1 次提交
  10. 01 2月, 2009 1 次提交
  11. 23 1月, 2009 2 次提交
    • S
      phy: Add suspend/resume support to SMSC PHYs · c64d2a9a
      Steve Glendinning 提交于
      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: NSteve Glendinning <steve.glendinning@smsc.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c64d2a9a
    • A
      phylib: Fix oops in suspend/resume paths · 6f051069
      Anton Vorontsov 提交于
      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: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f051069
  12. 22 1月, 2009 1 次提交
  13. 15 1月, 2009 1 次提交
    • A
      phylib: Fix Freescale TBI PHY detection · f0d44ae3
      Anton Vorontsov 提交于
      Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of
      
      commit 3ee82383
      Author: Giulio Benetti <giulio.benetti@micronovasrl.com>
      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->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: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NAndy Fleming <afleming@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f0d44ae3
  14. 26 12月, 2008 1 次提交
  15. 17 12月, 2008 2 次提交
  16. 10 12月, 2008 1 次提交
  17. 29 11月, 2008 4 次提交
  18. 25 11月, 2008 1 次提交
  19. 22 11月, 2008 1 次提交
  20. 21 11月, 2008 1 次提交
  21. 20 11月, 2008 1 次提交
    • T
      phylib: Fix auto-negotiation restart avoidance · de339c2a
      Trent Piepho 提交于
      A previous patch, 51e2a384, made
      genphy_config_aneg() not restart aneg by calling genphy_restart_aneg() if
      the advertisement hadn't changed.
      
      But, genphy_restart_aneg() doesn't just restart aneg, it may also *enable*
      aneg or un-isolate the PHY from the MII (those functions are controlled by
      the same register).  The code to avoid calling genphy_restart_aneg() didn't
      consider this.
      
      So, modify genphy_config_aneg() to also check if the PHY needs to have aneg
      enabled or be un-isolated before deciding not to restart aneg.
      
      This caused a problem with certain Davicom PHYs, as that driver isolates
      the PHY (why?) before calling genphy_config_aneg() and expects the PHY to
      be un-isolated by that function.
      Signed-off-by: NTrent Piepho <tpiepho@freescale.com>
      Reported-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      de339c2a
  22. 17 11月, 2008 2 次提交
  23. 16 11月, 2008 2 次提交
  24. 15 11月, 2008 1 次提交
  25. 11 11月, 2008 1 次提交
  26. 06 11月, 2008 1 次提交
  27. 04 11月, 2008 3 次提交
  28. 17 10月, 2008 1 次提交