1. 05 12月, 2011 6 次提交
    • N
      dmaengine/ste_dma40: allow fixed physical channel · 5cd326fd
      Narayanan G 提交于
      Allow logical channels to specify the physical channel they want to use.
      This is needed to avoid two peripherals operating on the same physical
      channel during some special use-cases. (like mmc and usb during a
      usb mass storage case).
      Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com>
      Signed-off-by: NNarayanan G <narayanan.gopalakrishnan@stericsson.com>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      5cd326fd
    • V
      dmaengine/amba-pl08x: Config ccfg and increment phychan_hold if phychan is true · 8f0d30f9
      Viresh Kumar 提交于
      Currently, if plchan->phychan is true, we return immediately from
      prep_phy_chan(). We must configure txd->ccfg and increment phychan_hold before
      returning. Otherwise, request line number wouldn't be configured in this txd.
      Reported-by: NRajeev Kumar <rajeev-dlh.kumar@st.com>
      Signed-off-by: NViresh Kumar <viresh.kumar@st.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      8f0d30f9
    • A
      dmaengine: convert drivers/dma/* to use module_platform_driver() · c94e9105
      Axel Lin 提交于
      This patch converts the drivers in drivers/dma/* to use the
      module_platform_driver() macro which makes the code smaller and a bit
      simpler.
      
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Piotr Ziecik <kosmo@semihalf.com>
      Cc: Rongjun Ying <rongjun.ying@csr.com>
      Cc: Barry Song <21cnbao@gmail.com>
      Cc: Pelagicore AB <info@pelagicore.com>
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      c94e9105
    • H
      IMX/SDMA : save the real count for one DMA transaction. · ab59a510
      Huang Shijie 提交于
      When we use the SDMA in the UART driver(such as imx6q), we will
      meet one situation:
        Assume we set 64 bytes for the RX DMA buffer.
        The RX DMA buffer has received some data, but not full.
        An Aging DMA request will be received by the SDMA controller if we enable the
        IDDMAEN(UCR4[6]) in this case.
      
      So the UART driver needs to know the count of the real received bytes,
      and push them to upper layer.
      
      Add two new fields to sdmac, and update the `residue` in sdma_tx_status().
      Signed-off-by: NHuang Shijie <b32955@freescale.com>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      ab59a510
    • M
      dma/ep93xx_dma: prevent ep93xx_dma_tasklet() to reference an empty list · 6d0709d2
      Mika Westerberg 提交于
      If dma_terminate_all() is called before the ep93xx_dma_tasklet() gets to run,
      it tries to access an empty ->active list which results following OOPS:
      
        Internal error: Oops - undefined instruction: 0 [#1]
        CPU: 0    Not tainted  (3.2.0-rc1EP-1+ #1008)
        PC is at 0xc184c868
        LR is at ep93xx_dma_tasklet+0xec/0x164
        pc : [<c184c868>]    lr : [<c012b528>]    psr: 00000013
        sp : c02b7e70  ip : ffffffff  fp : c02b7ea4
        r10: 00000100  r9 : 80000013  r8 : c02b7e50
        r7 : c02b7e70  r6 : c02b7ea4  r5 : 000000a4  r4 : c02b7e70
        r3 : c02b751d  r2 : 8ae34598  r1 : c184c6e0  r0 : c02b7ea4
        Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
        Control: c000717f  Table: c0004000  DAC: 00000017
        Process swapper (pid: 0, stack limit = 0xc02b6270)
        Stack: (0xc02b7e70 to 0xc02b8000)
        7e60:                                     c02b7ea4 c02b7e70 c0008b64 c02bd5c4
        7e80: c02d60e0 00000000 00000000 c02bd44c c02d60e0 00000100 c02b7ec4 c02b7ea8
        7ea0: c001c49c c012b44c 00000018 00000001 c02d60e0 c02b6000 c02b7f04 c02b7ec8
        7ec0: c001cbc0 c001c3e4 c02b7eec c02b7ed8 00000006 0000000a c02bf674 c02c458c
        7ee0: 00000011 00000000 c02b7f7c c0004000 41129200 c02b0c80 c02b7f14 c02b7f08
        7f00: c001cdd0 c001cb38 c02b7f34 c02b7f18 c000983c c001cd98 c0009a60 60000013
        7f20: fefb0001 c02b7f7c c02b7f44 c02b7f38 c0008190 c0009810 c02b7f9c c02b7f48
        7f40: c0008b64 c0008190 c02c2bf8 00000002 c02b7f90 60000013 c02b6000 c02d1504
        7f60: c02baa88 c02baa80 c0004000 41129200 c02b0c80 c02b7f9c c02b7fa0 c02b7f90
        7f80: c0009a54 c0009a60 60000013 ffffffff c02b7fbc c02b7fa0 c000a03c c0009a40
        7fa0: c02b80b0 c02b19dc c02b19d8 c02baa80 c02b7fcc c02b7fc0 c02384e4 c0009fd4
        7fc0: c02b7ff4 c02b7fd0 c029d924 c0238494 c029d49c 00000000 00000000 c02b19dc
        7fe0: c0007175 c02b803c 00000000 c02b7ff8 c000803c c029d700 00000000 00000000
        Backtrace:
        [<c012b43c>] (ep93xx_dma_tasklet+0x0/0x164) from [<c001c49c>] (tasklet_action+0xc8/0xdc)
        [<c001c3d4>] (tasklet_action+0x0/0xdc) from [<c001cbc0>] (__do_softirq+0x98/0x154)
         r7:c02b6000 r6:c02d60e0 r5:00000001 r4:00000018
        [<c001cb28>] (__do_softirq+0x0/0x154) from [<c001cdd0>] (irq_exit+0x48/0x50)
        [<c001cd88>] (irq_exit+0x0/0x50) from [<c000983c>] (handle_IRQ+0x3c/0x8c)
        [<c0009800>] (handle_IRQ+0x0/0x8c) from [<c0008190>] (asm_do_IRQ+0x10/0x14)
         r7:c02b7f7c r6:fefb0001 r5:60000013 r4:c0009a60
        [<c0008180>] (asm_do_IRQ+0x0/0x14) from [<c0008b64>] (__irq_svc+0x24/0xc0)
        Exception stack(0xc02b7f48 to 0xc02b7f90)
        7f40:                   c02c2bf8 00000002 c02b7f90 60000013 c02b6000 c02d1504
        7f60: c02baa88 c02baa80 c0004000 41129200 c02b0c80 c02b7f9c c02b7fa0 c02b7f90
        7f80: c0009a54 c0009a60 60000013 ffffffff
        [<c0009a30>] (default_idle+0x0/0x34) from [<c000a03c>] (cpu_idle+0x78/0xb0)
        [<c0009fc4>] (cpu_idle+0x0/0xb0) from [<c02384e4>] (rest_init+0x60/0x78)
         r7:c02baa80 r6:c02b19d8 r5:c02b19dc r4:c02b80b0
        [<c0238484>] (rest_init+0x0/0x78) from [<c029d924>] (start_kernel+0x234/0x278)
        [<c029d6f0>] (start_kernel+0x0/0x278) from [<c000803c>] (0xc000803c)
         r5:c02b803c r4:c0007175
        Code: 42555300 54535953 643d4d45 65766972 (53007372)
      
      To make the code a bit more robust against things like these, we modify
      ep93xx_dma_get_active() to return NULL in case of empty ->active list and make
      sure that callers handle this correctly.
      Reported-by: NRafal Prylowski <prylowski@metasoft.pl>
      Signed-off-by: NMika Westerberg <mika.westerberg@iki.fi>
      Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      6d0709d2
    • R
      dma/ep93xx_dma: fix initialization of M2M control register · b62cfc5e
      Rafal Prylowski 提交于
      Setting the flags in case of IDE didn't have any effect since the control
      register is overwritten few lines below. So move these to be after the control
      register is initialized.
      Signed-off-by: NRafal Prylowski <prylowski@metasoft.pl>
      Signed-off-by: NMika Westerberg <mika.westerberg@iki.fi>
      Acked-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: NVinod Koul <vinod.koul@linux.intel.com>
      b62cfc5e
  2. 28 11月, 2011 6 次提交
  3. 22 11月, 2011 2 次提交
  4. 18 11月, 2011 2 次提交
  5. 17 11月, 2011 7 次提交
  6. 10 11月, 2011 3 次提交
  7. 08 11月, 2011 14 次提交
    • L
      Linux 3.2-rc1 · 1ea6b8f4
      Linus Torvalds 提交于
      .. with new name.  Because nothing says "really solid kernel release"
      like naming it after an extinct animal that just happened to be in the
      news lately.
      1ea6b8f4
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap · 075cb105
      Linus Torvalds 提交于
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
        ARM: OMAP: Fix export.h or module.h includes
        ARM: OMAP: omap_device: Include linux/export.h
        ARM: OMAP2: Fix H4 matrix keyboard warning
        ARM: OMAP1: Remove unused omap-alsa.h
        ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
        ARM: OMAP2+: timer: Remove omap_device_pm_latency
        ARM: OMAP2+: clock data: Remove redundant timer clkdev
        ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
        ARM: OMAP: usb: musb: OMAP: Delete unused function
        MAINTAINERS: Update linux-omap git repository
        ARM: OMAP: change get_context_loss_count ret value to int
        ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
        ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
        ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
        ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
        ARM: OMAP: dmtimer: Include linux/module.h
        ARM: OMAP2+: l3-noc: Include linux/module.h
        ARM: OMAP2+: devices: Fixes for McPDM
        ARM: OMAP: Fix errors and warnings when building for one board
        ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
        ...
      075cb105
    • A
      VFS: we need to set LOOKUP_JUMPED on mountpoint crossing · a3fbbde7
      Al Viro 提交于
      Mountpoint crossing is similar to following procfs symlinks - we do
      not get ->d_revalidate() called for dentry we have arrived at, with
      unpleasant consequences for NFS4.
      
      Simple way to reproduce the problem in mainline:
      
          cat >/tmp/a.c <<'EOF'
          #include <unistd.h>
          #include <fcntl.h>
          #include <stdio.h>
          main()
          {
                  struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
                  if (fcntl(0, F_SETLK, &fl))
                          perror("setlk");
          }
          EOF
          cc /tmp/a.c -o /tmp/test
      
      then on nfs4:
      
          mount --bind file1 file2
          /tmp/test < file1		# ok
          /tmp/test < file2		# spews "setlk: No locks available"...
      
      What happens is the missing call of ->d_revalidate() after mountpoint
      crossing and that's where NFS4 would issue OPEN request to server.
      
      The fix is simple - treat mountpoint crossing the same way we deal with
      following procfs-style symlinks.  I.e.  set LOOKUP_JUMPED...
      
      Cc: stable@kernel.org
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a3fbbde7
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 54a0f913
      Linus Torvalds 提交于
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf top: Fix live annotation in the --stdio interface
        perf top tui: Don't recalc column widths considering just the first page
        perf report: Add progress bar when processing time ordered events
        perf hists browser: Warn about lost events
        perf tools: Fix a typo of command name as trace-cmd
        perf hists: Fix recalculation of total_period when sorting entries
        perf header: Fix build on old systems
        perf ui browser: Handle K_RESIZE in dialog windows
        perf ui browser: No need to switch char sets that often
        perf hists browser: Use K_TIMER
        perf ui: Rename ui__warning_paranoid to ui__error_paranoid
        perf ui: Reimplement the popup windows using libslang
        perf ui: Reimplement ui__popup_menu using ui__browser
        perf ui: Reimplement ui_helpline using libslang
        perf ui: Improve handling sigwinch a bit
        perf ui progress: Reimplement using slang
        perf evlist: Fix grouping of multiple events
      54a0f913
    • T
      Merge branch 'fixes-modulesplit' into fixes · d30cc16c
      Tony Lindgren 提交于
      d30cc16c
    • T
      ARM: OMAP: Fix export.h or module.h includes · a1bcc1dc
      Tony Lindgren 提交于
      Commit 32aaeffb (Merge branch
      'modsplit-Oct31_2011'...) caused some build errors. Fix these
      and make sure we always have export.h or module.h included
      for MODULE_ and EXPORT_SYMBOL users:
      
      $ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
        grep -L linux/module.h
        arch/arm/mach-omap2/dsp.c
        arch/arm/mach-omap2/mailbox.c
        arch/arm/mach-omap2/omap-iommu.c
        arch/arm/mach-omap2/smartreflex.c
      
      Also check we either have export.h or module.h included
      for the files exporting symbols:
      
      $ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
        grep -L linux/export.h | xargs grep -L linux/module.h
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a1bcc1dc
    • A
      ARM: OMAP: omap_device: Include linux/export.h · 55581415
      Axel Lin 提交于
      Include linux/export.h to fix below build warning:
      
        CC      arch/arm/plat-omap/omap_device.o
      arch/arm/plat-omap/omap_device.c:1055: warning: data definition has no type or storage class
      arch/arm/plat-omap/omap_device.c:1055: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
      arch/arm/plat-omap/omap_device.c:1055: warning: parameter names (without types) in function declaration
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      55581415
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 94956eed
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
        forcedeth: fix a few sparse warnings (variable shadowing)
        forcedeth: Improve stats counters
        forcedeth: remove unneeded stats updates
        forcedeth: Acknowledge only interrupts that are being processed
        forcedeth: fix race when unloading module
        MAINTAINERS/rds: update maintainer
        wanrouter: Remove kernel_lock annotations
        usbnet: fix oops in usbnet_start_xmit
        ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined
        etherh: Add MAINTAINERS entry for etherh
        bonding: comparing a u8 with -1 is always false
        sky2: fix regression on Yukon Optima
        netlink: clarify attribute length check documentation
        netlink: validate NLA_MSECS length
        i825xx:xscale:8390:freescale: Fix Kconfig dependancies
        macvlan: receive multicast with local address
        tg3: Update version to 3.121
        tg3: Eliminate timer race with reset_task
        tg3: Schedule at most one tg3_reset_task run
        tg3: Obtain PCI function number from device
        ...
      94956eed
    • A
      50e69630
    • D
      forcedeth: fix a few sparse warnings (variable shadowing) · e45a6187
      david decotigny 提交于
      This fixes the following sparse warnings:
      drivers/net/ethernet/nvidia/forcedeth.c:2113:7: warning: symbol 'size' shadows an earlier one
      drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
      drivers/net/ethernet/nvidia/forcedeth.c:2155:7: warning: symbol 'size' shadows an earlier one
      drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
      drivers/net/ethernet/nvidia/forcedeth.c:2227:7: warning: symbol 'size' shadows an earlier one
      drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
      drivers/net/ethernet/nvidia/forcedeth.c:2271:7: warning: symbol 'size' shadows an earlier one
      drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
      drivers/net/ethernet/nvidia/forcedeth.c:2986:20: warning: symbol 'addr' shadows an earlier one
      drivers/net/ethernet/nvidia/forcedeth.c:2963:6: originally declared here
      Signed-off-by: NDavid Decotigny <david.decotigny@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e45a6187
    • M
      forcedeth: Improve stats counters · 0bdfea8b
      Mandeep Baines 提交于
      Rx byte count was off; instead use the hardware's count.  Tx packet
      count was counting pre-TSO packets; instead count on-the-wire packets.
      Report hardware dropped frame count as rx_fifo_errors.
      
      - The count of transmitted packets reported by the forcedeth driver
        reports pre-TSO (TCP Segmentation Offload) packet counts and not the
        count of the number of packets sent on the wire. This change fixes
        the forcedeth driver to report the correct count. Fixed the code by
        copying the count stored in the NIC H/W to the value reported by the
        driver.
      
      - Count rx_drop_frame errors as rx_fifo_errors:
        We see a lot of rx_drop_frame errors if we disable the rx bottom-halves
        for too long.  Normally, rx_fifo_errors would be counted in this case.
        The rx_drop_frame error count is private to forcedeth and is not
        reported by ifconfig or sysfs.  The rx_fifo_errors count is currently
        unused in the forcedeth driver.  It is reported by ifconfig as overruns.
        This change reports rx_drop_frame errors as rx_fifo_errors.
      Signed-off-by: NDavid Decotigny <david.decotigny@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0bdfea8b
    • D
      forcedeth: remove unneeded stats updates · 4687f3f3
      david decotigny 提交于
      Function ndo_get_stats() updates most of the stats from hardware
      registers, making the manual updates un-needed. This change removes
      these manual updates. Main exception is rx_missed_errors which needs
      manual update.
      
      Another exception is rx_packets, still updated manually in this commit
      to make sure this patch doesn't change behavior of driver. This will
      be addressed by a future patch.
      Signed-off-by: NDavid Decotigny <david.decotigny@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4687f3f3
    • M
      forcedeth: Acknowledge only interrupts that are being processed · 2a4e7a08
      Mike Ditto 提交于
      This is to avoid a race, accidentally acknowledging an interrupt that
      we didn't notice and won't immediately process.  This is based solely
      on code inspection; it is not known if there was an actual bug here.
      Signed-off-by: NDavid Decotigny <david.decotigny@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2a4e7a08
    • D
      forcedeth: fix race when unloading module · f9c4082d
      david decotigny 提交于
      When forcedeth module is unloaded, there exists a path that can lead
      to mod_timer() after del_timer_sync(), causing an oops. This patch
      short-circuits this unneeded path, which originates in
      nv_get_ethtool_stats().
      
      Tested:
        x86_64 16-way + 3 ethtool -S infinite loops + 100Mbps incoming traffic
        + rmmod/modprobe/ifconfig in a loop
      
      Initial-Author: Salman Qazi <sqazi@google.com>
      Discussion: http://patchwork.ozlabs.org/patch/123548/Signed-off-by: NDavid Decotigny <david.decotigny@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9c4082d