Permalink
Switch branches/tags
Nothing to show
Commits on Jun 5, 2011
  1. usb: msm_gadget: Add zero length packet for control endpoint

    Send zero length packet for usb control in ep if transfer size
    is in multples of max packet size and call completion handler
    of the request only after status phase of transfer is complete
    
    (cherry picked from commit 1448a4a62daf55e3014efce1b52cefeebfabb9be)
    
    Change-Id: I7e72362f9138306c1cd2e30ea405ea3175812882
    Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
    Vamsi Krishna committed with drowningchild Mar 24, 2011
  2. mmc: msm_sdcc: Enable SDCC clocks before starting SDIO requests

    The SDCC clocks can be turned off either by SDIO client driver or by SDCC
    driver. The SDIO clients will turn off clocks as part of their low-power
    management and SDCC driver will turn off clocks if they are not already
    off during system suspend. The clocks will be turned on by SDIO client
    driver if it needs to send some commands to the card. But for any commands
    that are sent by MMC core or SDIO core layer, host driver should enable
    clocks. This patch ensures that clocks are enabled by host driver before
    sending any SDIO requests.
    
    CRs-fixed: 276420
    Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
    (cherry picked from commit f20e6ed7a77748a92cbcf2cddb2385a55a8d20c8)
    
    Change-Id: Ie9032b6842b37411d17fdb27d8ca74e01c77d483
    Signed-off-by: Sunil Joseph <sunilj@codeaurora.org>
    Sahitya Tummala committed with drowningchild Feb 24, 2011
  3. Revert "cgroup: Remove call to synchronize_rcu in cgroup_attach_task"

    This reverts commit 60928a608b1fb952d993571779aa7bd6f6c0bdb6.
    arco committed with drowningchild May 18, 2011
  4. staging: binder: Fix use of uninitialized variable.

    Under an extremely rare condition, the variable return_error may
    not be set.  This patch initializes the value to a known "bad"
    value, and checks before return to ensure return_error has been
    set.
    
    Signed-off-by: Nick Kralevich <nnk@google.com>
    nickkral committed with drowningchild Nov 5, 2010
  5. cgroup: Remove call to synchronize_rcu in cgroup_attach_task

    synchronize_rcu can be very expensive, averaging 100 ms in
    some cases.  In cgroup_attach_task, it is used to prevent
    a task->cgroups pointer dereferenced in an RCU read side
    critical section from being invalidated, by delaying the
    call to put_css_set until after an RCU grace period.
    
    To avoid the call to synchronize_rcu, make the put_css_set
    call rcu-safe by moving the deletion of the css_set links
    into free_css_set_work, scheduled by the rcu callback
    free_css_set_rcu.
    
    The decrement of the cgroup refcount is no longer
    synchronous with the call to put_css_set, which can result
    in the cgroup refcount staying positive after the last call
    to cgroup_attach_task returns.  To allow the cgroup to be
    deleted with cgroup_rmdir synchronously after
    cgroup_attach_task, have rmdir check the refcount of all
    associated css_sets.  If cgroup_rmdir is called on a cgroup
    for which the css_sets all have refcount zero but the
    cgroup refcount is nonzero, reuse the rmdir waitqueue to
    block the rmdir until free_css_set_work is called.
    
    Signed-off-by: Colin Cross <ccross@android.com>
    colincross committed with drowningchild Nov 24, 2010
  6. msm_fb: Fix framebuffer console

    arco committed with drowningchild May 18, 2011
Commits on Jun 3, 2011
  1. USB: gadget: msm72k_udc: Improve USB EPT prime sequence

    Current USB EPT prime sequence is: Prime endpoint, wait
    for ENDPTPRIME to get clear and ENDPTSTAT to get set.
    If ENDPTPRIME is not clear and ENDPTSTAT is not set, sleep
    for 1 microsecond and read it again. Due to this delay
    involved, sometime it happens for next read on ENDPTPRIME
    and ENDPTSTAT registers might give value as zero. The reason
    for getting those value as zero could be that the actual
    request on that particular endpoint might have completed
    itself. Hence it used to give false error message regarding
    endpoint prime.
    
    New improved endpoint prime sequence is:
    Prime endpoint, wait for ENDPTPRIME to get clear without any
    delay involved. Once ENDPTPRIME gets clear, read ENDPTSTAT
    register. If it is set, endpoint prime is success. Otherwise
    check the dTD INFO bit. If it is active, prime the endpoint
    again. It gives error after retrying for 3 times. dTD INFO bit
    is updated by USB Device Controller itself.
    
    CRs-fixed: 284725
    CRs-fixed: 274138
    (cherry picked from commit 47707703c295bd3b74037a2897d84a1f0e879df7)
    
    Change-Id: Iaf9f3a9774bf7d4791f8c72483eb0da2b02af3ab
    Signed-off-by: Mayank Rana <mrana@codeaurora.org>
    Mayank Rana committed with drowningchild May 18, 2011
Commits on Jun 2, 2011
  1. mtd: msm_nand: Allow CPU to take ownership of oob buffer while page read

    In msm_nand_read_oob() while checking for an erased page the
    ownership of the oob buffer is with DMA and CPU might read
    corrupt data to decide upon erased page. The exact contents will
    be updated only after dma_unmap_page() is called. Fix this by giving
    ownership to CPU before checking for erased page.
    
    CRs-Fixed: 285705
    Signed-off-by: Sujith Reddy Thumma <sthumma@codeaurora.org>
    (cherry picked from commit 7316b6561180820ca2198d137bc92c3e09e71738)
    
    Change-Id: I8f29f26d0886af12bf61213a3020936da7185845
    Signed-off-by: Sunil Joseph <sunilj@codeaurora.org>
    Sujith Reddy Thumma committed with drowningchild May 10, 2011
Commits on May 31, 2011
  1. Fix cpuclock error

    drowningchild committed May 31, 2011
Commits on May 27, 2011
  1. input: gpio_matrix: Change it so wakeup from trackball and volume key…

    …s work
    
    Change taken from .32 kernel
    arco committed with drowningchild May 22, 2011
  2. tweak smartass for msm7227

    drowningchild committed May 27, 2011
  3. fix cpufreq kconfig

    drowningchild committed May 27, 2011
  4. add smartass governor

    Conflicts:
    
    	arch/arm/configs/cyanogen_ace_defconfig
    	drivers/cpufreq/Kconfig
    drowningchild committed May 27, 2011
  5. ADD: HW3D patch

    LorDClockaN committed with drowningchild May 4, 2011
  6. ADD: V(r) I/O scheduler

    LorDClockaN committed with drowningchild Apr 30, 2011
  7. Fix pure android bcm4329

    drowningchild committed May 27, 2011
Commits on May 26, 2011
  1. update bcm4329

    drowningchild committed May 26, 2011
  2. msm: cpufreq: Add missing cpufreq_attr

    (via BuzzBumbleBee)
    cyanogen committed May 16, 2011
Commits on May 25, 2011
  1. ashmem: Fix flush routine of ashmem

    The ashmem flush function ashmem_flush_cache_range was calling
    dmac_clean_range and dmac_flush_range with a user virtual address
    which is not allowed. Instead of calling dmac_clean_range or
    dmac_flush_range use flush_cache_user_range which can be called
    with a user vitual address.
    
    Change-Id: I5dd137fb248b45ef2c7ea5f7bdb4b540b8310af9
    Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
    Shubhraprakash Das committed with cyanogen Mar 21, 2011
  2. time: Compensate for rounding on odd-frequency clocksources

    When the clocksource is not a multiple of HZ, the clock will be off.  For
    acpi_pm, HZ=1000 the error is 127.111 ppm:
    
    The rounding of cycle_interval ends up generating a false error term in
    ntp_error accumulation since xtime_interval is not exactly 1/HZ.  So, we
    subtract out the error caused by the rounding.
    
    This has been visible since 2.6.32-rc2
    	commit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601
    	time: Implement logarithmic time accumulation
    That commit raised NTP_INTERVAL_FREQ and exposed the rounding error.
    
    testing tool: http://n1.taur.dk/permanent/testpmt.c
    Also tested with ntpd and a frequency counter.
    
    Change-Id: Iae33aab0d606414628adddd9a84bf40a6997cb2f
    Signed-off-by: Kasper Pedersen <kkp2010@kasperkp.dk>
    Acked-by: john stultz <johnstul@us.ibm.com>
    Cc: John Kacur <jkacur@redhat.com>
    Cc: Clark Williams <williams@redhat.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
    Kasper Pedersen committed with cyanogen Oct 20, 2010
  3. ganeth: better gannet device

    zinx committed with cyanogen May 17, 2011
  4. Switch from BFQ-v2 to BFQ-v2-r1.

    Improvements:
    
    When the first new request for the active queue arrives during disk idling,
    the device is not immediately unplugged if this request is small. This prevents
    the disk to be immediately committed to serve a small request. In fact, further
    requests are likely to be merged to this one quickly, after which the device is
    unplugged by some block layer function and larger requests are dispatched.
    
    The idling timeout and the weight-raising max time have been tuned a little bit
    too, as detailed below.
    
    Reduced a little bit the disk idling timeout for weight-raised
    queues. This helps reduce latencies for applications made of several
    processes that do something and then pass the token to the next
    process. By reducing the timeout we reduce the time that may be wasted
    to wait for the next request of a process that has just passed the token,
    and hence that will not issue any new request.
    
    Reduced the weight-raising max time from 8 to 7.5 seconds: this
    reduces a little bit the time interval during which a just-started
    disk-bound process may unproperly be weight-raised.
    paolo-github committed with cyanogen Mar 22, 2011
  5. Updated BFQ to v2.

    thalamus committed with cyanogen Mar 21, 2011
  6. block: introduce the BFQ I/O scheduler

    Add the BFQ-v1-r1 I/O scheduler to 2.6.35.
    The general structure is borrowed from CFQ, as much of the code. A (bfq_)queue
    is associated to each task doing I/O on a device, and each time a scheduling
    decision has to be taken a queue is selected and it is served until it expires.
    
    The main differences are:
         - slices are given in the service domain: tasks are assigned budgets,
           measured in number of sectors. Once got the disk, a task must
           however consume its assigned budget within a configurable maximum time
           (by default, the maximum possible value of the budgets is automaticall
           computed to comply with this timeout). This allows the desired latency
           vs "throughput boosting" tradeoff to be set.
    
        - Budgets are scheduled according to a variant of WF2Q+, implemented
          using an augmented rb-tree to take eligibility into account while
          preserving an O(log N) overall complexity.
    
        - BFQ supports full hierarchical scheduling, exporting a cgroups
          interface.  Each node has a full scheduler, so each group can
          be assigned its own ioprio and an ioprio_class.
    
        - If the cgroups interface is used, weights can be explictly assigned,
          otherwise ioprio values are mapped to weights using the relation
          weight = IOPRIO_BE_NR - ioprio.
    
        - ioprio classes are served in strict priority order, i.e., lower
          priority queues are not served as long as there are higher priority
          queues.  Among queues in the same classes the bandwidth is distributed
          in proportion to the weights of each queue.
    
    Regarding what has not changed it is worth noting:
        - the handling of cfq_io_contexts to associate queues to tasks.
          Much
          of the code has been reused just renaming it.  (There is room for
          code sharing with CFQ but we wanted to minimize the impact of this
          patch.)
    
        - The handling of async queues.
    
        - The handling of idle windows.
    
        - The handling of merging.
    
        - The heuristics to assert that a task is worth an idle window (with
          minor modifications to hw_tag/CIC_SEEKY detection).
    
    Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
    Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
    
    Ported the following commits to bfq:
        - cfq-iosched: compact io_context radix_tree (80b15c7389caa)
        - cfq-iosched: remove dead_key from cfq_io_context (bca4b914b5da3d8e)
    paolo-github committed with cyanogen Jul 2, 2010
  7. block: add cgroups, kconfig and build bits for BFQ

    Add a Kconfig option and do the related Makefile changes to compile
    the BFQ I/O scheduler.  Also let the cgroups subsystem know about the
    BFQ I/O controller.
    
    Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
    Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
    paolo-github committed with cyanogen Feb 26, 2010
  8. block: prepare I/O context code for BFQ

    BFQ uses struct cfq_io_context to store its per-process per-device data,
    reusing the same code for cic handling of CFQ.  The code is not shared
    ATM to minimize the impact of these patches.
    
    This patch introduces a new hlist to each io_context to store all the
    cic's allocated by BFQ to allow calling the right destructor on module
    unload; the radix tree used for cic lookup needs to be duplicated
    because it can contain dead keys inserted by a scheduler and later
    retrieved by the other one.
    
    Update the io_context exit and free paths to take care also of
    the BFQ cic's.
    
    Change the type of cfqq inside struct cfq_io_context to void *
    to use it also for BFQ per-queue data.
    
    A new bfq-specific ioprio_changed field is necessary, too, to avoid
    clobbering cfq's one, so switch ioprio_changed to a bitmap, with one
    element per scheduler.
    
    Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
    Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
    Signed-off-by: Francesco Allertsen <fallertsen@gmail.com>
    paolo-github committed with cyanogen Feb 26, 2010