1. 15 May, 2009 9 commits
    • Benjamin Herrenschmidt's avatar
      powerpc: Fix PCI ROM access · ad892a63
      Benjamin Herrenschmidt authored
      A couple of issues crept in since about 2.6.27 related to accessing PCI
      device ROMs on various powerpc machines.
      
      First, historically, we don't allocate the ROM resource in the resource
      tree. I'm not entirely certain of why, I susepct they often contained
      garbage on x86 but it's hard to tell. This causes the current generic
      code to always call pci_assign_resource() when trying to access the said
      ROM from sysfs, which will try to re-assign some new address regardless
      of what the ROM BAR was already set to at boot time. This can be a
      problem on hypervisor platforms like pSeries where we aren't supposed
      to move PCI devices around (and in fact probably can't).
      
      Second, our code that generates the PCI tree from the OF device-tree
      (instead of doing config space probing) which we mostly use on pseries
      at the moment, didn't set the (new) flag IORESOURCE_SIZEALIGN on any
      resource. That means that any attempt at re-assigning such a resource
      with pci_assign_resource() would fail due to resource_alignment()
      returning 0.
      
      This fixes this by doing these two things:
      
       - The code that calculates resource flags based on the OF device-node
      is improved to set IORESOURCE_SIZEALIGN on any valid BAR, and while at
      it also set IORESOURCE_READONLY for ROMs since we were lacking that too
      
       - We now allocate ROM resources as part of the resource tree. However
      to limit the chances of nasty conflicts due to busted firmwares, we
      only do it on the second pass of our two-passes allocation scheme,
      so that all valid and enabled BARs get precedence.
      
      This brings pSeries back the ability to access PCI ROMs via sysfs (and
      thus initialize various video cards from X etc...).
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ad892a63
    • Benjamin Herrenschmidt's avatar
      powerpc/pseries: Really fix the oprofile CPU type on pseries · b173f03d
      Benjamin Herrenschmidt authored
      My previous pach for fixing the oprofile CPU type got somewhat mismerged
      (by my fault) when it collided with another related patch. This should
      finally (fingers crossed) fix the whole thing.
      
      We make sure we keep the -old- oprofile type and CPU type whenever
      one of them was specified in the first pass through the function.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b173f03d
    • Benjamin Krill's avatar
      serial/nwpserial: Fix wrong register read address and add interrupt acknowledge. · 951c4df5
      Benjamin Krill authored
      The receive interrupt routine checks the wrong register if the
      receive fifo is empty. Further an explicit interrupt acknowledge
      write is introduced. In some circumstances another interrupt was
      issued.
      Signed-off-by: default avatarBenjamin Krill <ben@codiert.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      951c4df5
    • Gerhard Stenzel's avatar
      powerpc/cell: Make ptcal more reliable · 37cd8ed9
      Gerhard Stenzel authored
      There have been a series of checkstops on QS21 related to
      ptcal being set up incorrectly. On systems that only
      have memory on a single node, ptcal fails when it gets
      a pointer to memory on the remote node.
      
      Moreover, agressive prefetching in memcpy and other
      functions may accidentally touch the first cache line
      of the page that we reserve for ptcal, which causes
      an ECC checkstop.
      
      We now allocate pages only from the specified node, moves the
      ptcal area into the middle of the allocated page to avoid
      potential prefetch problems and prints the address of the
      ptcal area to facilitate diagnostics.
      Signed-off-by: default avatarGerhard Stenzel <gerhard.stenzel@de.ibm.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      37cd8ed9
    • Becky Bruce's avatar
      powerpc: Allow mem=x cmdline to work with 4G+ · 49a84965
      Becky Bruce authored
      We're currently choking on mem=4g (and above) due to memory_limit
      being specified as an unsigned long. Make memory_limit
      phys_addr_t to fix this.
      Signed-off-by: default avatarBecky Bruce <beckyb@kernel.crashing.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      49a84965
    • Kumar Gala's avatar
      powerpc/mpic: Fix incorrect allocation of interrupt rev-map · 31207dab
      Kumar Gala authored
      Before when we were setting up the irq host map for mpic we passed in
      just isu_size for the size of the linear map.  However, for a number of
      mpic implementations we have no isu (thus pass in 0) and will end up
      with a no linear map (size = 0).  This causes us to always call
      irq_find_mapping() from mpic_get_irq().
      
      By moving the allocation of the host map to after we've determined the
      number of sources we can actually benefit from having a linear map for
      the non-isu users that covers all the interrupt sources.
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      31207dab
    • Maynard Johnson's avatar
      powerpc: Fix oprofile sampling of marked events on POWER7 · e5fc948b
      Maynard Johnson authored
      Description
      -----------
      Change ppc64 oprofile kernel driver to use the SLOT bits (MMCRA[37:39]only on
      older processors where those bits are defined.
      
      Background
      ----------
      The performance monitor unit of the 64-bit POWER processor family has the
      ability to collect accurate instruction-level samples when profiling on marked
      events (i.e., "PM_MRK_<event-name>").  In processors prior to POWER6, the MMCRA
      register contained "slot information" that the oprofile kernel driver used to
      adjust the value latched in the SIAR at the time of a PMU interrupt.  But as of
      POWER6, these slot bits in MMCRA are no longer necessary for oprofile to use,
      since the SIAR itself holds the accurate sampled instruction address.  With
      POWER6, these MMCRA slot bits were zero'ed out by hardware so oprofile's use of
      these slot bits was, in effect, a NOP.  But with POWER7, these bits are no
      longer zero'ed out; however, they serve some other purpose rather than slot
      information.  Thus, using these bits on POWER7 to adjust the SIAR value results
      in samples being attributed to the wrong instructions.  The attached patch
      changes the oprofile kernel driver to ignore these slot bits on all newer
      processors starting with POWER6.
      Signed-off-by: default avatarMaynard Johnson <maynardj@us.ibm.com>
      Signed-off-by: default avatarMichael Wolf <mjw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e5fc948b
    • Stephen Rothwell  x's avatar
      powerpc/iseries: Fix pci breakage due to bad dma_data initialization · 397717c5
      Stephen Rothwell x authored
      Commit 4fc665b8 "powerpc: Merge 32 and
      64-bit dma code" made changes to the PCI initialisation code that added
      an assignment to archdata.dma_data but only for 32 bit code.  Commit
      7eef440a "powerpc/pci: Cosmetic cleanups
      of pci-common.c" removed the conditional compilation.  Unfortunately,
      the iSeries code setup the archdata.dma_data before that assignment was
      done - effectively overwriting the dma_data with NULL.
      
      Fix this up by moving the iSeries setup of dma_data into a
      pci_dma_dev_setup callback.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      397717c5
    • Timur Tabi's avatar
      powerpc: Fix mktree build error on Mac OS X host · 93f1cc60
      Timur Tabi authored
      The mktree utility defines some variables as "uint", although this is not a
      standard C type, and so cross-compiling on Mac OS X fails.  Change this to
      "unsigned int".
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Acked-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      93f1cc60
  2. 14 May, 2009 3 commits
  3. 13 May, 2009 5 commits
  4. 08 May, 2009 1 commit
  5. 01 May, 2009 3 commits
  6. 29 Apr, 2009 6 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 3dacbdad
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
        e100: do not go D3 in shutdown unless system is powering off
        netfilter: revised locking for x_tables
        Bluetooth: Fix connection establishment with low security requirement
        Bluetooth: Add different pairing timeout for Legacy Pairing
        Bluetooth: Ensure that HCI sysfs add/del is preempt safe
        net: Avoid extra wakeups of threads blocked in wait_for_packet()
        net: Fix typo in net_device_ops description.
        ipv4: Limit size of route cache hash table
        Add reference to CAPI 2.0 standard
        Documentation/isdn/INTERFACE.CAPI
        update Documentation/isdn/00-INDEX
        ixgbe: Fix WoL functionality for 82599 KX4 devices
        veth: prevent oops caused by netdev destructor
        xfrm: wrong hash value for temporary SA
        forcedeth: tx timeout fix
        net: Fix LL_MAX_HEADER for CONFIG_TR_MODULE
        mlx4_en: Handle page allocation failure during receive
        mlx4_en: Fix cleanup flow on cq activation
        vlan: update vlan carrier state for admin up/down
        netfilter: xt_recent: fix stack overread in compat code
        ...
      3dacbdad
    • Thadeu Lima de Souza Cascardo's avatar
      e100: do not go D3 in shutdown unless system is powering off · ac7c992c
      Thadeu Lima de Souza Cascardo authored
      After experimenting with kexec with the last merges after 2.6.29, I've
      had some problems when probing e100.  It would not read the eeprom.  After
      some bisects, I realized this has been like that since forever (at least
      2.6.18).  The problem is that shutdown is doing the same thing that
      suspend does and puts the device in D3 state.  I couldn't find a way to
      get the device back to a sane state in the probe function.  So, based on
      some similar patches from Rafael J. Wysocki for e1000, e1000e, and ixgbe,
      I wrote this one for e100.
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ac7c992c
    • David S. Miller's avatar
    • Stephen Hemminger's avatar
      netfilter: revised locking for x_tables · 942e4a2b
      Stephen Hemminger authored
      The x_tables are organized with a table structure and a per-cpu copies
      of the counters and rules. On older kernels there was a reader/writer 
      lock per table which was a performance bottleneck. In 2.6.30-rc, this
      was converted to use RCU and the counters/rules which solved the performance
      problems for do_table but made replacing rules much slower because of
      the necessary RCU grace period.
      
      This version uses a per-cpu set of spinlocks and counters to allow to
      table processing to proceed without the cache thrashing of a global
      reader lock and keeps the same performance for table updates.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      942e4a2b
    • Linus Torvalds's avatar
      Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel · 56a50add
      Linus Torvalds authored
      * 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
        drm/i915: fix up error path leak in i915_cmdbuffer
        drm/i915: fix unpaired i915 device mutex on entervt failure.
        drm/i915: add support for G41 chipset
        drm/i915: Enable ASLE if present
        drm/i915: Unregister ACPI video driver when exiting
        drm/i915: Register ACPI video even when not modesetting
        drm/i915: fix transition to I915_TILING_NONE
        drm/i915: Don't let an oops get triggered from irq_emit without dma init.
        drm/i915: allow tiled front buffers on 965+
      56a50add
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · c2e2ceea
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (21 commits)
        RDMA/nes: Update iw_nes version
        RDMA/nes: Fix error path in nes_accept()
        RDMA/nes: Fix hang issues for large cluster dynamic connections
        RDMA/nes: Increase rexmit timeout interval
        RDMA/nes: Check for sequence number wrap-around
        RDMA/nes: Do not set apbvt entry for loopback
        RDMA/nes: Fix unused variable compile warning when INFINIBAND_NES_DEBUG=n
        RDMA/nes: Fix fw_ver in /sys
        RDMA/nes: Set trace length to 1 inch for SFP_D
        RDMA/nes: Enable repause timer for port 1
        RDMA/nes: Correct CDR loop filter setting for port 1
        RDMA/nes: Modify thermo mitigation to flip SerDes1 ref clk to internal
        RDMA/nes: Fix resource issues in nes_create_cq() and nes_destroy_cq()
        RDMA/nes: Remove root_256()'s unused pbl_count_256 parameter
        mlx4_core: Fix memory leak in mlx4_enable_msi_x()
        IB/mthca: Fix timeout for INIT_HCA and a few other commands
        RDMA/cxgb3: Don't zero QP attrs when moving to IDLE
        RDMA/nes: Fix bugs in nes_reg_phys_mr()
        RDMA/nes: Fix compiler warning at nes_verbs.c:1955
        IPoIB: Disable NAPI while CQ is being drained
        ...
      c2e2ceea
  7. 28 Apr, 2009 13 commits