Merge mako kernel

Squashed commit of the following:

commit 3186d08616e0bad3b96990bb7eddfd90af0b1ea1
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Fri Jan 4 21:56:41 2013 +0000

    Revert the rest of the USB changes

    GPS and slimport are still throwing errors, and GPS in particular
    chokes regularly
    Revert "usb: ehci-msm-hsic: Remove usage of MSM_GPIO_TO_INT"

    This reverts commit 4070c0fd92680c544375becce604ace60ca05189.

    Revert "usb: Decrease autosuspend delay to 200ms upon usb disconnect"

    This reverts commit 6837df172d456bb576c055ee6bf0d9ef747d3395.

    Revert "usb: Add support to set autosuspend delay by controller driver"

    This reverts commit 9075524b8132558b94b441eb1b72d0538334978b.

    Revert "usb: ehci-msm-hsic: Fix compilation error"

    This reverts commit 4351be320b5e4e35c6e755f80ebd5a26b035944e.

    Revert "EHCI: HSIC: Add enhancements to debug logging"

    This reverts commit 858b756c5e69479e933cfe6c729833c63145a266.

    Revert "EHCI: HSIC: Handle wakeup interrupt properly during probe"

    This reverts commit 420046d6dcc12618dc5efde41c96061bbbbd2111.

    Revert "USB: Prevent system suspend when HSIC device is active"

    This reverts commit 4e819b43445a39c6cfad4b897ab77d015eccf814.

    Revert "USB: Allow skipping device resume during system resume"

    This reverts commit c9b11ac098889d48d84d2de12e1893a44d90a4d4.

    Revert "EHCI: HSIC: Fail root hub bus suspend when port is not enabled."

    This reverts commit 7a6a3f28fca71fda59ae8538985da8edbb7cb839.

    Revert "mako: hsic: Disallow processor idle sleep while driving resume signal"

    This reverts commit bfe53ea7921a62230ef322afb6fc208045d10d8a.

    Revert "msm: hsic: Disallow processor idle sleep while driving resume signal"

    This reverts commit 3ac662c19e058a47cd1558c60e7d7fd2513406bc.

    Revert "EHCI: HSIC: Prevent disabling wakeup irq twice"

    This reverts commit 2d5d5e4fa793ce11c74d6074fcceff24ac38878f.

commit ddd76ac90305f1b828fab84963d62647d7240ef6
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Thu Jan 3 12:27:14 2013 +0000

    Revert some of the USB changes

    Both the telephony radio and GPS are much more unstable since these
    were merged

    Revert "USB: HSIC: Add support for HSIC core and SMSC HUB using DT"

    This reverts commit cd92faa44a032782b6ecaa42ba40597bc3c92d38.

    Revert "usb: ehci-msm-hsic: Add asynchronous reset to HSIC"

    This reverts commit d77e7847e191a02fd6dc065352e3236b366f6da4.

    Revert "usb: ehci-msm-hsic: Change HSIC reset sequence"

    This reverts commit 61e719b194d723bf63ac26127f6c6819f9ab5dcb.

    Revert "usb: ehci-msm-hsic: Add support in device tree to MSM HSIC host"

    This reverts commit 09f5af36909c37c06ae1610a63359816ae2aba6a.

    Revert "EHCI: HSIC: Add support to vote for SVS digital voltage"

    This reverts commit c847ec449cec7d08da8f6020ab43be78f42c93f6.

    Revert "EHCI: HSIC: Allow standalone power collapse when HSIC is active"

    This reverts commit 51f7fa242f886c1467da40d7f6051b4ffd1c4d45.

    Change-Id: Ida4a13e54293856882b8dde1b9a6a67ec62b8b0e

commit 78ad2244ac2f3b553bc9c315ebbd9164d2b0fe12
Merge: 76ca08b a32d6b0
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Wed Jan 2 01:33:49 2013 +0000

    Merge commits from http://review.cyanogenmod.org/CyanogenMod/lge-kernel-mako

    Change-Id: I1cfc5b81f09b217cc706aaae36fca6f6be7e69fd

commit a32d6b09032db096ad41f7358f6235567dd6a38b
Author: Jack Pham <jackp@codeaurora.org>
Date:   Thu Aug 30 19:06:24 2012 -0700

    usb: misc: Avoid excessive logging during disconnect

    When the device is in the midst of being disconnected, calls to
    usb_autopm_get_interface() may fail, and a ERR-level message is
    printed. Callers of such I/O functions may repeatedly try calling
    again, and could end up flooding the console leading to a watchdog
    timeout. Replace these printks with DBG-level messages since the
    device disconnection is normal and the errors they indicate are
    usually benign.

    CRs-fixed: 394256
    Change-Id: Icf9000faa9001832734ff9c64cd903b375cc2017
    Signed-off-by: Jack Pham <jackp@codeaurora.org>

commit d690f360080180740ed0d05b6e34142365bfe9ce
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Fri Aug 24 19:42:31 2012 -0700

    usb: ks_bridge: Fix memory leaks in the driver

    This change addresses two memory leaks:-
    1) misc device is not getting deregistered during device
    disconnect. Hence call misc_deregister() in disconnect.

    2) Driver returns without freeing previous instances of
    the driver data structure if memory allocation fails. Hence
    free up memory allocated for ks_bridge structure.

    Change-Id: I90133a002aa9d38597de8d1b21d3aad621552d46
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit d77e7847e191a02fd6dc065352e3236b366f6da4
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Sun Dec 23 13:41:57 2012 +0200

    usb: ehci-msm-hsic: Add asynchronous reset to HSIC

    Add support for asynchronous block reset to the HSIC hardware.
    In platforms that uses an asynchronous reset methodology,
    the HSIC alt_core_clk is not presented.

    Change-Id: I0dc0e1bf294260a5530e01660d970cc939a9dbec
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>

commit cd92faa44a032782b6ecaa42ba40597bc3c92d38
Author: Manu Gautam <mgautam@codeaurora.org>
Date:   Wed Nov 21 14:30:04 2012 +0530

    USB: HSIC: Add support for HSIC core and SMSC HUB using DT

    Add device tree support in SMSC HUB driver which also registers
    platform_device for HSIC as its child. This allows SMSC HUB driver
    to turn OFF clocks for power savings after HSIC is suspended.
    Also add support for SMSC HUB to use dedicated clock as ref_clk
    instead of XO.

    Change-Id: I3e8828ddc232936df3e21c8e1158af92b16996a2
    Signed-off-by: Manu Gautam <mgautam@codeaurora.org>

commit 61e719b194d723bf63ac26127f6c6819f9ab5dcb
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Wed Nov 14 11:18:50 2012 +0200

    usb: ehci-msm-hsic: Change HSIC reset sequence

    Due to USB HW changes, RST CMD resets CSC/CCS fields in PORTSC
    and PCI bit in USBSTS. Therefore HSIC reset sequence should be
    changed to avoid case that the device was powered up before the
    host and due to a RST CMD the host will miss that the device is
    connected.

    CRs-Fixed: 417642
    Change-Id: I2b1fb2a92658058d70ccc6cb5f73174ce4128b72
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>

commit 09f5af36909c37c06ae1610a63359816ae2aba6a
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Tue Nov 20 11:17:24 2012 +0200

    usb: ehci-msm-hsic: Add support in device tree to MSM HSIC host

    Add support in device tree to MSM HSIC host including support in
    GDSC (Global Distributed Switch Controller) for new platforms.

    Change-Id: I6b0df0eabb03278b97b2b69f9fcdc2ef3806ba0b
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>

commit c847ec449cec7d08da8f6020ab43be78f42c93f6
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Oct 17 13:48:10 2012 -0700

    EHCI: HSIC: Add support to vote for SVS digital voltage

    HSIC HW can operate at SVS digital voltage when it is active.
    Currently HSIC is voting for 120Mhz SFAB and 64Mhz DFAB clock
    frequencies. Clock frequencies are directly proportional to SVS
    voltage. If DFAB is running at 64Mhz or SFAB is running at 120Mhz
    or higher SVS is not possible even though HSIC votes for it. Hence
    do not vote for SFAB clock frequency and only vote for 32Mhz for
    DFAB in order to allow SVS to happen. Voting for SVS voltage reduces
    current consumption by 3mA in HSDPA network.

    Change-Id: I8a6844efbbe90a8ea118be8450f8210717c2641b
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

    mako: EHCI: HSIC: Add support to vote for SVS digital voltage

    HSIC HW can operate at SVS digital voltage when it is active.
    Currently HSIC is voting for 120Mhz SFAB and 64Mhz DFAB clock
    frequencies. Clock frequencies are directly proportional to SVS
    voltage. If DFAB is running at 64Mhz or SFAB is running at 120Mhz
    or higher SVS is not possible even though HSIC votes for it. Hence
    do not vote for SFAB clock frequency and only vote for 32Mhz for
    DFAB in order to allow SVS to happen. Voting for SVS voltage reduces
    current consumption by 3mA in HSDPA network.

    Change-Id: I8a6844efbbe90a8ea118be8450f8210717c2641b
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 51f7fa242f886c1467da40d7f6051b4ffd1c4d45
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Oct 17 12:29:51 2012 -0700

    EHCI: HSIC: Allow standalone power collapse when HSIC is active

    HSIC generates interrupt at 4ms interval. If idle power collapse
    is enabled when HSIC is active, krait keeps on going into idle
    power collapse requesting RPM to handle the sleep set requirement.
    If HSIC interrupt comes after 4ms interval, krait comes out of idle
    power collapse and it again ask RPM to handle this request therefore
    keeps RPM busy handling requests due to frequent idle power collapse.
    This has a power impact. Hence only allow standalone power collapse
    when HSIC is active to avoid RPM involvement in assisting kraits to
    power collapse. Vote for idle power collapse when HSIC goes to low
    power mode.

    Change-Id: Iee8bc1fa180499f2d26fbac955a6a6ed767fdeb4
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

    Conflicts:
    	arch/arm/mach-msm/board-8064.c

commit 4070c0fd92680c544375becce604ace60ca05189
Author: Jack Pham <jackp@codeaurora.org>
Date:   Wed Oct 10 02:03:50 2012 +0200

    usb: ehci-msm-hsic: Remove usage of MSM_GPIO_TO_INT

    MSM_GPIO_TO_INT is a platform-specific macro that should only
    be used in board files, not drivers. In this case, we actually
    don't need the GPIO number in the driver itself and only need
    to manipulate it using the IRQ number it maps to, so perform the
    mapping in the device file.

    Change-Id: I99eb964f3c7c4e90a4d75d16b2b29c687c3437ca
    Signed-off-by: Jack Pham <jackp@codeaurora.org>

commit 6837df172d456bb576c055ee6bf0d9ef747d3395
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Tue Oct 16 17:57:08 2012 -0700

    usb: Decrease autosuspend delay to 200ms upon usb disconnect

    Reduce overall HSIC wakelock active time by decreasing autosuspend
    delay for HSIC mdm device from 1 sec to 200ms. However when diag is
    active it would send poll events for every 500ms causing frequent
    supsend/resume. Avoid this by increasing autosuspend delay to 1 sec
    when diag is active. Also, set autosuspend delay for root hub to 0 by
    default. These changes reduce time HSIC controller is active when the
    bus is idle for better power savings.

    CRs-Fixed: 404378
    Change-Id: I0500f6b125dff158e6e0c10f3f2023b18ce9dd30
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 9075524b8132558b94b441eb1b72d0538334978b
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Sep 26 15:09:27 2012 -0700

    usb: Add support to set autosuspend delay by controller driver

    USB core driver sets the autosuspend delay to 1 sec for root hub and
    its children by default. In case if delay needs to be changed for a
    particular controller, it requires class driver to explicitly call
    PM API to set the new values. Hence add a call back handler to set
    autosuspend delay in controller driver. This makes class driver code
    generic.

    Change-Id: I62121651f0a9648a2909ca7eb4081a6c2567ed01
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 4351be320b5e4e35c6e755f80ebd5a26b035944e
Author: Jack Pham <jackp@codeaurora.org>
Date:   Fri Sep 28 17:45:38 2012 -0700

    usb: ehci-msm-hsic: Fix compilation error

    The ehci-msm-hsic driver's bus suspend and resume functions
    depend on ehci_hcd's bus_suspend/resume functions, which are
    NULL when CONFIG_PM is not defined. Fix the compilation error
    by also #defining these sub-driver functions NULL, as they
    are effectively no-ops.

    Change-Id: Ie250dfae3caccb737ce26bdda17c5b21d358eced
    Signed-off-by: Jack Pham <jackp@codeaurora.org>

commit 858b756c5e69479e933cfe6c729833c63145a266
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Aug 15 09:06:35 2012 -0700

    EHCI: HSIC: Add enhancements to debug logging

    This change addresses following enhancements to debug
    logging:-

    1) Add data payload logging which is not currently
    supported. This helps to sniff first 32 bytes of data
    being sent and received. Data payload logging is
    enabled by default. To disable data payload logging:-

    echo 0 > /sys/module/ehci_hcd/parameters/enable_payload_log

    2) Current urb submission event logging does not cover
    root hub submissions, hence move urb submission logging
    to hcd driver.

    3) Current urb submission event logging does not return
    the correct status if submission fails. Hence log the
    return status of urb submission.

    CRs-Fixed: 393294
    Change-Id: Ic7e555e1545ec7d7b0e4042cd35235e0af26fb01
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 420046d6dcc12618dc5efde41c96061bbbbd2111
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Thu Aug 30 14:23:38 2012 -0700

    EHCI: HSIC: Handle wakeup interrupt properly during probe

    During HSIC probe driver registers the level triggered interrupt
    on wakeup gpio. Wakeup irq line is disabled based on the return
    status of interrupt registration. There is a possibility that
    wakeup gpio is already pulled high after registering the interrupt
    which can cause wakeup interrupts to be fired on continuously
    without getting chance to disable the irq line. Hence do not
    enable wake up interrupt on request irq.

    CRs-Fixed: 394540
    Change-Id: I3175cd8710f1d982c33a5392cc49106ee66d0aa6
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 4e819b43445a39c6cfad4b897ab77d015eccf814
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Nov 9 10:54:00 2012 +0530

    USB: Prevent system suspend when HSIC device is active

    Some buses like HSIC would like to keep device in suspend state
    after system resume.  The remote wakeup or interface activity
    later will auto resume the device.  This will work only if the
    device is auto suspended before system suspend.  If the device
    runtime state had been active during system suspend and system
    suspend routine put the device in suspend, it will not be resumed
    during system resume.  When remote wakeup happen for this device,
    the runtime resume will not bring the device to active as runtime
    core think it is already active.

    The HSIC bus ensure that device is auto suspended prior to system
    suspend by holding a wakelock till the bus is suspended.  HSIC bus
    is not handling the case where device is auto resumed immediately
    after system suspend begins.  HSIC bus simply put the device into
    suspend in system suspend routine.

    This patch fixes above issue by returning an error code if the device
    is not auto suspended during system suspend.  Also add a safe guard
    check in HSIC system resume routine to skip device resume only if it
    is auto suspended prior to system suspend.

    (cherry picked from commit 41d004c4eaa5565cb8d9113862c3cef1e51be648)

    Change-Id: If0b84833a7c416794e6f4431d54efcff3354d415
    CRs-Fixed: 422876
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit c9b11ac098889d48d84d2de12e1893a44d90a4d4
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Tue Sep 18 17:52:51 2012 +0530

    USB: Allow skipping device resume during system resume

    Some buses would like to keep their devices in suspend state during system
    resume.  For example HSIC controller driver prevent system suspend when
    HSIC device is active.  If this device is resumed, during system resume
    HSIC controller acquire wake lock and prevent the subsequent suspend till
    HSIC device is auto suspended.

    (cherry picked from commit 6f199aa800253a69e5679d1057823039f1bd65c9)

    Change-Id: Id9b15a20345423c6f33fd7d8cd2a55372a1e6b4b
    CRs-Fixed: 403975
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 7a6a3f28fca71fda59ae8538985da8edbb7cb839
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Sep 14 14:02:36 2012 +0530

    EHCI: HSIC: Fail root hub bus suspend when port is not enabled.

    HSIC controller can not detect HSIC device in low power mode.  Hence
    controller suspend is allowed only when port is enabled.  But this
    check is done in controller suspend routine.  Controller suspend is
    attempted after root hub bus is suspended.  Even if we fail, controller
    suspend, root hub bus remains in suspend state.  This would delay
    the enumeration of HSIC device as root hub bus resume takes some time.

    CRs-Fixed: 396444
    Change-Id: I9cfdfb4beb458651fc81a3d22ad9ac79207514fd
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>

commit bfe53ea7921a62230ef322afb6fc208045d10d8a
Author: Harsh Bhanvadia <harsh.slade@gmail.com>
Date:   Sat Dec 29 10:39:03 2012 +0100

    mako: hsic: Disallow processor idle sleep while driving resume signal

commit 3ac662c19e058a47cd1558c60e7d7fd2513406bc
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Sep 7 15:33:09 2012 +0530

    msm: hsic: Disallow processor idle sleep while driving resume signal

    HSIC controller should send SOF with in 3 msec after completing
    the resume signal.  If processor is in idle sleep state, the timer
    interrupt generated by HSIC controller to indicate resume completion
    gets delayed.  If the interrupt handler is not run with in 3msec
    after resume, the resume sequence is repeated.  Disallow processor
    idle sleep to avoid multiple resume cycles.

    CRs-Fixed: 397154
    Change-Id: Ibc8965ad8bcd94e0b1b1d39b5b2ad8f39cf51095
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>

commit 2d5d5e4fa793ce11c74d6074fcceff24ac38878f
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Thu Sep 6 19:57:14 2012 -0700

    EHCI: HSIC: Prevent disabling wakeup irq twice

    If PM resume and Wakeup irq happen at same time
    its possible to disable wakeup irq twice. Prevent
    the same by protecting with spinlock

    CRs-Fixed: 396895
    Change-Id: I3320478d6c770787bc571964f4a38dce6927af63
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

commit 76ca08b7127ab35a86cb53a1093580323f241ad9
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Tue Dec 4 23:43:32 2012 +0000

    prima: release 3.2.1.13

        git://codeaurora.org/external/wlan/prima.git

        148c518 - Update csrRoamInitGlobals() to support static linking
        fff59a1 - Send EDCA Parameters After Reassoc
        c7f1b8f - Populate Correct Scan Mode for Roam
        c9990e6 - Fix driver hang in csrRoamRoamingStateDisassocRspProcessor
        d1ef85b - Remove call to palStopTimer for preauth
        a31968f - Insure that LFR BG scanning is not performed for any non-Infra association
        96a9106 - Only flush non-P2P results from scan cache prior to LFR scan
        ac37d9d - De-register lookup UP indication during pre-auth
        def1bff - Improve convergence of LFR roam candidate scan algorithm
        3774f3b - Dump neighbor state info when scan is not allowed

    Change-Id: I7690f89e375433f2214587d0a88243da841f1f25

commit 7386af422ea152d8e9916995d32d61edf32fa653
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Tue Dec 4 23:42:00 2012 +0000

    prima: release 3.2.1.12

        git://codeaurora.org/external/wlan/prima.git

        70e619c - Conditionally invoke driver restart API
        556271d - Notify the Kernel suspend to WCNSS
        8aef3d0 - Update restart driver API to support statically linked WLAN driver

    Change-Id: I90dc07ac845867d85eedc8d7f54a0c24a6f372dd

commit 88f893ff2bd8e40d28b68f15eda5648e6e2e3113
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   Tue Dec 4 23:39:43 2012 +0000

    prima: release v3.2.1.11h

        git://codeaurora.org/external/wlan/prima.git

        bd2182f - Post proper response to SME when reassoc is rejected

    Change-Id: I197fa9feb5fccae6018a2874500fa107b80cbffd

Change-Id: I62ffe7ce9fe7b4100ca84971d215205c8cac4fc5
Merge "Merge mako kernel" into cm-10.1