16 Nov, 2013

1 commit

  • Pull trivial tree updates from Jiri Kosina:
    "Usual earth-shaking, news-breaking, rocket science pile from
    trivial.git"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
    doc: usb: Fix typo in Documentation/usb/gadget_configs.txt
    doc: add missing files to timers/00-INDEX
    timekeeping: Fix some trivial typos in comments
    mm: Fix some trivial typos in comments
    irq: Fix some trivial typos in comments
    NUMA: fix typos in Kconfig help text
    mm: update 00-INDEX
    doc: Documentation/DMA-attributes.txt fix typo
    DRM: comment: `halve' -> `half'
    Docs: Kconfig: `devlopers' -> `developers'
    doc: typo on word accounting in kprobes.c in mutliple architectures
    treewide: fix "usefull" typo
    treewide: fix "distingush" typo
    mm/Kconfig: Grammar s/an/a/
    kexec: Typo s/the/then/
    Documentation/kvm: Update cpuid documentation for steal time and pv eoi
    treewide: Fix common typo in "identify"
    __page_to_pfn: Fix typo in comment
    Correct some typos for word frequency
    clk: fixed-factor: Fix a trivial typo
    ...

    Linus Torvalds
     

14 Oct, 2013

1 commit


27 Aug, 2013

1 commit

  • This patch cleans the initialization of dma contiguous framework. The
    all-in-one dma_declare_contiguous() function is now separated into
    dma_contiguous_reserve_area() which only steals the the memory from
    memblock allocator and dma_contiguous_add_device() function, which
    assigns given device to the specified reserved memory area. This improves
    the flexibility in defining contiguous memory areas and assigning device
    to them, because now it is possible to assign more than one device to
    the given contiguous memory area. Such split in initialization procedure
    is also required for upcoming device tree support.

    Signed-off-by: Marek Szyprowski
    Acked-by: Kyungmin Park
    Acked-by: Michal Nazarewicz
    Acked-by: Tomasz Figa

    Marek Szyprowski
     

20 Aug, 2013

1 commit


11 Dec, 2012

1 commit

  • This commit changes the CMA early initialization code to use phys_addr_t
    for representing physical addresses instead of unsigned long.

    Without this change, among other things, dma_declare_contiguous() simply
    discards any memory regions whose address is not representable as unsigned
    long.

    This is a problem on 32-bit PAE machines where unsigned long is 32-bit
    but physical address space is larger.

    Signed-off-by: Vitaly Andrianov
    Signed-off-by: Cyril Chemparathy
    Acked-by: Michal Nazarewicz
    Signed-off-by: Marek Szyprowski

    Vitaly Andrianov
     

23 Oct, 2012

1 commit


02 Oct, 2012

1 commit

  • The dma_alloc_from_contiguous() function returns either a valid pointer
    to a page structure or NULL, the error code set when pageno >= cma->count
    is not used at all and can be safely removed.

    This commit also changes the function to avoid goto and have only one exit
    path and one place where mutex is unlocked.

    Signed-off-by: Michal Nazarewicz
    [fixed compilation break caused by missing semicolon]
    Signed-off-by: Marek Szyprowski

    Michal Nazarewicz
     

29 Aug, 2012

1 commit

  • Contiguous Memory Allocator requires each of its regions to be aligned
    in such a way that it is possible to change migration type for all
    pageblocks holding it and then isolate page of largest possible order from
    the buddy allocator (which is MAX_ORDER-1). This patch relaxes alignment
    requirements by one order, because MAX_ORDER alignment is not really
    needed.

    Signed-off-by: Marek Szyprowski
    CC: Michal Nazarewicz
    Acked-by: Michal Nazarewicz

    Marek Szyprowski
     

21 May, 2012

1 commit

  • The Contiguous Memory Allocator is a set of helper functions for DMA
    mapping framework that improves allocations of contiguous memory chunks.

    CMA grabs memory on system boot, marks it with MIGRATE_CMA migrate type
    and gives back to the system. Kernel is allowed to allocate only movable
    pages within CMA's managed memory so that it can be used for example for
    page cache when DMA mapping do not use it. On
    dma_alloc_from_contiguous() request such pages are migrated out of CMA
    area to free required contiguous block and fulfill the request. This
    allows to allocate large contiguous chunks of memory at any time
    assuming that there is enough free memory available in the system.

    This code is heavily based on earlier works by Michal Nazarewicz.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Michal Nazarewicz
    Acked-by: Arnd Bergmann
    Tested-by: Rob Clark
    Tested-by: Ohad Ben-Cohen
    Tested-by: Benjamin Gaignard
    Tested-by: Robert Nelson
    Tested-by: Barry Song

    Marek Szyprowski