1. 24 4月, 2012 1 次提交
  2. 20 4月, 2012 1 次提交
    • A
      KVM: Fix page-crossing MMIO · f78146b0
      Avi Kivity 提交于
      MMIO that are split across a page boundary are currently broken - the
      code does not expect to be aborted by the exit to userspace for the
      first MMIO fragment.
      
      This patch fixes the problem by generalizing the current code for handling
      16-byte MMIOs to handle a number of "fragments", and changes the MMIO
      code to create those fragments.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      f78146b0
  3. 14 4月, 2012 1 次提交
  4. 13 4月, 2012 2 次提交
    • M
      ARM: 7366/3: amba: Remove AMBA level regulator support · 1e45860f
      Mark Brown 提交于
      The AMBA bus regulator support is being used to model on/off switches
      for power domains which isn't terribly idiomatic for modern kernels with
      the generic power domain code and creates integration problems on platforms
      which don't use regulators for their power domains as it's hard to tell
      the difference between a regulator that is needed but failed to be provided
      and one that isn't supposed to be there (though DT does make that easier).
      
      Platforms that wish to use the regulator API to manage their power domains
      can indirect via the power domain interface.
      
      This feature is only used with the vape supply of the db8500 PRCMU
      driver which supplies the UARTs and MMC controllers, none of which have
      support for managing vcore at runtime in mainline (only pl022 SPI
      controller does).  Update that supply to have an always_on constraint
      until the power domain support for the system is updated so that it is
      enabled for these users, this is likely to have no impact on practical
      systems as probably at least one of these devices will be active and
      cause AMBA to hold the supply on anyway.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Tested-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1e45860f
    • P
      kconfig: fix IS_ENABLED to not require all options to be defined · 69349c2d
      Paul Gortmaker 提交于
      Using IS_ENABLED() within C (vs.  within CPP #if statements) in its
      current form requires us to actually define every possible bool/tristate
      Kconfig option twice (__enabled_* and __enabled_*_MODULE variants).
      
      This results in a huge autoconf.h file, on the order of 16k lines for a
      x86_64 defconfig.
      
      Fixing IS_ENABLED to be able to work on the smaller subset of just
      things that we really have defined is step one to fixing this.  Which
      means it has to not choke when fed non-enabled options, such as:
      
        include/linux/netdevice.h:964:1: warning: "__enabled_CONFIG_FCOE_MODULE" is not defined [-Wundef]
      
      The original prototype of how to implement a C and preprocessor
      compatible way of doing this came from the Google+ user "comex ." in
      response to Linus' crowdsourcing challenge for a possible improvement on
      his earlier C specific solution:
      
      	#define config_enabled(x)       (__stringify(x)[0] == '1')
      
      In this implementation, I've chosen variable names that hopefully make
      how it works more understandable.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      69349c2d
  5. 12 4月, 2012 3 次提交
    • M
      fuse: use flexible array in fuse.h · c628ee67
      Miklos Szeredi 提交于
      Use the ISO C standard compliant form instead of the gcc extension in the
      interface definition.
      Reported-by: NShachar Sharon <ssnail@gmail.com>
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      c628ee67
    • G
      irq_domain: Move irq_virq_count into NOMAP revmap · 6fa6c8e2
      Grant Likely 提交于
      This patch replaces the old global setting of irq_virq_count that is only
      used by the NOMAP mapping and instead uses a revmap_data property so that
      the maximum NOMAP allocation can be set per NOMAP irq_domain.
      
      There is exactly one user of irq_virq_count in-tree right now: PS3.
      Also, irq_virq_count is only useful for the NOMAP mapping.  So,
      instead of having a single global irq_virq_count values, this change
      drops it entirely and added a max_irq argument to irq_domain_add_nomap().
      That makes it a property of an individual nomap irq domain instead of
      a global system settting.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Tested-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      6fa6c8e2
    • A
      KVM: unmap pages from the iommu when slots are removed · 32f6daad
      Alex Williamson 提交于
      We've been adding new mappings, but not destroying old mappings.
      This can lead to a page leak as pages are pinned using
      get_user_pages, but only unpinned with put_page if they still
      exist in the memslots list on vm shutdown.  A memslot that is
      destroyed while an iommu domain is enabled for the guest will
      therefore result in an elevated page reference count that is
      never cleared.
      
      Additionally, without this fix, the iommu is only programmed
      with the first translation for a gpa.  This can result in
      peer-to-peer errors if a mapping is destroyed and replaced by a
      new mapping at the same gpa as the iommu will still be pointing
      to the original, pinned memory address.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      32f6daad
  6. 11 4月, 2012 3 次提交
    • E
      tcp: avoid order-1 allocations on wifi and tx path · a21d4572
      Eric Dumazet 提交于
      Marc Merlin reported many order-1 allocations failures in TX path on its
      wireless setup, that dont make any sense with MTU=1500 network, and non
      SG capable hardware.
      
      After investigation, it turns out TCP uses sk_stream_alloc_skb() and
      used as a convention skb_tailroom(skb) to know how many bytes of data
      payload could be put in this skb (for non SG capable devices)
      
      Note : these skb used kmalloc-4096 (MTU=1500 + MAX_HEADER +
      sizeof(struct skb_shared_info) being above 2048)
      
      Later, mac80211 layer need to add some bytes at the tail of skb
      (IEEE80211_ENCRYPT_TAILROOM = 18 bytes) and since no more tailroom is
      available has to call pskb_expand_head() and request order-1
      allocations.
      
      This patch changes sk_stream_alloc_skb() so that only
      sk->sk_prot->max_header bytes of headroom are reserved, and use a new
      skb field, avail_size to hold the data payload limit.
      
      This way, order-0 allocations done by TCP stack can leave more than 2 KB
      of tailroom and no more allocation is performed in mac80211 layer (or
      any layer needing some tailroom)
      
      avail_size is unioned with mark/dropcount, since mark will be set later
      in IP stack for output packets. Therefore, skb size is unchanged.
      Reported-by: NMarc MERLIN <marc@merlins.org>
      Tested-by: NMarc MERLIN <marc@merlins.org>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a21d4572
    • R
      vgaarb.h: fix build warnings · 6069a4c9
      Randy Dunlap 提交于
      Fix build warnings by providing a struct stub since no fields of
      the struct are used:
      
      include/linux/vgaarb.h:66:9: warning: 'struct pci_dev' declared inside parameter list
      include/linux/vgaarb.h:66:9: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/vgaarb.h:99:34: warning: 'struct pci_dev' declared inside parameter list
      include/linux/vgaarb.h:109:6: warning: 'struct pci_dev' declared inside parameter list
      include/linux/vgaarb.h:121:8: warning: 'struct pci_dev' declared inside parameter list
      include/linux/vgaarb.h:140:37: warning: 'struct pci_dev' declared inside parameter list
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6069a4c9
    • G
      irq: Kill pointless irqd_to_hw export · a699e4e4
      Grant Likely 提交于
      It makes no sense to export this trivial function.  Make it a static inline
      instead.
      
      This patch also drops virq_to_hw from arch/c6x since it is unused by that
      architecture.
      
      v2: Move irq_hw_number_t into types.h to fix ARM build failure
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      a699e4e4
  7. 10 4月, 2012 3 次提交
  8. 09 4月, 2012 1 次提交
  9. 08 4月, 2012 6 次提交
  10. 06 4月, 2012 7 次提交
  11. 04 4月, 2012 4 次提交
  12. 03 4月, 2012 2 次提交
    • P
      firewire: restore the device.h include in linux/firewire.h · f68c56b7
      Paul Gortmaker 提交于
      Commit 313162d0 ("device.h: audit and cleanup users in main include
      dir") exchanged an include <linux/device.h> for a struct *device but in
      actuality I misread this file when creating 313162d0 and it should have
      remained an include.
      
      There were no build regressions since all consumers were already getting
      device.h anyway, but make it right regardless.
      Reported-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f68c56b7
    • P
      avr32: fix build failures from mis-naming of atmel_nand.h · 3d92e051
      Paul Gortmaker 提交于
      Commit bf4289cb ("ATMEL: fix nand ecc support") indicated that it
      wanted to "Move platform data to a common header
      include/linux/platform_data/atmel_nand.h" and the new header even had
      re-include protectors with:
      
          #ifndef __ATMEL_NAND_H__
      
      However, the file that was added was simply called atmel.h
      and this caused avr32 defconfig to fail with:
      
        In file included from arch/avr32/boards/atstk1000/setup.c:22:
        arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory
        In file included from arch/avr32/boards/atstk1000/setup.c:22:
        arch/avr32/mach-at32ap/include/mach/board.h:121: warning: 'struct atmel_nand_data' declared inside parameter list
        arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want
        make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1
      
      It seems the scope of the file contents will expand beyond
      just nand, so ignore the original intention, and fix up the
      users who reference the bad name with the _nand suffix.
      
      CC: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      CC: David Woodhouse <dwmw2@infradead.org>
      Acked-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3d92e051
  13. 02 4月, 2012 1 次提交
  14. 01 4月, 2012 4 次提交
  15. 31 3月, 2012 1 次提交