1. 30 Jul, 2009 4 commits
    • Anton Vorontsov's avatar
      powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards · 1333c3d6
      Anton Vorontsov authored
      U-Boot maps PCI IO at 0xe0300000, while current dts files specify
      0xe2000000. This leads to the following oops with CONFIG_8139TOO_PIO=y.
      
      8139too Fast Ethernet driver 0.9.28
      Machine check in kernel mode.
      Caused by (from SRR1=41000): Transfer error ack signal
      Oops: Machine check, sig: 7 [#1]
      MPC837x RDB
      [...]
      NIP [00000900] 0x900
      LR [c0439df8] rtl8139_init_board+0x238/0x524
      Call Trace:
      [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable)
      [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c
      [cf831e40] [c0235250] pci_call_probe+0x20/0x30
      [...]
      
      This patch fixes the issue by specifying the correct PCI IO base
      address.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      1333c3d6
    • Anton Vorontsov's avatar
      powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards · 8a0b177f
      Anton Vorontsov authored
      Sometimes (e.g. when there are no UEMs attached to a board)
      fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY,
      this is because get_phy_id() returns bogus 0x0000ffff values
      (0xffffffff is expected), and therefore mdio bus probing fails with
      the following message:
      
        fsl-pq_mdio: probe of e0082120.mdio failed with error -16
      
      And obviously ethernet doesn't work after this.
      
      This patch solves the problem by adding tbi-phy node into mdio node,
      so that we won't scan for spare addresses, we'll just use a fixed one.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      8a0b177f
    • Anton Vorontsov's avatar
      powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards · c4673f9a
      Anton Vorontsov authored
      Linux isn't able to detect link changes on ethernet ports that were
      used by U-Boot. This is because U-Boot wrongly clears interrupt
      polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR,
      0x1b) of Marvell PHYs.
      
      There is no easy way for PHY drivers to know IRQ line polarity (we
      could extract it from the device tree and pass it to phydevs, but
      that'll be quite a lot of work), so for now just reset the PHYs to
      their default states.
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      c4673f9a
    • Kumar Gala's avatar
      powerpc/mm: Fix SMP issue with MMU context handling code · 5156ddce
      Kumar Gala authored
      In switch_mmu_context() if we call steal_context_smp() to get a context
      to use we shouldn't fall through and than call steal_context_up().  Doing
      so can be problematic in that the 'mm' that steal_context_up() ends up
      using will not get marked dirty in the stale_map[] for other CPUs that
      might have used that mm.  Thus we could end up with stale TLB entries in
      the other CPUs that can cause all kinda of havoc.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      5156ddce
  2. 28 Jul, 2009 2 commits
  3. 27 Jul, 2009 34 commits