1. 05 4月, 2008 23 次提交
  2. 04 4月, 2008 12 次提交
  3. 03 4月, 2008 5 次提交
    • R
      [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works · 8d813941
      René Bürgel 提交于
      This gets the FEC ethernet driver working again on the lite5200
      platform.
      
      The FEC driver is also compatible with the MPC5200, not only with the
      MPC5200B, so this adds a suitable entry to the driver's match list.
      Furthermore this adds the settings for the PHY in the dts file for the
      Lite5200.  Note, that this is not exactly the same as in the
      Lite5200B, because the PHY is located at f0003000:01 for the 5200, and
      at :00 for the 5200B.  This was tested on a Lite5200 and a Lite5200B,
      both booted a kernel via tftp and mounted the root via nfs
      successfully.
      Signed-off-by: NRené Bürgel <r.buergel@unicontrol.de>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8d813941
    • B
      [POWERPC] mpc5200: Amalgamated DTS fixes and updates · 115e1adc
      Bartlomiej Sieka 提交于
      DTS updates that fix booting problems on mpc5200-based boards:
      - change to ethernet reg property
      - addition of mdio and phy nodes
      - removal of pci node (Motion-Pro board)
      
      Other DTS updates:
      - update i2c device tree nodes
      - add lpb bus node and flash device (without partitions defined)
      - add rtc i2c nodes
      Signed-off-by: NMarian Balakowicz <m8@semihalf.com>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      115e1adc
    • M
      [POWERPC] Fix rtas_flash procfs interface · 74848398
      Maxim Shchetynin 提交于
      Handling of the proc_dir_entry->count was changed in 2.6.24-rc5.
      After this change, the default value for pde->count is 1 and not 0 as
      before.  Therefore, if we want to check whether our procfs file is
      already opened (already in use), we have to check if pde->count is
      greater than 2 rather than 1.
      Signed-off-by: NMaxim Shchetynin <maxim@de.ibm.com>
      Signed-off-by: NJens Osterkamp <jens@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      74848398
    • B
      [POWERPC] Fix deadlock with mmu_hash_lock in hash_page_sync · b991f05f
      Benjamin Herrenschmidt 提交于
      hash_page_sync() takes and releases the low level mmu hash
      lock in order to sync with other processors disposing of page
      tables.  Because that lock can be needed to service hash misses
      triggered by interrupt handlers, taking it must be done with
      interrupts off.  However, hash_page_sync() appears to be called
      with interrupts enabled, thus causing occasional deadlocks.
      
      We fix it by making sure hash_page_sync() masks interrupts while
      holding the lock.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b991f05f
    • B
      [POWERPC] Fix iSeries hard irq enabling regression · ff3da2e0
      Benjamin Herrenschmidt 提交于
      A subtle bug sneaked into iSeries recently.  On this platform, we must
      not normally clear MSR:EE (the hardware external interrupt enable)
      except for short periods of time.  Taking an interrupt while
      soft-disabled doesn't cause us to clear it for example.
      
      The iSeries kernel expects to mostly run with MSR:EE enabled at all
      times except in a few exception entry/exit code paths.  Thus
      local_irq_enable() doesn't check if it needs to hard-enable as it
      expects this to be unnecessary on iSeries.
      
      However, hard_irq_disable() _does_ cause MSR:EE to be cleared,
      including on iSeries.  A call to it was recently added to the
      context switch code, thus causing interrupts to become disabled
      for a long periods of time, causing the iSeries watchdog to kick
      in under some circumstances and other nasty things.
      
      This patch fixes it by making local_irq_enable() properly re-enable
      MSR:EE on iSeries.  It basically removes a return statement here
      to make iSeries use the same code path as everybody else.  That does
      mean that we might occasionally get spurious decrementer interrupts
      but I don't think that matters.
      
      Another option would have been to make hard_irq_disable() a nop
      on iSeries but I didn't like it much, in case we have good reasons
      to hard-disable.
      
      Part of the patch is fixes to make sure the hard_enabled PACA field
      is properly set on iSeries as it used not to be before, since it
      was mostly unused.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      ff3da2e0