1. 14 May, 2009 2 commits
  2. 07 May, 2009 5 commits
  3. 30 Apr, 2009 4 commits
  4. 29 Apr, 2009 1 commit
    • David Brownell's avatar
      bugfix for reboot · 5f78584b
      David Brownell authored
      Fix the following bug, which was reported after a command line "reboot":
      
       WARNING: at kernel/lockdep.c:2280 lockdep_trace_alloc+0x40/0x50()
       Modules linked in:
       [<c002d910>] (unwind_backtrace+0x0/0xdc) from [<c003bba8>] (warn_slowpath+0x68/0x8c)
       [<c003bba8>] (warn_slowpath+0x68/0x8c) from [<c005ecf0>] (lockdep_trace_alloc+0x40/0x50)
       [<c005ecf0>] (lockdep_trace_alloc+0x40/0x50) from [<c0091e14>] (__kmalloc+0x58/0x110)
       [<c0091e14>] (__kmalloc+0x58/0x110) from [<c0165044>] (kvasprintf+0x38/0x58)
       [<c0165044>] (kvasprintf+0x38/0x58) from [<c015e794>] (kobject_set_name_vargs+0x14/0x54)
       [<c015e794>] (kobject_set_name_vargs+0x14/0x54) from [<c019b9ac>] (dev_set_name+0x20/0x2c)
       [<c019b9ac>] (dev_set_name+0x20/0x2c) from [<c0031804>] (davinci_watchdog_reset+0x1c/0xb0)
       [<c0031804>] (davinci_watchdog_reset+0x1c/0xb0) from [<c0029304>] (arm_machine_restart+0x24/0x50)
       [<c0029304>] (arm_machine_restart+0x24/0x50) from [<c0028d84>] (machine_restart+0x18/0x20)
       [<c0028d84>] (machine_restart+0x18/0x20) from [<c004ba80>] (sys_reboot+0xe0/0x1c4)
       [<c004ba80>] (sys_reboot+0xe0/0x1c4) from [<c0027d40>] (ret_fast_syscall+0x0/0x2c)
      
      The issue is that dev_set_name() may no longer be called with IRQs disabled.
      Trivial fix:  don't cons up a fake watchdog device, just use the real one.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      5f78584b
  5. 17 Apr, 2009 4 commits
    • Chaithrika U S's avatar
      ARM: DaVinci: EMAC: Convert to net_device_ops · ed400fa2
      Chaithrika U S authored
      Use network device ops interface.
      Tested on TI DM646x adn DM644x EVMs.
      Signed-off-by: default avatarChaithrika U S <chaithrika@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      ed400fa2
    • Chaithrika U S's avatar
      ARM: DaVinci: EMAC: Fix phy_disconnect bug · ab82cf7a
      Chaithrika U S authored
      Fix for phy_disconnect bug
      
      Disconnect the phy device only if there is a PHY connected.
      If the phy_mask is zero, the phydev pointer is null, therefore
      check the phydevice before disconnection.
      Signed-off-by: default avatarChaithrika U S <chaithrika@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      ab82cf7a
    • Mark A. Greer's avatar
      davinci: Move PINMUX defines to SoC files · 6f5e22d6
      Mark A. Greer authored
      Different SoC have different numbers of pinmux registers and other
      resources that overlap with each other.  To clean up the code and
      eliminate defines that overlap with each other, move the PINMUX
      defines to the SoC specific files.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      6f5e22d6
    • Mark A. Greer's avatar
      davinci: Add compare register support to timer code · 9c5ac9b1
      Mark A. Greer authored
      The Timer64p timer has 8 compare registers that can
      be used to generate interrupts when the timer value
      matches the compare reg's value.  They do not disturb
      the timer itself.  This can be useful when there is
      only one timer available for both clock events and
      clocksource.
      
      When enabled, the clocksource remains a continuous
      32-bit counter but the clock event will no longer
      support periodic interrupts.  Instead only oneshot
      timers will be supported and implemented by setting
      the compare register to the current timer value plus
      the period that the clock event subsystem is requesting.
      
      Compare registers support is enabled automatically
      when the following conditions are met:
      1) The same timer is being used for clock events
         and clocksource.
      2) The timer is the bottom half (32 bits) of the
         64-bit timer (hardware limitation).
      3) The the compare register offset and irq are
         not zero.
      
      Since the timer is always running, there is a hardware
      race in timer32_config() between reading the current
      timer value, and adding the period to the current
      timer value and writing the compare register.
      Testing on a da830 evm board with the timer clocked
      at 24 MHz and the processor clocked at 300 MHz,
      showed the number of counter ticks to do this ranged
      from 20-53 (~1-2.2 usecs) but usually around 41 ticks.
      This includes some artifacts from collecting the
      information.  So, the minimum period should be
      at least 5 usecs to be safe.
      
      There is also an non-critical lower limit that
      the period should be since there is no point in
      setting an event that is much shorter than the
      time it takes to set the event, and get & handle
      the timer interrupt for that event.  There can
      also be all sorts of delays from activities
      occuring elsewhere in the system (including
      hardware activitis like cache & TLB management).
      These are virtually impossible to quantify so a
      minimum period of 50 usecs was chosen.  That will
      certianly be enough to avoid the actual hardware
      race but hopefully not large enough to cause
      unreasonably course-grained timers.
      Signed-off-by: default avatarMark A. Greer <mgreer@mvista.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      9c5ac9b1
  6. 16 Apr, 2009 18 commits
  7. 15 Apr, 2009 5 commits
  8. 14 Apr, 2009 1 commit