1. 02 8月, 2011 6 次提交
    • Y
      PCI: honor child buses add_size in hot plug configuration · be768912
      Yinghai Lu 提交于
      git commit c8adf9a3
          "PCI: pre-allocate additional resources to devices only after
      	successful allocation of essential resources."
      
      fails to take into consideration the optional-resources needed by children
      devices while calculating the optional-resource needed by the bridge.
      
      This can be a problem on some setup. For example, if a hotplug bridge has 8
      children hotplug bridges, the bridge should have enough resources to accomodate
      the hotplug requirements for each of its children hotplug bridges.  Currently
      this is not the case.
      
      This patch fixes the problem.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Reviewed-by: NRam Pai <linuxram@us.ibm.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      be768912
    • J
      PCI: Set PCI-E Max Payload Size on fabric · b03e7495
      Jon Mason 提交于
      On a given PCI-E fabric, each device, bridge, and root port can have a
      different PCI-E maximum payload size.  There is a sizable performance
      boost for having the largest possible maximum payload size on each PCI-E
      device.  However, if improperly configured, fatal bus errors can occur.
      Thus, it is important to ensure that PCI-E payloads sends by a device
      are never larger than the MPS setting of all devices on the way to the
      destination.
      
      This can be achieved two ways:
      
      - A conservative approach is to use the smallest common denominator of
        the entire tree below a root complex for every device on that fabric.
      
      This means for example that having a 128 bytes MPS USB controller on one
      leg of a switch will dramatically reduce performances of a video card or
      10GE adapter on another leg of that same switch.
      
      It also means that any hierarchy supporting hotplug slots (including
      expresscard or thunderbolt I suppose, dbl check that) will have to be
      entirely clamped to 128 bytes since we cannot predict what will be
      plugged into those slots, and we cannot change the MPS on a "live"
      system.
      
      - A more optimal way is possible, if it falls within a couple of
        constraints:
      * The top-level host bridge will never generate packets larger than the
        smallest TLP (or if it can be controlled independently from its MPS at
        least)
      * The device will never generate packets larger than MPS (which can be
        configured via MRRS)
      * No support of direct PCI-E <-> PCI-E transfers between devices without
        some additional code to specifically deal with that case
      
      Then we can use an approach that basically ignores downstream requests
      and focuses exclusively on upstream requests. In that case, all we need
      to care about is that a device MPS is no larger than its parent MPS,
      which allows us to keep all switches/bridges to the max MPS supported by
      their parent and eventually the PHB.
      
      In this case, your USB controller would no longer "starve" your 10GE
      Ethernet and your hotplug slots won't affect your global MPS.
      Additionally, the hotplugged devices themselves can be configured to a
      larger MPS up to the value configured in the hotplug bridge.
      
      To choose between the two available options, two PCI kernel boot args
      have been added to the PCI calls.  "pcie_bus_safe" will provide the
      former behavior, while "pcie_bus_perf" will perform the latter behavior.
      By default, the latter behavior is used.
      
      NOTE: due to the location of the enablement, each arch will need to add
      calls to this function.  This patch only enables x86.
      
      This patch includes a number of changes recommended by Benjamin
      Herrenschmidt.
      
      Tested-by: Jordan_Hargrave@dell.com
      Signed-off-by: NJon Mason <mason@myri.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      b03e7495
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 5f66d2b5
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        CIFS: Cleanup demupltiplex thread exiting code
        CIFS: Move mid search to a separate function
        CIFS: Move RFC1002 check to a separate function
        CIFS: Simplify socket reading in demultiplex thread
        CIFS: Move buffer allocation to a separate function
        cifs: remove unneeded variable initialization in cifs_reconnect_tcon
        cifs: simplify refcounting for oplock breaks
        cifs: fix compiler warning in CIFSSMBQAllEAs
        cifs: fix name parsing in CIFSSMBQAllEAs
        cifs: don't start signing too early
        cifs: trivial: goto out here is unnecessary
        cifs: advertise the right receive buffer size to the server
      5f66d2b5
    • L
      Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 · 4a2d732f
      Linus Torvalds 提交于
      * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
        gpio_msm: Move Qualcomm MSM v2 gpio driver into drivers
        gpio_msm: Move Qualcomm v6 MSM driver into drivers
        msm: gpio: Fold register defs into C file
        msm: gpiomux: Move public API to public header
        msm: gpio: Remove ifdefs on gpio chip registers
        msm: gpio: Remove chip-specific register definitions
        msm: Remove chip-ifdefs for GPIO io mappings
        msm: gpio: Remove unsupported devices
        gpio: ab8500: fix MODULE_ALIAS for ab8500
        of/gpio: export of_gpio_simple_xlate
      4a2d732f
    • L
      Merge branch 'for-3.1-rc1' of git://gitorious.org/linux-omap-dss2/linux · 965e32b1
      Linus Torvalds 提交于
      * 'for-3.1-rc1' of git://gitorious.org/linux-omap-dss2/linux: (31 commits)
        OMAP: DSS2: HDMI: fix hdmi clock name
        HACK: OMAP: DSS2: clk hack for OMAP2/3
        OMAP: DSS2: DSS: Fix context save/restore
        OMAP: DSS2: DISPC: Fix context save/restore
        OMAP: DSS2: Remove ctx loss count from dss.c
        OMAP: DSS2: Remove unused code from display.c
        OMAP: DSS2: DISPC: remove finegrained clk enables/disables
        OMAP: DSS2: Remove unused opt_clock_available
        OMAP: DSS2: Use PM runtime & HWMOD support
        OMAP: DSS2: Remove CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET
        OMAP: DSS2: Remove core_dump_clocks
        OMAP: DSS2: DPI: remove unneeded SYSCK enable/disable
        OMAP: DSS2: Use omap_pm_get_dev_context_loss_count to get ctx loss count
        OMAP: DSS2: rewrite use of context_loss_count
        OMAP: DSS2: Remove clk optimization at dss init
        OMAP: DSS2: Fix init and unit sequence
        OMAP: DSS2: Clean up probe for DSS & DSI
        OMAP: DSS2: Handle dpll4_m4_ck in dss_get/put_clocks
        OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4
        OMAP: DSS2: DSI: sync when disabling a display
        ...
      965e32b1
    • L
      Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x · e10b87d2
      Linus Torvalds 提交于
      * 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x: (39 commits)
        SH: static should be at beginning of declaration
        sh: move CLKDEV_xxx_ID macro to sh_clk.h
        sh: clock-shx3: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7786: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7785: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7757: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7366: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7343: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7722: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7724: add CLKDEV_ICK_ID for cleanup
        sh: clock-sh7366: modify I2C clock settings
        sh: clock-sh7343: modify I2C clock settings
        sh: clock-sh7723: modify I2C clock settings
        sh: clock-sh7722: modify I2C clock settings
        sh: clock-sh7724: modify I2C clock settings
        serial: sh-sci: Fix up pretty name printing for port IRQs.
        serial: sh-sci: Kill off per-port enable/disable callbacks.
        serial: sh-sci: Add missing module description/author bits.
        serial: sh-sci: Regtype probing doesn't need to be fatal.
        sh: Tidy up pre-clkdev clk_get() error handling.
        ...
      e10b87d2
  2. 01 8月, 2011 34 次提交