08 Jan, 2013

2 commits


09 Oct, 2012

1 commit

  • A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
    currently it lost original meaning but still has some effects:

    | effect | alternative flags
    -+------------------------+---------------------------------------------
    1| account as reserved_vm | VM_IO
    2| skip in core dump | VM_IO, VM_DONTDUMP
    3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
    4| do not mlock | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP

    This patch removes reserved_vm counter from mm_struct. Seems like nobody
    cares about it, it does not exported into userspace directly, it only
    reduces total_vm showed in proc.

    Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.

    remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
    remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.

    [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
    Signed-off-by: Konstantin Khlebnikov
    Cc: Alexander Viro
    Cc: Carsten Otte
    Cc: Chris Metcalf
    Cc: Cyrill Gorcunov
    Cc: Eric Paris
    Cc: H. Peter Anvin
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Jason Baron
    Cc: Kentaro Takeda
    Cc: Matt Helsley
    Cc: Nick Piggin
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Suresh Siddha
    Cc: Tetsuo Handa
    Cc: Venkatesh Pallipadi
    Acked-by: Linus Torvalds
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

17 Aug, 2012

1 commit

  • These drivers set the DMA_INTERRUPT capability bit when requesting a DMA
    controller channel. This was historical, and is no longer needed.

    Recent changes to the drivers/dma/fsldma.c driver have removed support
    for this flag. This makes the carma drivers unable to find a DMA channel
    with the required capabilities.

    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Signed-off-by: Ira W. Snyder
    Signed-off-by: Greg Kroah-Hartman

    Qiang Liu
     

22 Mar, 2012

1 commit

  • Pull powerpc merge from Benjamin Herrenschmidt:
    "Here's the powerpc batch for this merge window. It is going to be a
    bit more nasty than usual as in touching things outside of
    arch/powerpc mostly due to the big iSeriesectomy :-) We finally got
    rid of the bugger (legacy iSeries support) which was a PITA to
    maintain and that nobody really used anymore.

    Here are some of the highlights:

    - Legacy iSeries is gone. Thanks Stephen ! There's still some bits
    and pieces remaining if you do a grep -ir series arch/powerpc but
    they are harmless and will be removed in the next few weeks
    hopefully.

    - The 'fadump' functionality (Firmware Assisted Dump) replaces the
    previous (equivalent) "pHyp assisted dump"... it's a rewrite of a
    mechanism to get the hypervisor to do crash dumps on pSeries, the
    new implementation hopefully being much more reliable. Thanks
    Mahesh Salgaonkar.

    - The "EEH" code (pSeries PCI error handling & recovery) got a big
    spring cleaning, motivated by the need to be able to implement a
    new backend for it on top of some new different type of firwmare.

    The work isn't complete yet, but a good chunk of the cleanups is
    there. Note that this adds a field to struct device_node which is
    not very nice and which Grant objects to. I will have a patch soon
    that moves that to a powerpc private data structure (hopefully
    before rc1) and we'll improve things further later on (hopefully
    getting rid of the need for that pointer completely). Thanks Gavin
    Shan.

    - I dug into our exception & interrupt handling code to improve the
    way we do lazy interrupt handling (and make it work properly with
    "edge" triggered interrupt sources), and while at it found & fixed
    a wagon of issues in those areas, including adding support for page
    fault retry & fatal signals on page faults.

    - Your usual random batch of small fixes & updates, including a bunch
    of new embedded boards, both Freescale and APM based ones, etc..."

    I fixed up some conflicts with the generalized irq-domain changes from
    Grant Likely, hopefully correctly.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (141 commits)
    powerpc/ps3: Do not adjust the wrapper load address
    powerpc: Remove the rest of the legacy iSeries include files
    powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces
    init: Remove CONFIG_PPC_ISERIES
    powerpc: Remove FW_FEATURE ISERIES from arch code
    tty/hvc_vio: FW_FEATURE_ISERIES is no longer selectable
    powerpc/spufs: Fix double unlocks
    powerpc/5200: convert mpc5200 to use of_platform_populate()
    powerpc/mpc5200: add options to mpc5200_defconfig
    powerpc/mpc52xx: add a4m072 board support
    powerpc/mpc5200: update mpc5200_defconfig to fit for charon board
    Documentation/powerpc/mpc52xx.txt: Checkpatch cleanup
    powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board
    powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board
    MAINTAINERS: Update PowerPC 4xx tree
    powerpc/44x: The bug fixed support for APM821xx SoC and Bluestone board
    powerpc: document the FSL MPIC message register binding
    powerpc: add support for MPIC message register API
    powerpc/fsl: Added aliased MSIIR register address to MSI node in dts
    powerpc/85xx: mpc8548cds - add 36-bit dts
    ...

    Linus Torvalds
     

27 Feb, 2012

2 commits

  • When the system is under heavy load, we occasionally saw a problem where
    the system would get a legitimate interrupt when they should be
    disabled.

    This was caused by the data_dma_cb() DMA callback unconditionally
    re-enabling FPGA interrupts even when data dumping is disabled. When
    data dumping was re-enabled, the irq handler would fire while a DMA was
    in progress. The "BUG_ON(priv->inflight != NULL);" during the second
    invocation of the DMA callback caused the system to crash.

    To fix the issue, the priv->enabled boolean is moved under the
    protection of the priv->lock spinlock. The DMA callback checks the
    boolean to know whether to re-enable FPGA interrupts before it returns.

    Now that it is fixed, the driver keeps FPGA interrupts disabled when it
    expects that they are disabled, fixing the bug.

    Signed-off-by: Ira W. Snyder
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Benjamin Herrenschmidt

    Ira Snyder
     
  • Lockdep occasionally complains with the message:
    INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected

    This is caused by calling videobuf_dma_unmap() under spin_lock_irq(). To
    fix the warning, we drop the lock before unmapping and freeing the
    buffer.

    Signed-off-by: Ira W. Snyder
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Benjamin Herrenschmidt

    Ira Snyder
     

25 Jan, 2012

1 commit

  • This patch converts the drivers in drivers/misc/* to use the
    module_platform_driver() macro which makes the code smaller and a bit
    simpler.

    Signed-off-by: Axel Lin
    Acked-by: Ira W. Snyder
    Cc: Pavan Savoy
    Cc: Donggeun Kim
    Acked-By: Pratyush Anand
    Acked-by: Arnd Bergmann
    Acked-by: Pratyush Anand
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     

18 Jan, 2012

1 commit

  • * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (53 commits)
    ARM: mach-shmobile: specify CHCLR registers on SH7372
    dma: shdma: fix runtime PM: clear channel buffers on reset
    dma/imx-sdma: save irq flags when use spin_lock in sdma_tx_submit
    dmaengine/ste_dma40: clear LNK on channel startup
    dmaengine: intel_mid_dma: remove legacy pm interface
    ASoC: mxs: correct 'direction' of device_prep_dma_cyclic
    dmaengine: intel_mid_dma: error path fix
    dmaengine: intel_mid_dma: locking and freeing fixes
    mtd: gpmi-nand: move to dma_transfer_direction
    mtd: fix compile error for gpmi-nand
    mmc: mxs-mmc: fix the dma_transfer_direction migration
    dmaengine: add DMA_TRANS_NONE to dma_transfer_direction
    dma: mxs-dma: Don't use CLKGATE bits in CTRL0 to disable DMA channels
    dma: mxs-dma: make mxs_dma_prep_slave_sg() multi user safe
    dma: mxs-dma: Always leave mxs_dma_init() with the clock disabled.
    dma: mxs-dma: fix a typo in comment
    DMA: PL330: Remove pm_runtime_xxx calls from pl330 probe/remove
    video i.MX IPU: Fix display connections
    i.MX IPU DMA: Fix wrong burstsize settings
    dmaengine/ste_dma40: allow fixed physical channel
    ...

    Fix up conflicts in drivers/dma/{Kconfig,mxs-dma.c,pl330.c}

    The conflicts looked pretty trivial, but I'll ask people to verify them.

    Linus Torvalds
     

16 Nov, 2011

1 commit


31 Oct, 2011

1 commit


19 May, 2011

2 commits

  • This adds support for programming the data processing FPGAs on the OVRO
    CARMA board. These FPGAs have a special programming sequence that
    requires that we program the Freescale DMA engine, which is only
    available inside the kernel.

    Signed-off-by: Ira W. Snyder
    Signed-off-by: Benjamin Herrenschmidt

    Ira Snyder
     
  • This driver allows userspace to access the data processing FPGAs on the
    OVRO CARMA board. It has two modes of operation:

    1) random access

    This allows users to poke any DATA-FPGA registers by using mmap to map
    the address region directly into their memory map.

    2) correlation dumping

    When correlating, the DATA-FPGA's have special requirements for getting
    the data out of their memory before the next correlation. This nominally
    happens at 64Hz (every 15.625ms). If the data is not dumped before the
    next correlation, data is lost.

    The data dumping driver handles buffering up to 1 second worth of
    correlation data from the FPGAs. This lowers the realtime scheduling
    requirements for the userspace process reading the device.

    Signed-off-by: Ira W. Snyder
    Signed-off-by: Benjamin Herrenschmidt

    Ira Snyder