Commit Graph
1287 Commits
Author SHA1 Message Date
Linux Build Service Account 9193e5fcb0 Merge "ARM: 7068/1: process: change from __backtrace to dump_stack in show_regs" into msm-3.0 2012-03-31 04:33:15 -07:00
Linux Build Service Account 7d9a224aaf Merge changes Id383aff8,I4b1d1dc2 into msm-3.0
* changes:
  msm: board-dt: ARM generic timer DT support
  ARM: architected timers: add DT support
2012-03-31 01:14:46 -07:00
Laura Abbott 0a80147e1c ARM: 7068/1: process: change from __backtrace to dump_stack in show_regs
Currently, show_regs calls __backtrace which does
nothing if CONFIG_FRAME_POINTER is not set. Switch to
dump_stack which handles both CONFIG_FRAME_POINTER and
CONFIG_ARM_UNWIND correctly.

__backtrace is now superseded by dump_stack in general
and show_regs was the last caller so remove __backtrace
as well.

Change-Id: I396677df8bc22bf28e4486f2bfb155c516a3d452
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2012-03-30 08:14:36 -07:00
Rohit Vaswani a76e99abc5 Merge branch 'Linux 3.0.21' into msm-3.0
Merge Upstream's stable 3.0.21 branch into msm-3.0
This consists 814 commits and some merge conflicts.

The merge conflicts are because of some local changes to
msm-3.0 as well as some conflicts between google's tree and
the upstream tree.

Conflicts:
	arch/arm/kernel/head.S
	drivers/bluetooth/ath3k.c
	drivers/bluetooth/btusb.c
	drivers/mmc/core/core.c
	drivers/tty/serial/serial_core.c
	drivers/usb/host/ehci-hub.c
	drivers/usb/serial/qcserial.c
	fs/namespace.c
	fs/proc/base.c

Change-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2012-03-30 00:09:34 -07:00
Linux Build Service Account c6d372b4c7 Merge changes I16f522e7,Ifa5b3bc2 into msm-3.0
* changes:
  Merge branch 'google-android' into msm-3.0
  locking, kprobes: Annotate the hash locks and kretprobe.lock as raw
2012-03-29 18:18:42 -07:00
Linux Build Service Account 880a922634 Merge "ARM: local timers: Add A15 architected timer support" into msm-3.0 2012-03-29 14:17:01 -07:00
Rohit Vaswani d4e3d52392 Merge branch 'google-android' into msm-3.0
Merge Google's Android tree into msm-3.0
This consists of the following conflicts and 42 commits:

Conflicts:
	drivers/mmc/core/bus.c
	drivers/rtc/class.c
	drivers/usb/gadget/android.c

Most of the conflicts stem from the changes made to the
local msm-3.0 branch.

commit 1f8c5cecfe
Author: Heiko Stuebner <heiko@sntech.de>
Date:   Wed Feb 1 10:33:01 2012 -0800

    Input: evdev - fix variable initialisation

    Commit 509f87c5f5 (evdev - do not block waiting for an event if
    fd
    is nonblock) created a code path were it was possible to use retval
    uninitialized.

    This could lead to the xorg evdev input driver getting corrupt data
    and refusing to work with log messages like
    	AUO-Pixcir touchscreen: Read error: Success
    	sg060_keys: Read error: Success
    	AUO-Pixcir touchscreen: Read error: Success
    	sg060_keys: Read error: Success
    (for drivers auo-pixcir-ts and gpio-keys).

    Signed-off-by: Heiko Stuebner <heiko@sntech.de>

 drivers/input/evdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4dc43d7079
Author: Arve Hjønnevåg <arve@android.com>
Date:   Fri Oct 17 15:20:55 2008 -0700

    Input: evdev - Add ioctl to block suspend while event queue is not empty.

    Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block
    suspend while the event queue is not empty. This allows userspace code to
    process input events while the device appears to be asleep.

    The current code holds the wakelock for up 5 seconds for every input
    device and client. This can prevent suspend if sensor with a high data
    rate is active, even when that sensor is not capable of waking the
    device once it is suspended.

    Change-Id: I624d66ef30a0b3abb543685c343382b8419b42b9
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/input/evdev.c |   53 +++++++++++++++++++++++++++++++++++++++++++-----
 include/linux/input.h |    3 ++
 2 files changed, 50 insertions(+), 6 deletions(-)

commit 7cc846069a
Author: Arve Hjønnevåg <arve@android.com>
Date:   Mon Jan 23 17:15:45 2012 -0800

    Input: evdev - Don't hold wakelock when no data is available to user-space

    If there is no SYN_REPORT event in the buffer the buffer data is invisible
    to user-space. The wakelock should not be held in this case.

    Change-Id: Idae890ff0da8eb46a2cfce61a95b3a97252551ad
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/input/evdev.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 0e80804a2e
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 31 11:06:23 2012 -0800

    net: wireless: bcmdhd: Increase pm_notify callback priority

    Make pm_notify callback to be called the first on suspend/resume path to
    ensure it will always be called.

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit dfc896e1c8
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 30 15:43:31 2012 -0800

    net: wireless: bcmdhd: Fix crash on dhdsdio_probe_attach() failure

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |   17 ++++++++++++++---
 drivers/net/wireless/bcmdhd/dhd_sdio.c  |    8 +++++++-
 2 files changed, 21 insertions(+), 4 deletions(-)

commit 256a6b23be
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 30 13:03:19 2012 -0800

    net: wireless: bcmdhd: Daemonize wl_event_handler

    Daemonizing makes thread (besides other things) NON-FREEZABLE, and it will not
    get fake signal on suspend to quicl down_interruptible()

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c        |   13 -------------
 drivers/net/wireless/bcmdhd/include/linuxver.h |   12 ++++++++++++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c      |    3 +++
 3 files changed, 15 insertions(+), 13 deletions(-)

commit ff93146589
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:59:40 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.23

    - WFD fixes

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_cfg80211.c    |  269 -------------------------
 drivers/net/wireless/bcmdhd/dhd_linux.c       |    2 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c        |    8 +-
 drivers/net/wireless/bcmdhd/include/epivers.h |    8 +-
 drivers/net/wireless/bcmdhd/siutils.c         |    5 +
 drivers/net/wireless/bcmdhd/wl_cfg80211.c     |  223 +++++++++++++++------
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c       |  175 ++++++++++++++++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h       |   37 ++--
 8 files changed, 368 insertions(+), 359 deletions(-)

commit 96034c2006
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:55:00 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.22

    - Disable Ad-hoc support for cfg80211
    - dhd_linux.c: Fix incorrect pid check
    - Merge Android changes from Android tree

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmsdh_linux.c       |   24 ++------------------
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |   25 +++++++++++++++------
 drivers/net/wireless/bcmdhd/dhd_linux.c          |   10 ++++----
 drivers/net/wireless/bcmdhd/dhd_sdio.c           |   11 +++++++--
 drivers/net/wireless/bcmdhd/hndpmu.c             |   16 ++++++++++++++
 drivers/net/wireless/bcmdhd/include/bcmdevs.h    |    2 +
 drivers/net/wireless/bcmdhd/include/epivers.h    |    8 +++---
 drivers/net/wireless/bcmdhd/siutils.c            |    3 ++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c        |   11 ++++++++-
 9 files changed, 68 insertions(+), 42 deletions(-)

commit 494661a1ac
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:47:47 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.19

    - Add WFD changes
    - Add extra locking for internal ioctl operations

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/Makefile               |    4 +-
 drivers/net/wireless/bcmdhd/bcmsdh_linux.c         |   25 +-
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c         |    4 +-
 drivers/net/wireless/bcmdhd/dhd.h                  |   10 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c              |    7 +-
 drivers/net/wireless/bcmdhd/dhd_cfg80211.c         |  862 ++++++++
 drivers/net/wireless/bcmdhd/dhd_cfg80211.h         |   42 +
 drivers/net/wireless/bcmdhd/dhd_common.c           |    7 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c            |  103 +-
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |  409 ----
 drivers/net/wireless/bcmdhd/dhd_sdio.c             |    4 +-
 drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    3 +-
 drivers/net/wireless/bcmdhd/include/epivers.h      |    8 +-
 drivers/net/wireless/bcmdhd/include/proto/802.11.h |   12 +-
 drivers/net/wireless/bcmdhd/include/wlioctl.h      |   19 +-
 drivers/net/wireless/bcmdhd/wl_android.c           |   22 +-
 drivers/net/wireless/bcmdhd/wl_android.h           |    2 +-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c          | 2142 ++++++--------------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  125 +-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  245 ++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   27 +-
 drivers/net/wireless/bcmdhd/wl_linux_mon.c         |  409 ++++
 drivers/net/wireless/bcmdhd/wldev_common.c         |   69 +-
 drivers/net/wireless/bcmdhd/wldev_common.h         |   20 +-
 24 files changed, 2485 insertions(+), 2095 deletions(-)

commit 1dddb0cc0d
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:37:34 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.15

    - Add WFD concurrent mode support

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmevent.c             |    8 +-
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c   |   12 +-
 drivers/net/wireless/bcmdhd/bcmutils.c             |    4 +-
 drivers/net/wireless/bcmdhd/dhd.h                  |   25 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c              |    9 +-
 drivers/net/wireless/bcmdhd/dhd_common.c           |    4 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c            |  148 +++--
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |   28 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c             |   27 +-
 drivers/net/wireless/bcmdhd/dhd_wlfc.h             |   12 +-
 drivers/net/wireless/bcmdhd/hndpmu.c               |   44 +-
 drivers/net/wireless/bcmdhd/include/Makefile       |    2 +-
 drivers/net/wireless/bcmdhd/include/aidmp.h        |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmcdc.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmdefs.h      |   37 +-
 drivers/net/wireless/bcmdhd/include/bcmdevs.h      |  573 +++++++++++++-
 drivers/net/wireless/bcmdhd/include/bcmendian.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmpcispi.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmperf.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdbus.h     |   10 +-
 drivers/net/wireless/bcmdhd/include/bcmsdh.h       |   10 +-
 drivers/net/wireless/bcmdhd/include/bcmsdh_sdmmc.h |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdpcm.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdspi.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdstd.h     |   34 +-
 drivers/net/wireless/bcmdhd/include/bcmspi.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmutils.h     |   14 +-
 drivers/net/wireless/bcmdhd/include/bcmwifi.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/epivers.h      |   14 +-
 drivers/net/wireless/bcmdhd/include/hndpmu.h       |    2 +-
 .../net/wireless/bcmdhd/include/hndrte_armtrap.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/hndrte_cons.h  |    2 +-
 drivers/net/wireless/bcmdhd/include/hndsoc.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/htsf.h         |    2 +-
 drivers/net/wireless/bcmdhd/include/linux_osl.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/linuxver.h     |    6 +-
 drivers/net/wireless/bcmdhd/include/miniopt.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/msgtrace.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/osl.h          |    2 +-
 .../wireless/bcmdhd/include/packed_section_end.h   |    2 +-
 .../wireless/bcmdhd/include/packed_section_start.h |    2 +-
 drivers/net/wireless/bcmdhd/include/pcicfg.h       |   28 +-
 drivers/net/wireless/bcmdhd/include/proto/802.11.h |  317 +++++++-
 .../net/wireless/bcmdhd/include/proto/802.11_bta.h |    2 +-
 .../net/wireless/bcmdhd/include/proto/802.11e.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/802.1d.h |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/bcmeth.h |    2 +-
 .../net/wireless/bcmdhd/include/proto/bcmevent.h   |    9 +-
 drivers/net/wireless/bcmdhd/include/proto/bcmip.h  |    2 +-
 .../net/wireless/bcmdhd/include/proto/bt_amp_hci.h |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/eapol.h  |    2 +-
 .../net/wireless/bcmdhd/include/proto/ethernet.h   |    3 +-
 drivers/net/wireless/bcmdhd/include/proto/p2p.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/sdspi.h  |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/vlan.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/wpa.h    |   12 +-
 drivers/net/wireless/bcmdhd/include/sbchipc.h      |  168 ++++-
 drivers/net/wireless/bcmdhd/include/sbconfig.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sbhnddma.h     |    6 +-
 drivers/net/wireless/bcmdhd/include/sbpcmcia.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsdio.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsdpcmdev.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsocram.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sdio.h         |    5 +-
 drivers/net/wireless/bcmdhd/include/sdioh.h        |   32 +-
 drivers/net/wireless/bcmdhd/include/sdiovar.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/siutils.h      |   30 +-
 drivers/net/wireless/bcmdhd/include/trxhdr.h       |    3 +-
 drivers/net/wireless/bcmdhd/include/typedefs.h     |    5 +-
 drivers/net/wireless/bcmdhd/include/wlfc_proto.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/wlioctl.h      |   87 ++-
 drivers/net/wireless/bcmdhd/linux_osl.c            |   23 +-
 drivers/net/wireless/bcmdhd/siutils.c              |  195 +++++-
 drivers/net/wireless/bcmdhd/wl_android.c           |    6 +-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c          |  875 ++++++++++++--------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  282 +++++---
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  165 ++++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   12 +-
 drivers/net/wireless/bcmdhd/wl_iw.c                |  110 +++-
 drivers/net/wireless/bcmdhd/wl_iw.h                |   17 +-
 81 files changed, 2737 insertions(+), 752 deletions(-)

commit 52bdb6f543
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 23 12:47:21 2012 -0800

    net: wireless: bcmdhd: Add WIPHY_FLAG_SUPPORTS_FW_ROAM flag

    Adding this flag will allow NL80211_ATTR_ROAM_SUPPORT, and will set
      WPA_DRIVER_FLAGS_BSS_SELECTION flag in wpa_supplicant

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit b1a94205e9
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Jan 20 14:15:05 2012 -0800

    net: wireless: bcmdhd: Fake PNO event to wake up the wpa_supplicant

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c   |    4 +++-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   20 ++++++++++++++++----
 2 files changed, 19 insertions(+), 5 deletions(-)

commit 09701e3edf
Author: Scott Anderson <saa@google.com>
Date:   Wed Jan 18 15:56:51 2012 -0800

    usb: gadget: android: Honor CONFIG_USB_GADGET_VBUS_DRAW

    The maximum current draw was hard coded to 500 mA.  composite.c
    has code that uses CONFIG_USB_GADGET_VBUS_DRAW to set the
    bMaxPower and to set whether or not the device is self-powered if
    they haven't been set.  This change removes the code in android.c
    to allow composite.c to set them.

    Change-Id: I9db37922e91ee86e9e5c0e14519e119e5c41ca48
    Signed-off-by: Scott Anderson <saa@google.com>

 drivers/usb/gadget/android.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit a6ccb73389
Author: Benoit Goby <benoit@android.com>
Date:   Fri Jan 20 14:42:41 2012 -0800

    usb: gadget: Fix usb string id allocation

    Don't reset next_string_id every time the gadget is enabled, this makes
    the next strings allocated overwrite strings allocated at probe time.
    Instead, fix rndis not to allocate new string ids on every config bind.

    Change-Id: Ied28ee416bb6f00c434c34176fe5b7f0dcb2b2d4
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    1 -
 drivers/usb/gadget/f_rndis.c |   12 +++++-------
 drivers/usb/gadget/rndis.c   |   11 +++++++++++
 3 files changed, 16 insertions(+), 8 deletions(-)

commit 87159de9c3
Author: Jouni Malinen <jouni@qca.qualcomm.com>
Date:   Thu Aug 11 11:46:22 2011 +0300

    nl80211/cfg80211: Make addition of new sinfo fields safer

    Add a comment pointing out the use of enum station_info_flags for
    all new struct station_info fields. In addition, memset the sinfo
    buffer to zero before use on all paths in the current tree to avoid
    leaving uninitialized pointers in the data.

    Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 include/net/cfg80211.h  |    5 +++++
 net/mac80211/sta_info.c |    1 +
 net/wireless/nl80211.c  |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)

commit d692df224b
Author: Jouni Malinen <jouni@qca.qualcomm.com>
Date:   Mon Aug 8 12:11:52 2011 +0300

    cfg80211/nl80211: Send AssocReq IEs to user space in AP mode

    When user space SME/MLME (e.g., hostapd) is not used in AP mode, the
    IEs from the (Re)Association Request frame that was processed in
    firmware need to be made available for user space (e.g., RSN IE for
    hostapd). Allow this to be done with cfg80211_new_sta().

    Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
    Acked-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 include/net/cfg80211.h |    8 ++++++++
 net/wireless/nl80211.c |    4 ++++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit d1e94136fc
Author: Dima Zavin <dima@android.com>
Date:   Mon Jan 23 10:39:02 2012 -0800

    misc: remove android pmem driver, it's obsolete.

    Change-Id: I48d9778007e1e9eed2bb34e33ceee818c23afaa5
    Signed-off-by: Dima Zavin <dima@android.com>

 drivers/misc/Kconfig         |    4 -
 drivers/misc/Makefile        |    1 -
 drivers/misc/pmem.c          | 1345 ------------------------------------------
 include/linux/android_pmem.h |   93 ---
 4 files changed, 0 insertions(+), 1443 deletions(-)

commit dac306d896
Author: Dima Zavin <dima@android.com>
Date:   Thu Jan 19 09:51:07 2012 -0800

    Revert "proc: enable writing to /proc/pid/mem"

    This reverts commit 198214a7ee.

 fs/proc/base.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit a65e28a014
Author: Dima Zavin <dima@android.com>
Date:   Thu Jan 12 15:55:25 2012 -0800

    ram_console: set CON_ANYTIME console flag

    We want to ensure that we get all the console messages, even ones
    that occur while the printing CPU is not yet online.

    Change-Id: I1d2694d05ac9415669a92f38efdd8e71c927705b
    Signed-off-by: Dima Zavin <dima@android.com>

 drivers/staging/android/ram_console.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f16e6fb3e3
Author: Benoit Goby <benoit@android.com>
Date:   Thu Dec 15 18:40:37 2011 -0800

    Revert "usb: gadget: rndis: don't use dev_get_stats"

    This reverts commit ffdab0c0c4.

    Not needed anymore in 2.6.39 and 3.0, dev_get_stats has been fixed
    and may be called from atomic context. See:
    1ac9ad1 net: remove dev_txq_stats_fold()

 drivers/usb/gadget/rndis.c |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

commit e1493f1544
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 19 10:24:09 2011 -0800

    net: wireless: bcmdhd: Enable wlan access on resume for all sdio functions

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit bbd08c6e95
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 16 12:54:51 2011 -0800

    net: wireless: bcmdhd: Fix P2P interface removal

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c   |    3 ++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   43 ++++++++++++++++++++++-------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h |    9 ++++--
 3 files changed, 42 insertions(+), 13 deletions(-)

commit 37ff4411a5
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Thu Dec 15 12:12:20 2011 -0800

    net: wireless: bcm4329: Fix pno_enable if disassociated

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcm4329/dhd_common.c |   43 ++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 7 deletions(-)

commit 599c8566fa
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 13 17:39:48 2011 -0800

    net: wireless: bcmdhd: Fix proper scan command even if request is NULL

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit f227b88c89
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 13 12:27:49 2011 -0800

    net: wireless: bcmdhd: Decrease event wake_lock timeout to 1500 ms

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd.h       |    4 ++--
 drivers/net/wireless/bcmdhd/dhd_linux.c |    8 ++++----
 drivers/net/wireless/bcmdhd/wl_iw.c     |    2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

commit ed3f356087
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 12 15:40:33 2011 -0800

    net: wireless: bcmdhd: Fix getting arp_hostip table

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c561cedf2b
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 6 16:27:37 2011 -0800

    net: wireless: bcmdhd: Allow to push more packets to FW for Tx

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_sdio.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4f36cb88d6
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 2 13:24:01 2011 -0800

    net: wireless: bcmdhd: Fix scan crash in ibss mode

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit af16732d4c
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 2 13:10:47 2011 -0800

    net: wireless: bcmdhd: Add FW reloading in case of FW hang

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 7caeacd6ed
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Wed Nov 30 12:49:02 2011 -0800

    net: wireless: bcmdhd: Update to Version 5.90.125.94.1

    - Return zeroed private command buffer
    - Fix memory leak in wl_inform_single_bss()

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_common.c      |    5 +++--
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c   |   10 ++++++----
 drivers/net/wireless/bcmdhd/include/epivers.h |    2 +-
 drivers/net/wireless/bcmdhd/wl_android.c      |    9 ++++++---
 drivers/net/wireless/bcmdhd/wl_cfg80211.c     |    9 ++++++---
 5 files changed, 22 insertions(+), 13 deletions(-)

commit 8d71d882e7
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Nov 11 16:04:12 2011 -0800

    net: wireless: bcmdhd: Use CONFIG_DHD_USE_STATIC_BUF for preallocated memory

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/Kconfig             |    7 +++
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c      |   16 ++++----
 drivers/net/wireless/bcmdhd/dhd.h               |    4 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c           |    4 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c         |    4 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c          |    4 +-
 drivers/net/wireless/bcmdhd/include/linux_osl.h |    2 +-
 drivers/net/wireless/bcmdhd/linux_osl.c         |   52 +++++++++++++----------
 drivers/net/wireless/bcmdhd/wl_android.c        |    7 ++-
 9 files changed, 57 insertions(+), 43 deletions(-)

commit 35047200c4
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 19 12:32:21 2011 -0800

    wireless: Protect regdomain change by mutex

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 net/wireless/reg.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit ea693bf7f8
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 16 17:52:18 2011 -0800

    mmc: Set suspend/resume bus operations if CONFIG_PM_RUNTIME is used

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/mmc/core/bus.c |   24 +++++++-----------------
 1 files changed, 7 insertions(+), 17 deletions(-)

commit dc1b634039
Author: Benoit Goby <benoit@android.com>
Date:   Fri Dec 9 18:05:00 2011 -0800

    usb: gadget: android: Don't allow changing the functions list if enabled

    Change-Id: I3ad39b420ce79a8602a7eca1daac1f56b30bad5c
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

commit e0de0a507d
Author: Benoit Goby <benoit@android.com>
Date:   Tue Nov 29 13:49:27 2011 -0800

    usb: gadget: android: Cancel pending ctrlrequest before disabling

    Make sure there is no pending ctrlrequest before removing the config.
    Otherwise the ctrlrequest complete callback could access structures
    after they have been freed. Unbind cancels pending transfers but not
    ep0 requests.

    Bug: 5513065 5440193

    Change-Id: I063c22bf5d104a3d2df71cf622409459fac5f27a
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b86fd0b622
Author: Colin Cross <ccross@android.com>
Date:   Tue Nov 29 16:37:07 2011 -0800

    ARM: idle: call idle notifiers before stopping nohz tick

    If an idle notifier modifies a timer, calling the notifier after
    the sched tick has been stopped may leave the sched tick set too
    early.  Move teh idle notifier call before the call to
    tick_nohz_stop_sched_tick.

    Change-Id: I0db3284bec6d0193bc5e2a57650ab06bd8342319
    Signed-off-by: Colin Cross <ccross@android.com>

 arch/arm/kernel/process.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6a4a38525d
Author: Benoit Goby <benoit@android.com>
Date:   Mon Nov 28 18:01:03 2011 -0800

    usb: gadget: android: Reset next_string_id before enable

    Reset next_string_id to 0 before enabling the gadget driver. Otherwise,
    after a large number of enable/disable cycles, bind will fail
    because we cannot allocate new string ids. String ids cannot be larger
    than 254 per USB spec.

    Change-Id: I44f5fece45008b7a0a18c025d4eb5ce842585c28
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit dbb18fb2c1
Author: hyungseoung.yoo <hyungseoung.yoo@samsung.com>
Date:   Fri Nov 18 13:57:01 2011 +0900

    Bluetooth: Keep master role when SCO or eSCO is active

    This improves compatbility with a lot of headset / chipset
    combinations. Ideally this should not be needed.

    Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709
    Signed-off-by: hyungseoung.yoo <hyungseoung.yoo@samsung.com>
    Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com>

 net/bluetooth/hci_event.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

commit 9d187300df
Author: Arve Hjønnevåg <arve@android.com>
Date:   Tue Nov 22 14:56:50 2011 -0800

    rtc: Fix some bugs that allowed accumulating time drift in suspend/resume

    The current code checks if abs(delta_delta.tv_sec) is greater or
    equal to two before it discards the old delta value, but this can
    trigger at close to -1 seconds since -1.000000001 seconds is stored
    as tv_sec -2 and tv_nsec 999999999 in a normalized timespec.

    rtc_resume had an early return check if the rtc value had not changed
    since rtc_suspend. This effectivly stops time for the duration of the
    short sleep. Check if sleep_time is positive after all the adjustments
    have been applied instead since this allows the old_system adjustment
    in rtc_suspend to have an effect even for short sleep cycles.

    Change-Id: I00b45c0349ec91a4bab9b41a126b377515427898
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/rtc/class.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 452d440ab2
Author: Arve Hjønnevåg <arve@android.com>
Date:   Tue Nov 22 15:28:27 2011 -0800

    Fix "time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime" to compile on 3.0

    Change-Id: I1225f279cda04dedbfb7f853f6b58f1032bd6d2b

 kernel/time/timekeeping.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cf70c6a400
Author: John Stultz <john.stultz@linaro.org>
Date:   Wed Jun 1 18:18:09 2011 -0700

    time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime

    Arve suggested making sure we catch possible negative sleep time
    intervals that could be passed into timekeeping_inject_sleeptime.

    CC: Arve Hjønnevåg <arve@android.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>

 kernel/time/timekeeping.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 340ede3671
Author: John Stultz <john.stultz@linaro.org>
Date:   Fri May 27 11:33:18 2011 -0700

    rtc: Avoid accumulating time drift in suspend/resume

    Because the RTC interface is only a second granular interface,
    each time we read from the RTC for suspend/resume, we introduce a
    half second (on average) of error.

    In order to avoid this error accumulating as the system is suspended
    over and over, this patch measures the time delta between the RTC
    and the system CLOCK_REALTIME.

    If the delta is less then 2 seconds from the last suspend, we compensate
    by using the previous time delta (keeping it close). If it is larger
    then 2 seconds, we assume the clock was set or has been changed, so we
    do no correction and update the delta.

    Note: If NTP is running, ths could seem to "fight" with the NTP corrected
    time, where as if the system time was off by 1 second, and NTP slewed the
    value in, a suspend/resume cycle could undo this correction, by trying to
    restore the previous offset from the RTC. However, without this patch,
    since each read could cause almost a full second worth of error, its
    possible to get almost 2 seconds of error just from the suspend/resume
    cycle alone, so this about equal to any offset added by the compensation.

    Further on systems that suspend/resume frequently, this should keep time
    closer then NTP could compensate for if the errors were allowed to
    accumulate.

    Credits to Arve Hjønnevåg for suggesting this solution.

    This patch also improves some of the variable names and adds more clear
    comments.

    CC: Arve Hjønnevåg <arve@android.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>

 drivers/rtc/class.c |   65 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 48 insertions(+), 17 deletions(-)

Change-Id: I16f522e7ee2b301cbdaea62d52d50d7249f565c2
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2012-03-28 16:03:47 -07:00
Shawn Guo 0b3aec811d ARM: 7100/1: smp_scu: remove __init annotation from scu_enable()
When Cortex-A9 MPCore resumes from Dormant or Shutdown modes,
SCU needs to be re-enabled.  This patch removes __init annotation
from function scu_enable(), so that platform resume procedure can
call it to re-enable SCU.

Change-Id: I2cd8de598624882a62831086198067a39aa59348
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2012-03-26 12:40:52 +05:30
Marc Zyngier f2caa5109e ARM: architected timers: add DT support
Add runtime DT support and documentation for the Cortex A7/A15
architected timers.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

Conflicts:
        [Resolve conflicts for adding support for the feature
         ARCH_HAS_READ_CURRENT_TIMER]
	arch/arm/kernel/arch_timer.c

Change-Id: I4b1d1dc2a8c69466497423475f7a3dd4d2c380c1
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2012-03-25 20:52:14 -07:00
Marc Zyngier df590ccd9d ARM: local timers: Add A15 architected timer support
Add support for the A15 generic timer and clocksource.
As the timer generates interrupts on a different PPI depending
on the execution mode (normal or secure), it is possible to
register two different PPIs.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

Conflicts:
        [Integrate to the recent patch which has changes to
         local timer registration mechanism.

         This fixes the crash seen during hotplug operations
         where after a secondary CPU is brought back online,
         the clock event device setup was happening as part
         of the online notification mechanism which was too
         late. With this change in the local timer mechanims,
         the clock event device is now setup as part of the
         secondary CPU boot initialization making it available
         early enough for use.

         Update the board file with the appropriate changes in
         the argument for timer registration.]
	arch/arm/Kconfig
	arch/arm/include/asm/arch_timer.h
	arch/arm/kernel/arch_timer.c

Change-Id: I0bc80097c145fb2aac2150db0c5dff3c5e215a58
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2012-03-25 20:52:13 -07:00
Marc Zyngier 483e483620 ARM: local timers: introduce a new registration interface
In order to switch to a runtime selectable local timer,
add a registration interface that timer drivers can use to
register to the core.

local_timer_setup() and local_timer_stop() are made weak symbols
in order not to break existing setups.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2012-03-15 13:42:16 -07:00
Sathish Ambley 6e9be9d553 Perf: Enable CP10 and CP11 access in CPACR
VFP extension uses CP10 and CP11 and if more than one coprocessor
is used to provide a set of functionality then having different
values for the CPACR (Coprocessor Access Control Register) fields
for those coprocessors can lead to unpredictable behavior.

Make sure that both CP10 and CP11 coprocessors have their access
bits set before a VFP instruction is executed. The access
permissions have to be explicitly set here because the perf event
initialization happens way before the VFP module is initialized.

Change-Id: I8cc451a41e0d50dcd03f2b596eabf0cf4aa9e628
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2012-03-08 11:57:52 -08:00
Linux Build Service Account 092c7101d9 Merge "perf: add 8064 as krait processor" into msm-3.0 2012-03-05 04:43:58 -08:00
Will Deacon e358073331 ARM: 7308/1: vfp: flush thread hwstate before copying ptrace registers
commit 8130b9d7b9 upstream.

If we are context switched whilst copying into a thread's
vfp_hard_struct then the partial copy may be corrupted by the VFP
context switching code (see "ARM: vfp: flush thread hwstate before
restoring context from sigframe").

This patch updates the ptrace VFP set code so that the thread state is
flushed before the copy, therefore disabling VFP and preventing
corruption from occurring.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-13 11:06:05 -08:00
Dave Martin ae3939e12c ARM: 7307/1: vfp: fix ptrace regset modification race
commit 247f4993a5 upstream.

In a preemptible kernel, vfp_set() can be preempted, causing the
hardware VFP context to be switched while the thread vfp state is
being read and modified.  This leads to a race condition which can
cause the thread vfp state to become corrupted if lazy VFP context
save occurs due to preemption in between the time thread->vfpstate
is read and the time the modified state is written back.

This may occur if preemption occurs during the execution of a
ptrace() call which modifies the VFP register state of a thread.
Such instances should be very rare in most realistic scenarios --
none has been reported, so far as I am aware.  Only uniprocessor
systems should be affected, since VFP context save is not currently
lazy in SMP kernels.

The problem was introduced by my earlier patch migrating to use
regsets to implement ptrace.

This patch does a vfp_sync_hwstate() before reading
thread->vfpstate, to make sure that the thread's VFP state is not
live in the hardware registers while the registers are modified.

Thanks to Will Deacon for spotting this.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-13 11:06:05 -08:00
Will Deacon 886d462b0c ARM: 7306/1: vfp: flush thread hwstate before restoring context from sigframe
commit 2af276dfb1 upstream.

Following execution of a signal handler, we currently restore the VFP
context from the ucontext in the signal frame. This involves copying
from the user stack into the current thread's vfp_hard_struct and then
flushing the new data out to the hardware registers.

This is problematic when using a preemptible kernel because we could be
context switched whilst updating the vfp_hard_struct. If the current
thread has made use of VFP since the last context switch, the VFP
notifier will copy from the hardware registers into the vfp_hard_struct,
overwriting any data that had been partially copied by the signal code.

Disabling preemption across copy_from_user calls is a terrible idea, so
instead we move the VFP thread flush *before* we update the
vfp_hard_struct. Since the flushing is performed lazily, this has the
effect of disabling VFP and clearing the CPU's VFP state pointer,
therefore preventing the thread from being updated with stale data on
the next context switch.

Tested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-13 11:06:04 -08:00
Linux Build Service Account f3973052ee Merge "Perf: Fix event type mask" into msm-3.0 2012-02-13 07:32:57 -08:00
Neil Leeder ed4151183a perf: add 8064 as krait processor
perf events need to determine which CPU type is running
so that the appropriate perf events registers can be used.

Change-Id: I3d5a0aa16fd40ea2110f234bf4d602f4be27bbc9
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
2012-02-09 13:38:27 -05:00
Ashwin Chaugule c1c773db26 Perf: Fix event type mask
Adding mode exclusion to Krait P2 (commit: 48c15105)
introduced a subtle bug to 8660 perf code where, the event mask
would only keep the lower byte of info sent from userspace.
This would configure the PMU's to count the wrong event in
some cases.

Fix the event mask so that all the required info is parsed
and the PMU's are configured correctly.

Change-Id: Id9afd3d743f6256df96c55191ebd68503d2cb05f
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2012-02-08 16:04:46 -05:00
Russell King 0e6fe725f0 ARM: fix rcu stalls on SMP platforms
We can stall RCU processing on SMP platforms if a CPU sits in its idle
loop for a long time.  This happens because we don't call irq_enter()
and irq_exit() around generic_smp_call_function_interrupt() and
friends.  Add the necessary calls, and remove the one from within
ipi_timer(), so that they're all in a common place.

Change-Id: I18aba9978f1a3497d8a960f2f9e3618248eb0107
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Joel King <joelking@codeaurora.org>
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2012-02-08 11:56:11 -08:00
Trilok Soni 1e52e43443 msm: gic: Remove manual GIC programming for PPI trigger type
There is no need to manually program GIC for edge trigger PPIs
through board or device file hooks after the introduction of
enable_percpu_irq(.., type) interface. 2nd parameter of this
API needs to be used for programming the right trigger type for the PPI.

Change-Id: I2f33672f565dc94413365fd95f9f92aa07318687
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2012-02-08 14:37:20 +05:30
Ashwin Chaugule d431712215 Perf: Initialize raw spinlocks properly
The PMU raw spinlock was used without proper initialization
and caused the kernel to dump spinlock bad magic errors.

Change-Id: Ib35b431dc6bdb6cef6a79c01557e372e8417fec0
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2012-02-03 16:28:17 -05:00
Ashwin Chaugule 4afdedccc1 Perf: Switch to per-cpu IRQ framework
The L1CC PMU interrupt is a PPI, so use the per-CPU
request, free, enable, disable API.

Change-Id: I150dcb6ead34f0548c3fa31cc21bf7ac4d427a96
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2012-02-03 16:27:51 -05:00
Michael Bohan 0bb2b56f70 arm: irq: Allow for specification of no preallocated irqs
For cases with SPARSE_IRQ enabled, irqs preallocated with
arch_probe_nr_irqs() are already marked as allocated in the
allocated_irqs bitmap. As a consequence, irq chip drivers that
allocate irqs will feel one of two behaviors:

1. An allocation will succeed with the starting irq_base one
more than the preallocated irqs. This will thus waste the
preceeding interrupt resources that were preallocated, unless a
legacy chip driver happens to assume ownership of these by some
platform definition. The GIC driver is a typical primary chip
driver, and abides to the allocation APIs. So this can be a
problem in many trivial usecases.

2. An allocation will fail with < 0. This can also happen in the
GIC driver, which interprets this value as meaning the irq_descs
are already preallocated. But in Device Tree configurations, the
fallback irq_base is -1. This results in an invalid irq_base
value.

Looking forward, we are moving towards a world where preallocation
of irqs is no longer necessary. irq_domain is scoped to handle all
irq_desc allocations in the future. Thus, we should support
configurations where the platform wants to preallocate no irqs.

One easy way to achieve this is to allow for
machine_desc->nr_irqs < 0, which indicates not to preallocate any
interrupts.

Change-Id: Ie793932c58de72c1b91b6e039b77a8e5d64ecc75
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
2012-01-19 12:26:40 -08:00
Stephen Boyd 69425ffb7f ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1
If an ARM system has multiple cpus in the same socket and the
kernel is booted with maxcpus=1, secondary cpus are possible but
not present due to how platform_smp_prepare_cpus() is called.
Since most typical ARM processors don't actually support physical
hotplug, initialize the present map to be equal to the possible
map in generic ARM SMP code. Also, always call
platform_smp_prepare_cpus() as long as max_cpus is non-zero (0
means no SMP) to allow platform code to do any SMP setup.

After applying this patch it's possible to boot an ARM system
with maxcpus=1 on the command line and then hotplug in secondary
cpus via sysfs. This is more in line with how x86 does things.

Change-Id: Ie97366fe3236670ec9c3cb3b77ab8f7ee4a39fd3
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[stepanm@codeaurora.org: resolved trivial merge conflict]
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2012-01-17 15:31:24 -08:00
Linux Build Service Account af1546d43c Merge "ARM: Print BUG instead of undefined instruction on BUG_ON()" into msm-3.0 2012-01-11 08:03:55 -08:00
Stephen Boyd d99eefcbac ARM: Print BUG instead of undefined instruction on BUG_ON()
The arm kernel uses undefined instructions to implement
BUG/BUG_ON(). This leads to problems where people don't read one
line above the Oops message and see the "kernel BUG at ..."
message and so they wrongly assume the kernel has hit an
undefined instruction.

Instead of printing:

Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP

print

Internal error: Oops - BUG: 0 [#1] PREEMPT SMP

This should prevent people from thinking the BUG_ON was an
undefined instruction when it was actually intentional.

Change-Id: I3ae77c57d47633b28e22add8764ba52542ce5529
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2012-01-09 14:05:27 -08:00
Linux Build Service Account 5ce8f11bab Merge changes Ib8a30cc5,I6f760c69 into msm-3.0
* changes:
  ARM: vmlinux.lds.S: Align sections to correct cache line size
  ARM: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
2012-01-09 13:44:13 -08:00
Stepan Moskovchenko ced0bbe0cb ARM: vmlinux.lds.S: Align sections to correct cache line size
Align sections to the selected cache line size rather than
assuming a line size of 32 bytes.

Change-Id: Ib8a30cc5abd66036c0fd7366bcdad07dc1047c04
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2012-01-05 14:25:22 -08:00
Linux Build Service Account ddb254e665 Merge "Perf: Bug fix to correct usage of per-CPU vars" into msm-3.0 2012-01-04 23:27:10 -08:00
Will Deacon 6ffd58a4d1 ARM: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
The linker script assumes a cacheline size of 32 bytes when aligning
the .data..cacheline_aligned and .data..percpu sections.

This patch updates the script to use L1_CACHE_BYTES, which should be set
to 64 on platforms that require it.

Change-Id: I6f760c6945138ab8872df2e15c295847077547c8
Signed-off-by: Will Deacon <will.deacon@arm.com>
[stepanm@codeaurora.org: resolved merge conflict]
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2012-01-04 15:35:56 -08:00
Michael Bohan 9c07fce7c8 arm: irq: Correct set_irq_flags check for invalid irq
The current check compares against nr_irqs, which is assigned as
machine_desc->nr_irqs if defined. Per the usage in
arch_probe_nr_irqs(), nr_irqs is interpreted to mean the
preallocated irqs when used in a SPARSE_IRQ configuration. So
it's entirely possible that a chip driver will set its IRQ flags
for a IRQ number greater than nr_irqs.

NR_IRQS is still the largest IRQ any system can have, so let's
check for that instead.

Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
2012-01-04 06:49:19 -07:00
Ashwin Chaugule 3941c9230b Perf: Bug fix to correct usage of per-CPU vars
The VFP state variables were declared as per-CPU variables
but accessed as though they weren't. This caused memory corruption.

Change-Id: I49956973e55217af4f860db0a9a7f7c59eb4118a
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2012-01-03 16:53:17 -05:00
Jamie Iles 0fd86293bb ARM: 7115/4: move __exception and friends to asm/exception.h
The definition of __exception_irq_entry for
CONFIG_FUNCTION_GRAPH_TRACER=y needs linux/ftrace.h, but this creates a
circular dependency with it's current home in asm/system.h. Create
asm/exception.h and update all current users.

v4:	- rebase to rmk/for-next
v3:	- remove redundant includes of linux/ftrace.h
v2:	- document the usage restricitions of __exception*

Change-Id: I9efdb6a621bb915ad00b9a133ec93e98182fd483
Cc: Zoltan Devai <zdevai@gmail.com>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[tsoni@codeaurora.org: Merge fixes]
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2011-12-29 13:52:38 +05:30
Trilok Soni eecb28c590 ARM: gic: Consolidate PPI handling with request_percpu_irq() API
The commit 292b293 creates the MSM boot failures, so squash
the commit 28af690 with it to avoid such failures. The commit ddd847
and 0c1991 are required to keep the watchdog and Copper targets working.

commit 292b293cee
Author: Marc Zyngier <marc.zyngier@arm.com>
Date:   Wed Jul 20 16:24:14 2011 +0100

    ARM: gic: consolidate PPI handling

    PPI handling is a bit of an odd beast. It uses its own low level
    handling code and is hardwired to the local timers (hence lacking
    a registration interface).

    Instead, switch the low handling to the normal SPI handling code.
    PPIs are handled by the handle_percpu_devid_irq flow.

    This also allows the removal of some duplicated code.

    Cc: Kukjin Kim <kgene.kim@samsung.com>
    Cc: David Brown <davidb@codeaurora.org>
    Cc: Bryan Huntsman <bryanh@codeaurora.org>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Cc: Magnus Damm <magnus.damm@gmail.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: David Brown <davidb@codeaurora.org>
    Tested-by: David Brown <davidb@codeaurora.org>
    Tested-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

commit 28af690a28
Author: Marc Zyngier <marc.zyngier@arm.com>
Date:   Fri Jul 22 12:52:37 2011 +0100

    ARM: gic, local timers: use the request_percpu_irq() interface

    This patch remove the hardcoded link between local timers and PPIs,
    and convert the PPI users (TWD, MCT and MSM timers) to the new
    *_percpu_irq interface. Also some collateral cleanup
    (local_timer_ack() is gone, and the interrupt handler is strictly
    private to each driver).

    PPIs are now useable for more than just the local timers.

    Additional testing by David Brown (msm8250 and msm8660) and
    Shawn Guo (imx6q).

    Cc: David Brown <davidb@codeaurora.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: David Brown <davidb@codeaurora.org>
    Tested-by: David Brown <davidb@codeaurora.org>
    Tested-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>

commit ddd8478d68f8cf75ee9771667c0cbe2a9d1caeb9
Author: Trilok Soni <tsoni@codeaurora.org>
Date:   Tue Dec 6 00:56:01 2011 +0530

    msm: watchdog: Use request_percpu_irq() interface

    Change-Id: I7c319344f6a7f7a7c70682ac87f5c385e56d130c
    Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
    Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>

commit 0c19915e092214a4c17a9920c4c1f3d78610217d
Author: Sathish Ambley <sambley@codeaurora.org>
Date:   Fri Dec 9 17:07:37 2011 +0530

    arm: arch_timer: Use request_percpu_irq() API

    Change-Id: Iee9b218d538f315cd884a47d95bcc0dcc49b0fe1
    Signed-off-by: Sathish Ambley <sambley@codeaurora.org>

Change-Id: I7bbba706b1f2e55814be5891ed76063725c2bfb1
Signed-off-by: Ravi Kumar <kumarrav@codeaurora.org>
[tsoni@codeaurora.org: MSM specific fixes]
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2011-12-23 18:05:10 -07:00
Linux Build Service Account 8d3c9501d1 Merge "ARM: Perf: Change event filters depending on profiling mode" into msm-3.0 2011-12-16 10:23:26 -08:00
Linux Build Service Account 2856429607 Merge "msm: Configure Krait-specific settings" into msm-3.0 2011-12-15 21:14:30 -08:00
Simon Glass d3dc306beb ARM: 7017/1: Use generic BUG() handler
ARM uses its own BUG() handler which makes its output slightly different
from other archtectures.

One of the problems is that the ARM implementation doesn't report the function
with the BUG() in it, but always reports the PC being in __bug(). The generic
implementation doesn't have this problem.

Currently we get something like:

kernel BUG at fs/proc/breakme.c:35!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
...
PC is at __bug+0x20/0x2c

With this patch it displays:

kernel BUG at fs/proc/breakme.c:35!
Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP
...
PC is at write_breakme+0xd0/0x1b4

This implementation uses an undefined instruction to implement BUG, and sets up
a bug table containing the relevant information. Many versions of gcc do not
support %c properly for ARM (inserting a # when they shouldn't) so we work
around this using distasteful macro magic.

v1: Initial version to replace existing ARM BUG() implementation with something
more similar to other architectures.

v2: Add Thumb support, remove backtrace whitespace output changes. Change to
use macros instead of requiring the asm %d flag to work (thanks to
Dave Martin <dave.martin@linaro.org>)

v3: Remove old BUG() implementation in favor of this one.
Remove the Backtrace: message (will submit this separately).
Use ARM_EXIT_KEEP() so that some architectures can dump exit text at link time
thanks to Stephen Boyd <sboyd@codeaurora.org> (although since we always
define GENERIC_BUG this might be academic.)
Rebase to linux-2.6.git master.

v4: Allow BUGS in modules (these were not reported correctly in v3)
(thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting that.)
Remove __bug() as this is no longer needed.

v5: Add %progbits as the section flags.

Change-Id: I9f588a06ddd739138fddfa6a5bf67079796e68eb
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2011-12-14 15:47:55 -08:00
Stepan Moskovchenko 6fd9c9295c msm: Configure Krait-specific settings
Write a Krait-specific configuration setting when enabling
the MMU.

Change-Id: I539526a4a3fa28b4b466db35c589afecab4ed257
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2011-12-14 13:05:45 -08:00
Linux Build Service Account dc4d64e452 Merge "Perf: Save and restore counters through powercollapse" into msm-3.0 2011-12-14 04:44:16 -08:00
Ashwin Chaugule 69df4cd9f8 ARM: Perf: Change event filters depending on profiling mode
The L2CC PMU is shared between all CPU's. In system wide profiling
mode, perf allocates each event for each CPU. This restricts
the number of L2 events that the user can specify.

Instead, change the event filters, such that in system wide mode
we count each event from all CPU's. This way, the user can specify
upto 4 events (which is the current limit in h/w) in system wide
profiling mode.

Task wide profiling mode is unchanged, since we need to filter
according to the CPU on which the task/thread is running.

Change-Id: Ia51fe97cdc19617f8a3cdd53409cb5f94ff2d9b3
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-12-13 17:47:27 -05:00
Ashwin Chaugule b5ca687960 Perf: Save and restore counters through powercollapse
Update the active perf counter data structs with the most recent
values of the counters before going into powercollapse and restore
the corresponding hardware counters with these values when coming
out of it.

This change fixes a bug where the counter outputs show wild swings
when CPU power collapse is enabled.

Change-Id: I9c4ff4d4504df5b50c33a796c605126448c440cb
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-12-13 11:55:14 -05:00
Linux Build Service Account 9a48df2d29 Merge "ARM: local timers: Move arch_timer_register to __init section" into msm-3.0 2011-12-09 21:31:43 -08:00
Will Deacon 341f278d7b ARM: 7161/1: errata: no automatic store buffer drain
commit 11ed0ba175 upstream.

This patch implements a workaround for PL310 erratum 769419. On
revisions of the PL310 prior to r3p2, the Store Buffer does not
automatically drain. This can cause normal, non-cacheable writes to be
retained when the memory system is idle, leading to suboptimal I/O
performance for drivers using coherent DMA.

This patch adds an optional wmb() call to the cpu_idle loop. On systems
with an outer cache, this causes an explicit flush of the store buffer.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-09 08:52:25 -08:00
Colin Cross 692c3e2538 ARM: gic: Use cpu pm notifiers to save gic state
When the cpu is powered down in a low power mode, the gic cpu
interface may be reset, and when the cpu cluster is powered
down, the gic distributor may also be reset.

This patch uses CPU_PM_ENTER and CPU_PM_EXIT notifiers to save
and restore the gic cpu interface registers, and the
CPU_CLUSTER_PM_ENTER and CPU_CLUSTER_PM_EXIT notifiers to save
and restore the gic distributor registers.

Change-Id: Ifad58fe6c9068d48b0515e444ae528619e036125
Original-author: Gary King <gking@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-and-Acked-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
[kumarrav@codeaurora.org: fixup gic.h merge conflict]
Signed-off-by: Ravi Kumar <kumarrav@codeaurora.org>
2011-12-09 16:15:33 +05:30
Sathish Ambley d7cd1bda59 ARM: local timers: Move arch_timer_register to __init section
Fix the following warning seen while linking
WARNING: vmlinux.o(.text+0xc4b8): Section mismatch in reference
from the function arch_timer_register() to the (unknown reference)
 .cpuinit.data:(unknown)
The function arch_timer_register() references
the (unknown reference) __cpuinitdata (unknown).
This is often because arch_timer_register lacks a __cpuinitdata
annotation or the annotation of (unknown) is wrong.

Change-Id: I2646e63550b9f46d36a34d9e3b2841c7d6204386
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
2011-12-08 14:46:57 -08:00
Jeff Ohlstein 4d0bd4217b smp: change printks that occur every hotplug to pr_debugs
Hotplug occurs frequently enough on our targets that its messages are
clogging up the logs. There is no need for any messages to be printed
when hotplug is successful.

Change-Id: Icf213ab409ba428f39439f886cdf4c070a48bfbf
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
2011-12-07 13:12:14 -08:00
Linux Build Service Account 0ac06e4925 Merge changes Id3e9fc8e,I61b85b48 into msm-3.0
* changes:
  perf: add raw event selection by reg/code/group for scorpion l2
  Perf: Add support for L2 cycle counter in default list
2011-12-06 19:03:13 -08:00
Linux Build Service Account 9ba143aba6 Merge changes I1c73fd54,Ie7b3fad5 into msm-3.0
* changes:
  locking, ARM: Annotate low level hw locks as raw
  ARM: GIC: avoid routing interrupts to offline CPUs
2011-12-06 11:36:58 -08:00
Neil Leeder 89b8f8d8b0 perf: add raw event selection by reg/code/group for scorpion l2
Add the ability to specify events using the register, code, group
format instead of using enumeration values for scorpion L2 cache
raw perf events.

The existing enumeration values are temporarily left in place as they
are used by legacy copies of tools such as QView.

Change-Id: Id3e9fc8e13f61b2a0a811e1cdb458faaf52c5d02
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
2011-12-06 12:30:30 -05:00