cascardo/linux.git
11 years agovideo: exynos: dp: Clean up SW link training
Sean Paul [Mon, 16 Jul 2012 22:12:06 +0000 (15:12 -0700)]
video: exynos: dp: Clean up SW link training

Clean up some of the SW training code to make it more clear and reduce
duplicate code.

BUG=chrome-os-partner:11325
TEST=Tested on snow

Change-Id: I22c572e4f856596b26178dff41c1bb0757fa9c16
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27548
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
11 years agovideo: exynos: dp: Check DPCD return codes
Sean Paul [Mon, 16 Jul 2012 22:12:06 +0000 (15:12 -0700)]
video: exynos: dp: Check DPCD return codes

Add return code checks to the DPCD transactions in the SW link training.

BUG=chrome-os-partner:11325
TEST=Tested on snow

Change-Id: I94caca28f96af20ecb777739ad4e922a81f02796
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27576
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
11 years agoUPSTREAM: drm/i915: Implement w/a for sporadic read failures on waking from rc6
Chris Wilson [Mon, 2 Jul 2012 14:51:03 +0000 (11:51 -0300)]
UPSTREAM: drm/i915: Implement w/a for sporadic read failures on waking from rc6

As a w/a to prevent reads sporadically returning 0, we need to wait for
the GT thread to return to TC0 before proceeding to read the registers.

v2: adapt for Haswell changes (Eugeni).

v3: use wait_for_atomic_us for thread status polling.

v3: *really* use wait_for_atomic for polling.

References: https://bugs.freedesktop.org/show_bug.cgi?id=50243
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Acked-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(cherry picked from commit c4de7b0ffda2bb4843fd7f1052d0a2bb90bd08a5)
  (from drm-next branch of git://people.freedesktop.org/~airlied/linux)

Changes to original patch:

* Removed Haswell stuff since we are on an older kernel.
* Copied wait_for_atomic_us from another patch.
  * We need it but don't have the patch which introduced it.

BUG=chromium-os:32609
TEST=Multiple suspend/resume cycles.

Change-Id: Ic34c65420c902e9715c7142f57c22011561209c7
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27571
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
11 years agoRevert "BACKPORT: drm/i915: Implement w/a for sporadic read failures on waking from...
Mandeep Singh Baines [Mon, 16 Jul 2012 22:05:56 +0000 (15:05 -0700)]
Revert "BACKPORT: drm/i915: Implement w/a for sporadic read failures on waking from rc6"

This reverts commit 0cb764f4e06de7fd5a648e37e37bfbd0893cbec8.

You can't busy loop waiting for jiffies to update with interrupts disabled.
You'll wait forever.

The fix is to revert this patch and use the version of this patch currently
in drm-next:

http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next&id=c4de7b0ffda2bb4843fd7f1052d0a2bb90bd08a5

BUG=chromium-os:32609
TEST=none

Change-Id: I4ca416a9f20ccc53665bf31ee962af323b5f82bb
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27570
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
11 years agodrm/exynos: Replace shmem with alloc_page
Abhinav Kochhar [Fri, 13 Jul 2012 22:46:22 +0000 (15:46 -0700)]
drm/exynos: Replace shmem with alloc_page

Use alloc_page to allocate pages from low mem
which will improve the cache sync performance

BUG=none
TEST=tested with video playback test application

Change-Id: I474bcad98072c0bc3fd25b4c99dde2104d404896
Signed-off-by: Abhinav Kochhar <abhinav@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27431
Reviewed-by: Pawel Osciak <posciak@google.com>
11 years agomali: Fix return value handling for dma_buf_map_attachment.
Pawel Osciak [Mon, 16 Jul 2012 19:02:27 +0000 (12:02 -0700)]
mali: Fix return value handling for dma_buf_map_attachment.

dma_buf_map_attachment may return PTR_ERR.

Signed-off-by: Pawel Osciak <posciak@chromium.org>
BUG=none
TEST=none

Change-Id: Ic6aa91dd5c1a1e79db4f8d81b1538e94dec75c12
Reviewed-on: https://gerrit.chromium.org/gerrit/27521
Reviewed-by: Ray Smith <Raymond.Smith@arm.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Pawel Osciak <posciak@chromium.org>
Tested-by: Pawel Osciak <posciak@chromium.org>
11 years agovideo: exynos: dp: Fix typo bug in SW link training
Sean Paul [Sat, 14 Jul 2012 00:13:51 +0000 (17:13 -0700)]
video: exynos: dp: Fix typo bug in SW link training

This patch fixes a typo bug in SW link training that causes the Equalizer
training step to run twice.

BUG=chrome-os-partner:11325
TEST=Tested on snow, ensured SW link training worked

Change-Id: I1bbec5b5ca4530bffe95c0081bd56f791b8cfbe6
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27423
Reviewed-by: Anush Elangovan <anush@google.com>
11 years agoath9k_hw: Fix wake queues when chip is reset by ath_reset
Ashok Nagarajan [Thu, 12 Jul 2012 00:11:11 +0000 (17:11 -0700)]
ath9k_hw: Fix wake queues when chip is reset by ath_reset

This patch fixes a bug where queues are not woken up at the end of ath_reset
logic. Due to this, whenever chip reset is done using ath_reset path, queues
are sleeping even after a chip reset. No packets are transmitted at this time.
This is the reason why we see intermittent disconnects as mac80211 was not able
to send nullfunc for probing AP. This patch also cleanup some reduntant code.

Signed-off-by: Ashok Nagarajan <ashok@cozybit.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chrome-os-partner:10571,chrome-os-partner:10361
TEST=Test in similar environment to previously observed condition.
Jury is still out -- hang signature was never found during the run.

Change-Id: I750b6f14e276466d1690364de90027231e1676ce
Reviewed-on: https://gerrit.chromium.org/gerrit/27428
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
11 years agoMALI: Print GPU fault info in release builds
David Garbett [Fri, 13 Jul 2012 21:19:26 +0000 (14:19 -0700)]
MALI: Print GPU fault info in release builds

TEST=emerge-daisy chromeos-kernel
BUG=None

Change-Id: Idba45dd40c2d5a67ed0301b2bbacbd1972e252f9
Signed-off-by: David Garbett <David.Garbett@arm.com>
Signed-off-by: Ray Smith <Raymond.Smith@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27399
Reviewed-by: Pawel Osciak <posciak@google.com>
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: Anush Elangovan <anush@google.com>
Commit-Ready: Anush Elangovan <anush@google.com>

11 years agoCHROMIUM: Input: atmel_mxt_ts - Remove input_free_device in create
Benson Leung [Thu, 12 Jul 2012 03:40:30 +0000 (20:40 -0700)]
CHROMIUM: Input: atmel_mxt_ts - Remove input_free_device in create

In mxt_input_dev_create, if data->input_dev exists, we unregister
and then free the input device. This may be incorrect, as the unregister
should take care of freeing the input device when there are no longer any
references to the device.

BUG=chromium-os:32512
TEST=builds clean.
Use update_fw, and verify the input device is functional
after the firmware update.

Change-Id: Ic112803243c0e1904f7c8069693f9d0d17511482
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27250
Reviewed-by: Yufeng Shen <miletus@chromium.org>
11 years agoCHROMIUM: ARM: exynos5250: I2C HDMI information, ddc and hdmiphy added
Shirish S [Tue, 3 Jul 2012 05:48:45 +0000 (11:18 +0530)]
CHROMIUM: ARM: exynos5250: I2C HDMI information, ddc and hdmiphy added

device-tree info added, hdmiphy and ddc channel is used by HDMI TV

BUG=chrome-os-partner:10851
TEST=build ok test HDMI on smdk5250, EDID read success as can see
        HDMI resolutions changes run time.

Change-Id: I0466cf4b9fdcf61f66fb3cc04464cbb9aa5fdd1d
Signed-off-by: Shirish S <s.shirish@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26429
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Alim Akhtar <alim.akhtar@samsung.com>

11 years agoarm: exynos5: Use Software Link Training in Displayport driver
Ajay Kumar [Fri, 6 Jul 2012 09:34:17 +0000 (02:34 -0700)]
arm: exynos5: Use Software Link Training in Displayport driver

This patch disables Hardware Link Training and
enables Software Link Training for Exynos5 DP based boards.

TEST=Agilent Oscilloscope test for DP compliance. Also tested chrome scenarios.
BUG=Issue 10409: Switch to software link training for eDP

Change-Id: Ic6c2febf53242f34b810614f141bce0c1c63a012
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26919
Tested-by: Sean Paul <seanpaul@chromium.org>
Commit-Ready: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
11 years agovideo: exynos: dp: Fix Software Link training in Displayport driver
Ajay Kumar [Fri, 6 Jul 2012 09:27:56 +0000 (02:27 -0700)]
video: exynos: dp: Fix Software Link training in Displayport driver

This patch fixes the Software Link Training routine
according to Displayport standard Specification.

TEST=Agilent Oscilloscope test for DP compliance. Also tested chrome scenarios.
BUG=Issue 10409: Switch to software link training for eDP

Change-Id: Ibd52b735114a65aad6477f26e011a9c9d361d6c6
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26918
Commit-Ready: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Tested-by: Sean Paul <seanpaul@chromium.org>
11 years agoCHROMIUM: ARM: cros5250: I2C HDMI information, ddc and hdmiphy added
Shirish S [Tue, 3 Jul 2012 05:46:15 +0000 (11:16 +0530)]
CHROMIUM: ARM: cros5250: I2C HDMI information, ddc and hdmiphy added

device-tree info added, hdmiphy and ddc channel is used by HDMI TV

BUG=chrome-os-partner:10851
TEST=build ok test HDMI on snow, EDID read success as can see
HDMI resolutions changes run time.

Change-Id: I5c7e9575343bc17b227b1084598574438e8d7acb
Signed-off-by: Shirish S <s.shirish@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26656
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
11 years agoCHROMIUM: low-mem: work with swap enabled
Luigi Semenzato [Mon, 2 Jul 2012 23:15:39 +0000 (16:15 -0700)]
CHROMIUM: low-mem: work with swap enabled

Without this patch, the notifier triggers too early, when no or
little swap space is used.

We add a contribution from the swap to the "available memory" concept
by introducing a "RAM vs. swap weight".  We can't just add them
together because 1. using swap costs us RAM; and 2. freeing RAM by
swapping its content out takes longer than using already free
RAM.

Experiment on an Alex with 2Gb of RAM show that with a weight of
4 and a 50Mb threshold, the system does not thrash or OOM.  (The
experiments are not a complete guarantee.)

BUG=chromium-os:32322
TEST=tested with a memory pressure autotest which I am not allowed to commit

Signed-off-by: Luigi Semenzato <semenzato@chromium.org>
Change-Id: I614aa3e1ab1186ccc715bd23a082e7f9379b181c
Reviewed-on: https://gerrit.chromium.org/gerrit/26616
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
11 years agoCHROMIUM: dt: Enable bus arbitration on i2c bus 4
Simon Glass [Tue, 3 Jul 2012 05:08:34 +0000 (22:08 -0700)]
CHROMIUM: dt: Enable bus arbitration on i2c bus 4

Enable this feature so that the EC and AP can share the bus and both
access TPSCHROME and the battery.

BUG=chrome-os-partner:10955
TEST=boot on snow; see that i2c bus can still be accessed, and that
EC has to wait sometimes.

See previous commit for full tests.

Change-Id: Ie350b93ba0befe730adb14daabc43aedf1c82f2a
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26654
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Rong Chang <rongchang@chromium.org>

11 years agoCHROMIUM: Config: Removed CONFIG_VITHAR
David Garbett [Thu, 12 Jul 2012 00:57:22 +0000 (17:57 -0700)]
CHROMIUM: Config: Removed CONFIG_VITHAR

BUG=None
TEST=None

Change-Id: I9bfdf02ba46529ad9924ae8d496849c296dc404b
Signed-off-by: Ray Smith <Raymond.Smith@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27238
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: David Garbett <David.Garbett@arm.com>
Commit-Ready: Anush Elangovan <anush@google.com>

11 years agoARM MALI T6xx Graphic Driver: removed old version of the driver
Gabriele Paoloni [Fri, 6 Jul 2012 14:16:33 +0000 (15:16 +0100)]
ARM MALI T6xx Graphic Driver: removed old version of the driver

Removed old version of the driver not used anymore

BUG=none
TEST=tested on Daisy Board

Change-Id: Ib6200405586e97c3033316422d088beb502c1393
Signed-off-by: David Garbett <David.Garbett@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27073
Reviewed-by: Anush Elangovan <anush@google.com>
Commit-Ready: Anush Elangovan <anush@google.com>

11 years agoCHROMIUM: Config: Normalised Configs
David Garbett [Thu, 12 Jul 2012 00:57:22 +0000 (17:57 -0700)]
CHROMIUM: Config: Normalised Configs

BUG=None
TEST=None

Change-Id: I4d7ec3e3a9c6283c9c7a0e6b60640ace813b5456
Signed-off-by: Ray Smith <Raymond.Smith@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27237
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: Anush Elangovan <anush@google.com>
Commit-Ready: Anush Elangovan <anush@google.com>

11 years agoCHROMIUM: Config: Enable new T6xx driver
Gabriele Paoloni [Fri, 6 Jul 2012 14:14:12 +0000 (15:14 +0100)]
CHROMIUM: Config: Enable new T6xx driver

Disables old driver that uses the CONFIG_VITHAR* values

BUG=none
TEST=tested on Daisy board

Change-Id: I581c1ba8416ce2fb3395ea839906d0998c544e02
Signed-off-by: David Garbett <David.Garbett@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27071
Reviewed-by: Ray Smith <Raymond.Smith@arm.com>
Reviewed-by: Anush Elangovan <anush@google.com>
Commit-Ready: Anush Elangovan <anush@google.com>

11 years agoARM MALI T6xx Graphic Driver
Gabriele Paoloni [Thu, 5 Jul 2012 13:56:46 +0000 (14:56 +0100)]
ARM MALI T6xx Graphic Driver

Mali T6xx Driver updated based on W25 OpenGL ES release (TX011-BU-00000-r1p1-00dev3)

BUG=none
TEST=Tested on Daisy Board

Change-Id: I59fd6f91d6906b6164a6c661804096a7bde811b5
Signed-off-by: David Garbett <David.Garbett@arm.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/27070
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: David Garbett <davidgarbettarm@gmail.com>
Commit-Ready: David Garbett <davidgarbettarm@gmail.com>

11 years agoexynos: i2c: Add bus arbitration implementation
Simon Glass [Thu, 28 Jun 2012 03:11:42 +0000 (20:11 -0700)]
exynos: i2c: Add bus arbitration implementation

The arbitrator is a general purpose function which uses two GPIOs to
communicate with another device to claim/release a bus. We use it to
arbitrate an i2c port between the AP and the EC.

BUG=chrome-os-partner:10955
TEST=boot on snow; see that i2c bus can still be accessed, and that
EC has to wait sometimes. Keyboard operates while the EC is talking to
the battery and PMU.

Torture test:

On AP:
while true; do i2cdump  -f -y 4 0x48; done >/dev/null

On EC:
pmu 10000

This runs the bus flat out in with both masters for about 9 minutes.
very roughly 150k i2c transactions on each side.

Observed that we got only 3 timeouts on the EC in that time, none
on the AP, and that the EC recovered from timeout events correctly.

Change-Id: I9dc9406f68b40bfbdec001514775731fa195a714
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26350
Commit-Ready: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
11 years agoCHROMIUM: drm/i915: Adjust the RPS thresholds
Sean Paul [Wed, 11 Jul 2012 19:59:36 +0000 (12:59 -0700)]
CHROMIUM: drm/i915: Adjust the RPS thresholds

Lower the RPS thresholds and make them symmetric. This patch increases
the rate of change of the GPU clock, allowing it to clock up more
quickly, and more importantly, clock down when necessary. The problem
this patch solves is that a heavy workload would inflate the clock, and
then the clock would stick high when the workload went away because the
down threshold was too high. This should improve our thermals and power.

BUG=chrome-os-partner:11009
TEST=Tested with the PBS koala video, play it along with a GL demo to
get the clock up to 1150MHz. Remove the GL demo workload and ensure the
clock goes back down to 350MHz.

Change-Id: I9a489ffd4810fb2b3c2544d6165d664899ec0e54
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/27184
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
11 years agoRevert "CHROMIUM: i915: disable GPU RC6 on ivybridge boards"
Sameer Nanda [Mon, 9 Jul 2012 16:25:26 +0000 (09:25 -0700)]
Revert "CHROMIUM: i915: disable GPU RC6 on ivybridge boards"

This reverts commit 7e5e38687f0582f3356fe148e77418a3027d8fe7

Change-Id: I1e5b4a6688620487108bdf6bfd429ef65c709c69
Reviewed-on: https://gerrit.chromium.org/gerrit/26923
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Sameer Nanda <snanda@chromium.org>
Tested-by: Sameer Nanda <snanda@chromium.org>
11 years agoUPSTREAM: mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug
Kyoungil Kim [Mon, 14 May 2012 08:38:48 +0000 (17:38 +0900)]
UPSTREAM: mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug

The sdio interrupt mask bits are arranged in [31:16].
(1 << SDMMC_INT_SDIO(slot->id))) does 16 bits left shift twice.
So this patch changes to do 16 bits left shift only one time.

BUG=chrome-os-partner:10990
TEST=Build and boot; code inspection (old bit was clearly wrong).

Change-Id: I7e8d8f711e852d208cbbdebf0fd164fa8459b009
Signed-off-by: Kyoungil Kim <ki0351.kim@samsung.com>
Acked-by: Shashidhar Hiremath <shashidharh@vayavyalabs.com>
Acked-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
(cherry picked from commit 705ad0472bd55fa38e6c594b2d6318c31e86068a)
Reviewed-on: https://gerrit.chromium.org/gerrit/26726
Reviewed-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Grant Grundler <grundler@chromium.org>

11 years agoUPSTREAM: mmc: dw_mmc: fix the IDMAC sw reset
Seungwon Jeon [Tue, 22 May 2012 04:01:03 +0000 (13:01 +0900)]
UPSTREAM: mmc: dw_mmc: fix the IDMAC sw reset

IDMAC may not be cleaned in driver probe if it has been already used in
boot time. So IDMAC needs sw reset newly. And DMA interface reset
precedes the internal DMAC reset. Additionally SDMMC_IDMAC_SWRESET is
replaced with magic code.

BUG=chrome-os-partner:10990
TEST=Build and boot several times; code inspection.

Change-Id: If3a3f62ca3e90fa9301f19365f681d7d6a626824
Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
(cherry picked from commit 141a712a4eb09639dd4973a7c5e6999e3b8ae04a)
(dianders resolved conflicts with https://gerrit-int.chromium.org/19870)
Reviewed-on: https://gerrit.chromium.org/gerrit/26728
Reviewed-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Grant Grundler <grundler@chromium.org>

11 years agoCHROMIUM: mac80211: Abort bgscan when under load
Christopher Wiley [Thu, 28 Jun 2012 22:18:07 +0000 (15:18 -0700)]
CHROMIUM: mac80211: Abort bgscan when under load

Reapply a patch that causes the mac80211 module to abort background scans
when data is found in the tx buffer, rather than merely suspending the
scan.  This patch was previously applied to a previous kernel version,
and reworked by Ashok from Cozybit.

BUG=chromium-os:31435
TEST=Reran network_WiFiMatFunc.090_BgScanAbort, hand tested patched img
Signed-off-by: Christopher Wiley <wiley@chromium.org>
Change-Id: I670ad51c0b9ceb10071175df01de3f141b5e43d3
Reviewed-on: https://gerrit.chromium.org/gerrit/26716

11 years agoDisable VMX unless directed not to in the command line
Ronald G. Minnich [Tue, 3 Jul 2012 17:57:02 +0000 (10:57 -0700)]
Disable VMX unless directed not to in the command line

With this patch, the kernel will by default disable VMX on all cores.
This is an improvement over what we had with earlier
systems, which only disabled it only on core 0.

There is a command line parameter called disablevmx.
If it is not specified in the command line VMX will be disabled.
If it is specified with no value, VMX will be disabled.
If it is specified with the value 'on', VMX will be disabled.
If it is specified with a value other than 'off', or 'on', the message
Malformed early option 'disablevmx'
will appear in the log, and VMX will *still* be disabled.

If the value is 'off' VMX will not be disabled.
At the same time, the kernel will
not specifically enable it. It takes no action, leaving
the management decision for later.

This has been tested on a 64-bit platform with and without the option,
with values (both incorrect and correct) for the option, and it works.
I don't have a 32-bit platform to test on.

Without the disablevmx=off option the kernel prints this:
[    0.000000] Disabling VMX on cpu 0
[    0.139521] Disabling VMX on cpu 1
[    0.153338] Disabling VMX on cpu 2
[    0.167148] Disabling VMX on cpu 3

BUG=chrome-os-partner:10449

TEST=build an image for 64-bit Chromeos platform as normal. Boot with as
normal and observe this output:

[    0.000000] Disabling VMX on cpu 0
[    0.139521] Disabling VMX on cpu 1
[    0.153338] Disabling VMX on cpu 2
[    0.167148] Disabling VMX on cpu 3

Add the do_not_disablevmx flag from the command line. There is no output,
but rdmsr commands for register 3a will show 0x0000000000000000, e.g.
localhost ~ # rdmsr 0 0x3a
0x0000000000000000
localhost ~ # rdmsr 1 0x3a
0x0000000000000000
localhost ~ # rdmsr 2 0x3a
0x0000000000000000
localhost ~ # rdmsr 3 0x3a
0x0000000000000000

UNLESS, on, e.g. a lumpy, the lock bit was set, in which case
the msrs will have whatever value they had last boot time.

We had a discussion with a kernel developer about upstreaming this option
and we did not reach closure. I'm assuming we'll be owning this patch
for a while, so I'd like to limit the footprint to one file.

Change-Id: I2aa6f258ffcc04f8d146f878b19f13a805d64f0b
Signed-off-by: Ronald G. Minnich <rminnich@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26688
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Will Drewry <wad@chromium.org>
11 years agoCHROMIUM: config: exynos5: enable MAX77686 RTC
Abhilash Kesavan [Sun, 1 Jul 2012 07:28:22 +0000 (00:28 -0700)]
CHROMIUM: config: exynos5: enable MAX77686 RTC

Enable CONFIG_RTC_DRV_MAX77686 to use the PMIC RTC.

BUG=chrome-os-partner:8693
TEST=See the following RTC boot messages:
"max77686-rtc max77686-rtc: rtc core: registered max77686-rtc as rtc0"
Test the RTC using "hwclock"

Change-Id: I250e269d34b4fa5995114c2d584393c120004344
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26538
Commit-Ready: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
11 years agoMove video nodes for media devices up to not to conflict with cameras.
Pawel Osciak [Fri, 22 Jun 2012 00:59:27 +0000 (17:59 -0700)]
Move video nodes for media devices up to not to conflict with cameras.

Moving MFC and GSC nodes to start with /dev/video10, so as not to conflict
with cameras and confuse Chrome.

BUG=chrome-os-partner:10650
TEST=Manual run and camera test in Chrome

Change-Id: Ic00179e0b068d572b8cb62b70e312efdcaf4d64f
Reviewed-on: https://gerrit-int.chromium.org/20574
Signed-off-by: Pawel Osciak <posciak@google.com>
Reviewed-by: Naveen Krishna Chatradhi <naveen@chromium.org>
Tested-by: Naveen Krishna Chatradhi <naveen@chromium.org>
Reviewed-by: Olof Johansson <olofj@google.com>
Tested-by: Pawel Osciak <posciak@google.com>
Reviewed-by: Kiran <kiran@chromium.org>
Commit-Ready: Pawel Osciak <posciak@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26870

11 years agoCHROMIUM: ARM: exynos: add flip traces
Jeff Disher [Tue, 3 Jul 2012 22:21:37 +0000 (18:21 -0400)]
CHROMIUM: ARM: exynos: add flip traces

While we generally plan to expand this set of traces to cover more of
the driver, these two for flip request/complete are 2 of the 3 traces
currently reported by the i915 driver being used as a point of
comparison (the other is for the pwrite_ioctl which isn't supported
here).

TEST=Booted the kernel on device and was able to observe believable
trace data from systrace (once it was set to whitelist these
tracepoints).
BUG=chrome-os-partner:11092

Change-Id: I70f2f77581f83ab0af83bdb891ffba51cd51e8e0
Signed-off-by: Jeff Disher <disher@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26721
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Commit-Ready: Jeff Disher <disher@chromium.org>
Tested-by: Jeff Disher <disher@chromium.org>
Reviewed-by: Anush Elangovan <anush@google.com>
11 years agoHACK: exynos5250: config/dtsi: Enable battery support on snow
Simon Glass [Fri, 6 Jul 2012 02:35:25 +0000 (19:35 -0700)]
HACK: exynos5250: config/dtsi: Enable battery support on snow

This enables the battery on snow so that you can see the battery status
on the gui.

BUG=none
TEST=manual:
boot on snow; see that the battery gauge comes up after a few seconds

Change-Id: I4363674eca57d16201b4ddedd49a21fa44dd17de
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26835
Commit-Ready: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
11 years agoexynos: i2c: Leave the bus disabled unless it is in use
Simon Glass [Fri, 6 Jul 2012 02:38:52 +0000 (19:38 -0700)]
exynos: i2c: Leave the bus disabled unless it is in use

There is a rather odd feature of the exynos i2c controller that if it
is left enabled, it can lock itself up with the clk line held low.
This makes the bus unusable.

Unfortunately, the s3c24xx_i2c_set_master() function does not notice
this, and reports a timeout. From then on the bus cannot be used until
the AP is rebooted.

The problem happens when any sort of interrupt occurs (e.g. due to a
bus transition) when we are not in the middle of a transaction. We
have seen many instances of this when U-Boot leaves the bus apparently
happy, but Linux cannot access it.

The current code is therefore pretty fragile.

This fixes things by leaving the bus disabled unless we are actually
in a transaction. We enable the bus at the start of the transaction and
disable it at the end. That way we won't get interrupts and will not
lock up the bus.

It might be possible to clear pending interrupts on start-up, but this
seems to be a more robust solution. We can't service interrupts when
we are not in a transaction, and anyway would rather not lock up the
bus while we try.

BUG=chrome-os-partner:11124
TEST=manual:
Look up bus 4 in U-Boot by manually modifying the code to leave a
pending interrupt in the controller (stopping a transaction half-way
through with an error).

Boot into Linux and see that the bus is recovered and works normally
with:

$ i2cdump  -f -y 4 0x48

Without this change, we see:

s3c-i2c s3c2440-i2c.4: cannot get bus (error -110)

in the kernel logs.

Check that the keyboard works also (which uses i2c4).

Change-Id: Iccc9777fa8576bd4491dfbfbad044cec3638debb
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26834
Commit-Ready: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
11 years agochromium: enable DWC3 config for Exynos
Katie Roberts-Hoffman [Sat, 7 Jul 2012 06:01:16 +0000 (23:01 -0700)]
chromium: enable DWC3 config for Exynos

Enable CONFIG_USB_DWC3 for Exynos to enable USB3.0 support.

BUG=chrome-os-partner:11030
TEST=emerge-daisy chromeos-kernel, boot kernel on snow,
verify lsusb shows device correctly

Change-Id: I1e0123a7e6d73d13329491126fedd508ad63beab
Reviewed-on: https://gerrit.chromium.org/gerrit/26867
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Katie Roberts-Hoffman <katierh@chromium.org>
Commit-Ready: Katie Roberts-Hoffman <katierh@chromium.org>

11 years agoCHROMIUM: ALSA: hda/ca0132 - use same pcm index for analog capture and playback.
Dylan Reid [Thu, 21 Jun 2012 18:42:31 +0000 (11:42 -0700)]
CHROMIUM: ALSA: hda/ca0132 - use same pcm index for analog capture and playback.

Change-Id: I17aea018e5bec48e8880b6ae0fccde11d7b7ccea
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26342

11 years agortc: MAX77686: Add Maxim 77686 rtc driver
Abhilash Kesavan [Tue, 3 Jul 2012 05:07:39 +0000 (22:07 -0700)]
rtc: MAX77686: Add Maxim 77686 rtc driver

Add support for MAX77686 RTC. It supports features like AM/PM, 24/12
modes of operation as well as alarm interrupts.

BUG=chrome-os-partner:8693
TEST=See the following RTC boot messages:
"max77686-rtc max77686-rtc: rtc core: registered max77686-rtc as rtc0"
Test the RTC using "hwclock"

Change-Id: I2d18e9bf14a23ab4872339e338499bc96f556bbf
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26536
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Grant Grundler <grundler@chromium.org>

11 years agoexynos5: dt: Setup MAX77686 pmic gpio
Abhilash Kesavan [Mon, 2 Jul 2012 20:07:34 +0000 (13:07 -0700)]
exynos5: dt: Setup MAX77686 pmic gpio

Initialize the gpio line for PMIC interrupt on Exynos5.

BUG=chrome-os-partner:8693
TEST=Test the RTC using "hwclock"

Change-Id: I27fe0f6657382341b9b84a048127e51ec34eacaf
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26537
Reviewed-by: Grant Grundler <grundler@chromium.org>
Tested-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Grant Grundler <grundler@chromium.org>

11 years agoUPSTREAM: mmc: dw_mmc: fix incorrect setting of host->data of NULL
Seungwon Jeon [Tue, 22 May 2012 04:01:13 +0000 (13:01 +0900)]
UPSTREAM: mmc: dw_mmc: fix incorrect setting of host->data of NULL

Setting host->data to NULL is incorrect sequence in
dw_mci_command_complete. This early setting makes the skip of
dma_unmap_sg in dw_mci_dma_cleanup.

BUG=chrome-os-partner:10990
TEST=Build and boot; code inspection.

Change-Id: Ibb328fd1747e282fbef966cad51afc510ac1a313
Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
(cherry picked from commit fda5f736864c46324dbc50246ef1ca0e84ebf4ae)
Reviewed-on: https://gerrit.chromium.org/gerrit/26727
Commit-Ready: Grant Grundler <grundler@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
11 years agoUPSTREAM: staging: gdm72xx: use %pM for MAC
Andy Shevchenko [Fri, 6 Jul 2012 15:28:15 +0000 (18:28 +0300)]
UPSTREAM: staging: gdm72xx: use %pM for MAC

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Ben Chan <benchan@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e7ecb0fb40a5358646888720848787da34cfa33d)

Change-Id: I924f74e892c12ba19f0341da386b4a4286b7a38a
Signed-off-by: Ben Chan <benchan@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26865
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: exynos: dvfs: Fix Maxim 77686 to correctly check device-tree
Sonny Rao [Fri, 6 Jul 2012 12:09:53 +0000 (05:09 -0700)]
CHROMIUM: exynos: dvfs: Fix Maxim 77686 to correctly check device-tree

The check for the dt property "max77686,buck_ramp_delay" was
incorrectly ignored.  The of_property_read_u32() function returns 0
when the property is found, so fix this by inverting the test.

BUG=chrome-os-partner:10891
TEST=Ad hoc, ensure that the driver is using the correct value for
voltage slew rate

Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Change-Id: I878108558510c0f07604d4a30366fe343ee8ac06
Reviewed-on: https://gerrit.chromium.org/gerrit/26853
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>

11 years agoCHROMIUM: exynos: dvfs: fix default slew rate for Maxim 77686 PMIC
Sonny Rao [Fri, 6 Jul 2012 12:05:30 +0000 (05:05 -0700)]
CHROMIUM: exynos: dvfs: fix default slew rate for Maxim 77686 PMIC

The device tree specifies the default voltage slew rate for the
Maxim 77686 regulator which is powering the CPU rail, but it is giving
the incorrect value.  The value isn't well specified as it merely points
to a table in the regulator code, but the current value of 2 points to the
55 mv/usec rate instead of the actual default which is 27.5 mv/usec.
This happened to work because the maxim regulator code was incorrectly
ignoring the value coming from the device tree, and choosing the
appropriate default.  Fix the first part by changing the default value
to 1 which is 27.5 mV/uS.

BUG=chrome-os-partner:10891
TEST=none, requires further driver fix to test

Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Change-Id: I192a24d96f0642c58f555c89061df0a5e86508d9
Reviewed-on: https://gerrit.chromium.org/gerrit/26852
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>

11 years agoCHROMIUM: exynos: dvfs: maxim: Fix unit conversion error when calculating delay
Sonny Rao [Fri, 6 Jul 2012 12:00:06 +0000 (05:00 -0700)]
CHROMIUM: exynos: dvfs: maxim: Fix unit conversion error when calculating delay

The Maxim 77686 driver specifies voltages for different regulators in different
units, using either milli-volts or micro-volts.  It fails to account for this
unit difference when calculating the amount of time to wait in microseconds for
the voltage change to complete, so I changed the table of slew rates to be in
micro-volts per micro-second instead of milli-volts per micro-second, and
factor in the units into the calculation.  I also made the table more
accurate than it was because we have more precision by using micro-volts.

BUG=chrome-os-partner:10891
TEST="ad hoc, run with ondemand or interactive governer, run perf top,
observe that __delay is no longer one of the top functions"

Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Change-Id: Ic2ae82d92a86db503982b6cc29fdc2d68fa6ee9e
Reviewed-on: https://gerrit.chromium.org/gerrit/26851
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>

11 years agoARM: exynos: Don't free backlight enable GPIO
Jonathan Kliegman [Thu, 5 Jul 2012 15:52:59 +0000 (11:52 -0400)]
ARM: exynos: Don't free backlight enable GPIO

Move the lcd backlight enable GPIO to samsung_bl_init to
prevent issues with freeing and requesting it multiple times.
This fixes issues with enabling the blacklight on resume.

BUG=chrome-os-partner:11086
TEST=Resume device, observe backlight turns on

Change-Id: Ibac332202f77986f4f25b01d523d31f66ac92649
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26817
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoUPSTREAM: mm: fix faulty initialization in vmalloc_init()
KyongHo [Tue, 29 May 2012 22:06:49 +0000 (15:06 -0700)]
UPSTREAM: mm: fix faulty initialization in vmalloc_init()

commit dbda591d920b4c7692725b13e3f68ecb251e9080 upstream.

The transfer of ->flags causes some of the static mapping virtual
addresses to be prematurely freed (before the mapping is removed) because
VM_LAZY_FREE gets "set" if tmp->flags has VM_IOREMAP set.  This might
cause subsequent vmalloc/ioremap calls to fail because it might allocate
one of the freed virtual address ranges that aren't unmapped.

va->flags has different types of flags from tmp->flags.  If a region with
VM_IOREMAP set is registered with vm_area_add_early(), it will be removed
by __purge_vmap_area_lazy().

Fix vmalloc_init() to correctly initialize vmap_area for the given
vm_struct.

Also initialise va->vm.  If it is not set, find_vm_area() for the early
vm regions will always fail.

BUG=None
TEST=emerge-daisy chromeos-kernel,
run 4 instances of 1080p h264 video multiple times without issues.

Signed-off-by: KyongHo Cho <pullip.cho@samsung.com>
Cc: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Arjun KV <arjun.kv@samsung.com>
Change-Id: Ib951f26497e6929978ce169230a97e7961535ecf
Reviewed-on: https://gerrit.chromium.org/gerrit/26814
Reviewed-by: kiran <kiran@chromium.org>
Tested-by: kiran <kiran@chromium.org>
Reviewed-by: Sunil M <sunilm.samsung@gmail.com>
Reviewed-by: Pawel Osciak <posciak@google.com>
11 years agoexynos: drm: mfc: gsc: Increase the IOMMU memory size from 128MB to 256MB
Arjun KV [Thu, 5 Jul 2012 09:47:48 +0000 (15:17 +0530)]
exynos: drm: mfc: gsc: Increase the IOMMU memory size from 128MB to 256MB

This change is required for 1080p multiple instance video playback.
We need to increase the MFC, GSC and DRM-FIMD IOMMU memory size
from 128MB to 256MB.
With this change all VDA scenarios including multi instance playback
are handled.

BUG=None
TEST=emerge-daisy chromeos-kernel,
run 4 instance 1080p h264 video.

Change-Id: Iaa410a29addea565ae7cca65360ba909b26a795e
Signed-off-by: Arjun KV <arjun.kv@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26813
Reviewed-by: kiran <kiran@chromium.org>
Tested-by: kiran <kiran@chromium.org>
Reviewed-by: Sunil M <sunilm.samsung@gmail.com>
Reviewed-by: Subash Patel <subash@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
11 years agoexynos/gsc: modify number of output and capture buffers
Arun Mankuzhi [Tue, 5 Jun 2012 06:33:40 +0000 (23:33 -0700)]
exynos/gsc: modify number of output and capture buffers

gscaler src buffer count increased to 16
This is required for H264 streams

BUG=None
TEST=Utc OMX test app and Chrome unit test works fine.

Change-Id: I5a3cb6800b31b9816129317cdba3d7b5333560ee
Signed-off-by: Arun Mankuzhi <arun.m@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26810
Reviewed-by: Sunil M <sunilm.samsung@gmail.com>
Reviewed-by: kiran <kiran@chromium.org>
Tested-by: kiran <kiran@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
Commit-Ready: kiran <kiran@chromium.org>

11 years agoCHROMIUM: Input: cyapa - return -ENOMEM if kasprintf fails in probe
Daniel Kurtz [Thu, 5 Jul 2012 06:16:55 +0000 (14:16 +0800)]
CHROMIUM: Input: cyapa - return -ENOMEM if kasprintf fails in probe

"ret" is being returned unitialized in this error path.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chromium-os:32389
TEST=builds without this warning:
  cyapa.c: In function 'cyapa_probe':
  cyapa.c:1779:6: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]

Change-Id: I8ba5ecf03a99d13df808cf83b7a68a13d3891fab
Reviewed-on: https://gerrit.chromium.org/gerrit/26803
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>

11 years agoCHROMIUM: Input: cyapa - fix "no return statement..."
Daniel Kurtz [Thu, 5 Jul 2012 06:15:08 +0000 (14:15 +0800)]
CHROMIUM: Input: cyapa - fix "no return statement..."

cyapa_start_runtime() doesn't return anything, so make it return void.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chromium-os:32389
TEST=builds without this warning:
  cyapa.c: In function 'cyapa_start_runtime':
  cyapa.c:1771:1: warning: no return statement in function returning non-void [-Wreturn-type]

Change-Id: I56ca2c62fb15c0a0e98b6277f8d3721c457eb9a5
Reviewed-on: https://gerrit.chromium.org/gerrit/26802
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>

11 years agoCHROMIUM: ARM: cros5250: Invert power button signal
Jonathan Kliegman [Wed, 4 Jul 2012 19:51:09 +0000 (15:51 -0400)]
CHROMIUM: ARM: cros5250: Invert power button signal

The power button is currently inverted on snow.  This inverts the signal.

BUG=chrome-os-partner:11112
TEST=Quick power button press no longer screen logs or shuts down
  power manager logs report correct state on presses

Change-Id: Iecd95fde5ddc67ec09cd6bd35fcf8948bd0be2f5
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26788

11 years agoUPSTREAM: HID: magicmouse: Implement Multi-touch Protocol B (MT-B)
Yufeng Shen [Wed, 4 Jul 2012 16:15:43 +0000 (12:15 -0400)]
UPSTREAM: HID: magicmouse: Implement Multi-touch Protocol B (MT-B)

The driver for Apple Magic Trackpad/Mouse currently uses
Multi-touch Protocol A (MT-A) to report touch events and uses
ABS_MT_TRACKING_ID to do finger tracking. The fact of the device
being able to track individual finger makes it possible to
report touch events using MT-B. This patch converts the driver
to use MT-B as it is preferred to MT-A.

V4: Removed BTN_TOUCH evnet.
V3: Removed the single touch related logic.
V2: Converting entirely to MT-B as Henrik Rydberg suggested.

Signed-off-by: Yufeng Shen <miletus@chromium.org>
Reviewed-and-tested-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
cherry-picked from
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
commit a6d1bc1d5fb0f6ce817bef188a3d93255db03992

BUG=chromium-os:29435
TEST=Use evtest/mtplot to check that Apple Magic Trackpad is
     reporting MT-B touch events correctly.

Change-Id: I1d51ace4f05d86d39a7012bf43b659ccb26eae7e
Reviewed-on: https://gerrit.chromium.org/gerrit/26791
Reviewed-by: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
Commit-Ready: Yufeng Shen <miletus@chromium.org>

11 years agoUPSTREAM: HID: magicmouse: Removing report_touches switch
Yufeng Shen [Wed, 4 Jul 2012 16:14:43 +0000 (12:14 -0400)]
UPSTREAM: HID: magicmouse: Removing report_touches switch

Remove the report_touches switch as it is not so useful to turn
off reporting touch events for a touch device. Let the userspace
to do the filtering if the turning off is needed.

V2: Remove report_touches as suggeted by Chase Douglas

Signed-off-by: Yufeng Shen <miletus@chromium.org>
Reviewed-and-tested-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
cherry-picked from
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
commit 6264307ed090cc41a47a1e55be713d75e81f1b27

BUG=None
TEST=Module compiles and magic trackpad still emits touch
     events correctly.

Change-Id: I93170af98da55401a2a29a92f8f0a3a136646c48
Reviewed-on: https://gerrit.chromium.org/gerrit/26790
Reviewed-by: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
Commit-Ready: Yufeng Shen <miletus@chromium.org>

11 years agoUPSTREAM: ARM: EXYNOS: Remove the L2 cache latency setting for EXYNOS5
Kukjin Kim [Sun, 1 Jul 2012 06:46:11 +0000 (23:46 -0700)]
UPSTREAM: ARM: EXYNOS: Remove the L2 cache latency setting for EXYNOS5

Since SYSRAM set the L2 cache latency on EXYNOS5 SoCs,
no longer need that in the kernel. It helps to reduce
booting time (no need cache disable and cache enable).

BUG=None
TEST=Run /opt/punybench/bin/memcpy_test before and after.
No significant diference noticed in numbers.  For reference,
numbers look like:
  L1 cached data:
  memcpy_trivial:  (4096 bytes copy) =  800.2 MiB/s /  800.5 MiB/s
  memcpy        :  (4096 bytes copy) = 3085.0 MiB/s / 7019.3 MiB/s
  memcpy_trivial:  (6144 bytes copy) =  790.0 MiB/s /  787.4 MiB/s
  memcpy        :  (6144 bytes copy) = 3062.4 MiB/s / 7207.7 MiB/s

  L2 cached data:
  memcpy_trivial:  (65536 bytes copy) =  785.6 MiB/s /  791.6 MiB/s
  memcpy        :  (65536 bytes copy) = 3009.0 MiB/s / 5818.0 MiB/s
  memcpy_trivial:  (98304 bytes copy) =  783.7 MiB/s /  784.4 MiB/s
  memcpy        :  (98304 bytes copy) = 2977.7 MiB/s / 5784.4 MiB/s

  SDRAM:
  memcpy_trivial:  (8388608 bytes copy) =  772.8 MiB/s /  760.5 MiB/s
  memcpy        :  (8388608 bytes copy) = 2228.6 MiB/s / 2558.6 MiB/s
  memcpy_trivial:  (12582912 bytes copy) =  770.9 MiB/s /  772.7 MiB/s
  memcpy        :  (12582912 bytes copy) = 2209.3 MiB/s / 2527.8 MiB/s

Change-Id: I314bd2d6644e18aa64221b816079bf84e6c80959
Signed-off-by: Boojin Kim <boojin.kim@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Doug Anderson <dianders@chromium.org>
(cherry picked from commit c8dd5110dead436b178bb2d8976290fd5f77a2ee)
Reviewed-on: https://gerrit.chromium.org/gerrit/26539

11 years agomedia: gscaler: fixed multi instance video playback issue
Shaik Ameer Basha [Fri, 29 Jun 2012 07:03:18 +0000 (12:33 +0530)]
media: gscaler: fixed multi instance video playback issue

This patch fixes the multi instance video playback crash issue
when kernel preemption is disabled.
pm_runtime_xxx() functions are moved from the irq_handler context
to vb2 ops functions, namely stop_streaming and start_streaming.
workqueue related functionality is deleted from gscaler as it is
redundant now.

BUG=chrome-os-partner:10424
TEST=emerge-daisy chromeos-kernel,
check multi instance playback.

Change-Id: I05680c0548d7e7da399befbd6f84da8941eda682
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26781
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Pawel Osciak <posciak@google.com>
Tested-by: Arjun.K.V <arjun.kv@samsung.com>
Commit-Ready: Arjun.K.V <arjun.kv@samsung.com>

11 years agos5p-mfc: Fix a bug in open and close instance cmd
Naveen krishna Chatradhi [Thu, 21 Jun 2012 04:35:37 +0000 (21:35 -0700)]
s5p-mfc: Fix a bug in open and close instance cmd

The open_instance_cmd and close_instance_cmd are working on the wrong
context number. This patch fixes the bug.

BUG=Playing bigger streams fails at gsc_m2m_try
TEST=Tested Multi instance with google test app

Change-Id: I6f216a872213ae7485939904ec14f509c427914b
Signed-off-by: Arun Kumar <arun.kk@samsung.com>
Signed-off-by: Naveen krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26515
Tested-by: naveen krishna chatradhi <naveen@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
Commit-Ready: naveen krishna chatradhi <naveen@chromium.org>

11 years agoRevert "TEMP: s5p-mfc: Set display delay to 0x8"
Naveen krishna Chatradhi [Fri, 29 Jun 2012 19:11:33 +0000 (12:11 -0700)]
Revert "TEMP: s5p-mfc: Set display delay to 0x8"

Proper fix has been preposed and merged already

This reverts commit 2b06222227681b13b3c25b25fbf3fa21997e64af.

BUG=None
TEST=Verified with OMX application

Change-Id: I3fe35fdb243730a33f5f53b530424adf4f9a3da5
Signed-off-by: Naveen krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26514
Tested-by: naveen krishna chatradhi <naveen@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
Commit-Ready: naveen krishna chatradhi <naveen@chromium.org>

11 years agoCHROMIUM: chromeos_laptop - Add cyapa on Parrot
Benson Leung [Tue, 26 Jun 2012 19:39:09 +0000 (12:39 -0700)]
CHROMIUM: chromeos_laptop - Add cyapa on Parrot

Add cyapa touchpad for Parrot board.

BUG=chrome-os-partner:10369
TEST=Check that cyapa comes up correctly on Parrot
with Coreboot system firmware.

Change-Id: Ie9d0560da5d8dcbfa092db41f5e80d328bc69989
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26130
Reviewed-by: Jay Kim <yongjaek@chromium.org>
11 years agoARM: exynos: Remove __initdata from smdk5250_dp_data structure
Jonathan Kliegman [Tue, 3 Jul 2012 19:12:19 +0000 (15:12 -0400)]
ARM: exynos: Remove __initdata from smdk5250_dp_data structure

platform_data structures are assumed by the exynos_dp driver to be
valid after initialization.  Remove the __initdata tag to keep
the data valid.

BUG=chrome-os-partner:11063
TEST=power_Resume test @10 iterations with no panics

Change-Id: Ifc8d38cd0150ec1116ee37310df399508c5624e1
Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26696
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
11 years agomac80211: don't forget to wake queues
Ashok Nagarajan [Thu, 28 Jun 2012 07:52:30 +0000 (00:52 -0700)]
mac80211: don't forget to wake queues

This patch is written by Johannes that helps to wake tx
queues when there is a change in channel type. This could
be found from "http://p.sipsolutions.net/3e89ee42463d6cc9.txt".

Signed-off-by: Ashok Nagarajan <ashok@cozybit.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chrome-os-partner:10361
TEST=Run with new kernel on 5GHz net with invalid HT40

Change-Id: Ic730583ebd6ca65871072a9025b74574368d0280
Reviewed-on: https://gerrit.chromium.org/gerrit/26623
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
11 years agovideo: exynos: Add function to aux failures
Sean Paul [Tue, 3 Jul 2012 17:18:17 +0000 (10:18 -0700)]
video: exynos: Add function to aux failures

Add the function name to the aux transaction failure messages so we can
tell which transaction is failing.

BUG=None
TEST=Tested on snow, saw function in error.

Change-Id: Ib395c474785f06d281f23c45f27129497ec00bfb
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26687
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agoath9k: fix interrupt storm due to watchdog hw reset
Rajkumar Manoharan [Mon, 2 Jul 2012 08:53:00 +0000 (14:23 +0530)]
ath9k: fix interrupt storm due to watchdog hw reset

Return IRQ_HANDLED when the hw reset is in progress
due to fatal or watchdog interrupt. Not doing so, leads to
interrupt storm.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chrome-os-partner:11037
TEST=Boot kernel with this change, observe no disconnects over
a 1 hour run.

Change-Id: Ib08cd3a3e460355336b300da46b1a820e171dab1
Reviewed-on: https://gerrit.chromium.org/gerrit/26621
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
11 years agoCHROMIUM: ARM: exynos: Use 200Hz Exynos 4 and 5
Jeff Disher [Fri, 29 Jun 2012 15:15:04 +0000 (11:15 -0400)]
CHROMIUM: ARM: exynos: Use 200Hz Exynos 4 and 5

The special-case for the 200 Hz Exynos4 clock should apply for Exynos5,
as well.

TEST=checked change in tracing resolution in chrome://tracing after a
successful boot.
BUG=chrome-os-partner:10818

Change-Id: I456999135428d4aebda07eaaf46cd14527befa1d
Signed-off-by: Jeff Disher <disher@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26446
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Jeff Disher <disher@chromium.org>
Tested-by: Jeff Disher <disher@chromium.org>
11 years agoCHROMIUM: drm/i915: Adjust the down threshold.
Stéphane Marchesin [Tue, 3 Jul 2012 03:05:39 +0000 (20:05 -0700)]
CHROMIUM: drm/i915: Adjust the down threshold.

The thresholds for GPU reclocking are highly asymetrical. This creates an
interesting phenomenon on Chrome startup where the clock ramps up very
quickly, and then the blinking cursor is enough to keep it up. Obviously
having the max GPU clock on the login screen is very bad for thermals.

With this change, the clock goes back to its minimum frequency after a couple
of seconds.

BUG=chrome-os-partner:11009
TEST=checked that a blinking cursor lets the GPU clock go back to 350Mhz

Change-Id: I3b8de74864907abdb3c7c4aeb0ab4fcf2eaf0b2c
Reviewed-on: https://gerrit.chromium.org/gerrit/26641
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Sameer Nanda <snanda@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>

11 years agoCHROMIUM: config: exynos5 uses 200Hz scheduler
Jeff Disher [Tue, 3 Jul 2012 16:54:39 +0000 (12:54 -0400)]
CHROMIUM: config: exynos5 uses 200Hz scheduler

The special-case for the 200 Hz Exynos4 clock should apply for Exynos5,
as well.  This change corresponds to one made in Kconfig.

TEST=checked change in tracing resolution in chrome://tracing after a
successful boot.
BUG=chrome-os-partner:10818

Change-Id: Icb126ba9daf09a249099b3ca4533a108553d5d7e
Signed-off-by: Jeff Disher <disher@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26682
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Jeff Disher <disher@chromium.org>
Tested-by: Jeff Disher <disher@chromium.org>
11 years agoCHROMIUM: config: remove chromiumos-exynos5
Olof Johansson [Tue, 3 Jul 2012 03:43:26 +0000 (20:43 -0700)]
CHROMIUM: config: remove chromiumos-exynos5

Removing the Chromium OS kernel config for exynos. It's causing confusion
at this time to have two of them, we can split them later again if needed.

BUG=none
TEST=none

Change-Id: Ic640eaab773f600a75fe9654c32db36526227bcf
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26644
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agoCHROMIUM: ALSA: hda - Update ca0132 driver.
Dylan Reid [Thu, 7 Jun 2012 18:19:47 +0000 (11:19 -0700)]
CHROMIUM: ALSA: hda - Update ca0132 driver.

Updated driver supports loading code to the DSP and an EQ for the
speaker.  Code provided by Creative.

BUG=chrome-os-partner:10985
TEST=build and run kernel on link.  Test audio with youtube and gtalk.

Change-Id: I7222bb577c340b27cae34238775c78a07806912b
CQ-DEPEND: Iff6805b02319cb36b9c256110c78b3b48911fb7e
CQ-DEPEND: Iae8742f8add1b4b846663dc06aba1f61005c3914
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24522
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: config - Disable CA0132.
Dylan Reid [Mon, 2 Jul 2012 03:12:24 +0000 (20:12 -0700)]
CHROMIUM: config - Disable CA0132.

Disable the ca0132 driver before merging the newer version of the
driver.  A subsequent change to chromiumos-base will add a config
fragment to turn it on based on a use flag.

Change-Id: Iff6805b02319cb36b9c256110c78b3b48911fb7e
Signed-off-by: Dylan Reid <dgreid@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26548
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: zsmalloc: add MODULE_LICENSE
Luigi Semenzato [Tue, 3 Jul 2012 00:35:16 +0000 (17:35 -0700)]
CHROMIUM: zsmalloc: add MODULE_LICENSE

It won't load as a module without MODULE_LICENSE.

BUG=chromium-os:32328
TEST=modprobe zsmalloc works with this change

Change-Id: Ic62fe20816e5079d92ce1da6a9d8a9cdbc7a5074
Signed-off-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26627
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: ARM: cros5250: Turn off pullups for i2c2
Doug Anderson [Mon, 2 Jul 2012 22:09:42 +0000 (15:09 -0700)]
CHROMIUM: ARM: cros5250: Turn off pullups for i2c2

Disabled pullups since external part has its own pullups and
double-pulling gets us out of spec in some cases.

BUG=chrome-os-partner:11039
TEST=Boot kernel and was able to still read EDID using:
 i2cdump -y -f -r 0-0xff 2 0x50

Change-Id: Iec4fb07d127658092bac33a3471c0a06b00e2872
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26607
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoexynos5: dt: Increase the speed of i2c channel 0
Abhilash Kesavan [Sun, 1 Jul 2012 05:48:21 +0000 (22:48 -0700)]
exynos5: dt: Increase the speed of i2c channel 0

The MAX77686 PMIC chip is connected to i2c0 and was running at 65KHz.
Better its performance by increasing the maximum bus speed on i2c0 to
378KHz (which is the closest possible speed to the maximum 400KHz
supported by the legacy i2c controller).

BUG=chrome-os-partner:10995
TEST=Boot Snow and see the following bootup messages:
"s3c-i2c s3c2440-i2c.0: bus frequency set to 378 KHz"
Also, ensure the MAX77686 regulator driver has completed its initial
configuration without failure.

Change-Id: I7d031ad25c6f458ebc41417f882f36b2f8b4d83a
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26540
Reviewed-by: Prashanth Godrehal <prashanth.g@samsung.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>

11 years agoexynos5: dt: Fix gpio for bluetooth on Snow/Daisy
Abhilash Kesavan [Sun, 1 Jul 2012 05:12:12 +0000 (22:12 -0700)]
exynos5: dt: Fix gpio for bluetooth on Snow/Daisy

Fix incorrect gpio line for Bluetooth in Snow/Daisy device tree.

BUG=None
TEST=Build and boot Snow

Change-Id: I0ef1718a32a29506d92b97bfc0727d8709c0a33a
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26535
Reviewed-by: Prashanth Godrehal <prashanth.g@samsung.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>

11 years agoCHROMIUM: config: Renormalize splitconfig
Doug Anderson [Mon, 2 Jul 2012 16:29:36 +0000 (09:29 -0700)]
CHROMIUM: config: Renormalize splitconfig

Just ran: ./chromeos/scripts/kernelconfig oldconfig
...and hit return for everything.  AKA: no functional change
here, this just tells us where we are.

BUG=None
TEST=Compiled and booted on one device.

Change-Id: Ibfba477842e52652c10e427a2ef56147ad326de2
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26574
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
11 years agoBACKPORT: drm/i915: add min freq control to debugfs
Stéphane Marchesin [Sat, 30 Jun 2012 01:38:38 +0000 (18:38 -0700)]
BACKPORT: drm/i915: add min freq control to debugfs

This makes for easier benchmarking and testing.  One can set a fixed
frequency by setting min and max to the same value.

v2: fix whitespace & comment (Eugeni)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
TEST=compiled, tried setting the min frequency.
BUG=none

Change-Id: Ic3c65ea2f9853baa305f598321619e66e5a0019b
Reviewed-on: https://gerrit.chromium.org/gerrit/26521
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Puneet Kumar <puneetster@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>

11 years agoCHROMIUM: ARM: cros5250: Turn on video_mid regulator
Anush Elangovan [Sat, 30 Jun 2012 01:08:46 +0000 (18:08 -0700)]
CHROMIUM: ARM: cros5250: Turn on video_mid regulator

Required for enabling/reading the HDMI EDID
and for HDMI hot plug

BUG=chrome-os-partner:11013
TEST=verify with new kernel image

localhost ~ # grep "video_mid" /sys/class/regulator/*/name
/sys/class/regulator/regulator.19/name:video_mid
localhost ~ # grep "" /sys/class/regulator/regulator.19/*
/sys/class/regulator/regulator.19/max_microvolts:5000000
/sys/class/regulator/regulator.19/min_microvolts:5000000
/sys/class/regulator/regulator.19/name:video_mid
/sys/class/regulator/regulator.19/num_users:0
/sys/class/regulator/regulator.19/state:enabled
/sys/class/regulator/regulator.19/type:voltage
/sys/class/regulator/regulator.19/uevent:OF_NAME=VFET2
/sys/class/regulator/regulator.19/uevent:OF_FULLNAME=/i2c@12CA0000/power-regulator/voltage-regulators/VFET2
/sys/class/regulator/regulator.19/uevent:OF_COMPATIBLE_N=0

Change-Id: I0e8fce30c74f764573806ac9b7e531ed4ef8b0a9
Signed-off-by: Anush Elangovan <anush@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26519
Commit-Ready: Anush Elangovan <anush@google.com>
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: Anush Elangovan <anush@google.com>
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: config: enable interactive governor
Sam Leffler [Thu, 21 Jun 2012 17:00:56 +0000 (10:00 -0700)]
CHROMIUM: config: enable interactive governor

Include the interactive governor for testing.

Signed-off-by: Sam Leffler <sleffler@chromium.org>
BUG=chromium-os:17379 chromium:118032
TEST=build+boot on alex+lumpy; smoke suite (had been failing due to hung task timeout issue)

Change-Id: I0031a74ac6d829410de5e1768f3c92f19677fa8f
Reviewed-on: https://gerrit.chromium.org/gerrit/25845
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>
Tested-by: Sam Leffler <sleffler@chromium.org>
11 years agoCHROMIUM: chromeos_laptop - Add missing __init annotations
Benson Leung [Tue, 26 Jun 2012 23:08:14 +0000 (16:08 -0700)]
CHROMIUM: chromeos_laptop - Add missing __init annotations

Now that we no longer have exported functions in this driver,
we can annotate most of the other structures and functions
as __initdata or __init.

BUG=chromium-os:31877
TEST=build with CONFIG_DEBUG_SECTION_MISMATCH=y
Check no warnings in building chromeos_laptop.
Verify that touchpad and light sensors keep working on various platforms.

Change-Id: Ib412ee7f5b04de7e09194d4d26550c11acd56900
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26154
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUM: arm: config: disable CMA for exynos5 SoC
Subash Patel [Fri, 29 Jun 2012 17:31:28 +0000 (10:31 -0700)]
CHROMIUM: arm: config: disable CMA for exynos5 SoC

CMA is not needed for the chrome-daisy platform as all the IP's have
their own IOMMU's. Also, it was found that leaving CMA enabled by
default, it will affect the kernel to do the routine free page
maintainenance due to a known issue.

BUG=chrome-os-partner:10745
TEST=kernel builds, boots, and doesn't have memory-allocation
failures during chromeos-install

Signed-off-by: Subash Patel <subash.rp@samsung.com>
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Change-Id: I4019aa6ebee9442f42fe4408d8788eb00dd570b2
Reviewed-on: https://gerrit.chromium.org/gerrit/26413
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Subash Patel <subash@chromium.org>
Tested-by: Subash Patel <subash@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agoCHROMIUM: ARM: dma-mapping: remove unconditional dependency on CMA
Marek Szyprowski [Wed, 30 May 2012 08:59:51 +0000 (10:59 +0200)]
CHROMIUM: ARM: dma-mapping: remove unconditional dependency on CMA

CMA has been enabled unconditionally on all ARMv6+ systems to solve the
long standing issue of double kernel mappings for all dma coherent
buffers. This however created a dependency on CONFIG_EXPERIMENTAL for
the whole ARM architecture what should be really avoided. This patch
removes this dependency and lets one use old, well-tested dma-mapping
implementation also on ARMv6+ systems without the need to use
EXPERIMENTAL stuff.

Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Subash Patel <subash.rp@samsung.com>
(sonnyrao: this is based on an upstream patch, but our tree has additional
patches which cause the upstream to no apply anymore, so this
is a CHROMIUM patch now)
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
BUG=chrome-os-partner:10745
TEST=kernel still builds on arm

Change-Id: I2a16e5a97796066d840c37745d67abb0f1c7a542
Reviewed-on: https://gerrit.chromium.org/gerrit/26412
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Subash Patel <subash@chromium.org>
Tested-by: Subash Patel <subash@chromium.org>
11 years agoCHROMIUM: ARM: add idle notifications
Sam Leffler [Thu, 28 Jun 2012 19:36:10 +0000 (12:36 -0700)]
CHROMIUM: ARM: add idle notifications

Add idle_notifier callbacks to cpu_idle.

Signed-off-by: Sam Leffler <sleffler@chromium.org>
BUG=none
TEST=run with ondemand and interactive governors

Change-Id: Iff408362c753aabf731fa9f5de1622377dc29779
Reviewed-on: https://gerrit.chromium.org/gerrit/26334
Tested-by: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>

11 years agoCHROMIUM: cpu: add idle notifiers
Sam Leffler [Thu, 28 Jun 2012 19:29:24 +0000 (12:29 -0700)]
CHROMIUM: cpu: add idle notifiers

Promote idle_notifier_register/unregister support from x86.
Add idle_notifier_call_chain to complete encapsulation.

Signed-off-by: Sam Leffler <sleffler@chromium.org>
BUG=none
TEST=build+boot on lumpy with ondemand and interactive governors

Change-Id: Id134d2bf5371a9f281b2f916fef861b08d8233bd
Reviewed-on: https://gerrit.chromium.org/gerrit/26333
Tested-by: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>

11 years agoUPSTREAM: ARM: dma-mapping: fix buffer chunk allocation order
Marek Szyprowski [Thu, 21 Jun 2012 10:50:44 +0000 (12:50 +0200)]
UPSTREAM: ARM: dma-mapping: fix buffer chunk allocation order

IOMMU-aware dma_alloc_attrs() implementation allocates buffers in
power-of-two chunks to improve performance and take advantage of large
page mappings provided by some IOMMU hardware. However current code, due
to a subtle bug, allocated those chunks in the smallest-to-largest
order, what completely killed all the advantages of using larger than
page chunks. If a 4KiB chunk has been mapped as a first chunk, the
consecutive chunks are not aligned correctly to the power-of-two which
match their size and IOMMU drivers were not able to use internal
mappings of size other than the 4KiB (largest common denominator of
alignment and chunk size).

This patch fixes this issue by changing to the correct largest-to-smallest
chunk size allocation sequence.

BUG=none (upstream fix)
TEST=none

Change-Id: Ide5256ea52f925c347fcd1a5397f5d76dc5f1e4a
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26484
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>

11 years agoCHROMIUM: gsmi: enable CONFIG_GOOGLE_GSMI for x86 devices
Duncan Laurie [Fri, 29 Jun 2012 21:28:28 +0000 (14:28 -0700)]
CHROMIUM: gsmi: enable CONFIG_GOOGLE_GSMI for x86 devices

This enables kernel shutdown messages in the event log on supported
platforms.  The driver will not get loaded on unsupported platforms
as it is guarded by a SMBIOS board or BIOS vendor whitelist.

The driver no longer depends on EFI_VARS so it does not cause an
unrelated panic on systems with 64bit EFI and 32bit kernel.

Configs were re-generated with kernelconfig to ensure that no
additional dependencies are added.

BUG=chrome-os-partner:9195
TEST=manual test on link/x86_64 and alex/i686

1) Boot kernel on 64bit link and 32bit alex devices
2) Look for GSMI messages on supported link device:
localhost kernel: [    3.283713] gsmi version 1.0 loaded
3) Add an event and see that it shows up in the log:
> xxd -g 1 test-event-kernel_panic
0000000: 01 00 00 00 ad de 02 00 00 00
> cat test-event-kernel_panic > /sys/firmware/gsmi/append_to_eventlog
> mosys eventlog list | tail -1
55 | 2012-06-29 14:33:07 | Kernel Event | Panic

Change-Id: Ia66490cf46a405e9aa2cc81dadc421cd6d47c778
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26490
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agoCHROMIUMOS: DAISY: Move lid switch DT entry to be snow-specific
Taylor Hutt [Fri, 29 Jun 2012 18:23:04 +0000 (11:23 -0700)]
CHROMIUMOS: DAISY: Move lid switch DT entry to be snow-specific

Daisy does not currently have a functional lid switch.  Without this
change, Daisy will boot up and then quickly suspend.

  [   24.540000] PM: Preparing system for mem sleep
  [   24.620000] Freezing user space processes ... (elapsed 0.00 seconds) done.
  [   24.640000] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
  [   24.660000] PM: Entering mem sleep

This change moves the lid to be only available in the snow DT.

BUG=none
TEST=Boot Daisy, and it doesn't sleep.
Signed-off-by: Taylor Hutt <thutt@chromium.org>
Change-Id: I81793f32c09c03ecf5ba079b802aac92df9231a9
Reviewed-on: https://gerrit.chromium.org/gerrit/26462
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Taylor Hutt <thutt@chromium.org>
Commit-Ready: Taylor Hutt <thutt@chromium.org>
Tested-by: naveen krishna chatradhi <naveen@chromium.org>
11 years agoCHROMIUM: ARM: exynos: add sched_clock to mct
Colin Cross [Thu, 16 Feb 2012 21:30:11 +0000 (13:30 -0800)]
CHROMIUM: ARM: exynos: add sched_clock to mct

Add a more accurate sched_clock than the default one when MCT
is used.

Signed-off-by: Colin Cross <ccross@android.com>
BUG=chrome-os-partner:10818
TEST=collect trace data and verify start+duration times are sub-10ms

Change-Id: I473e2f16a6d6bebc7df86dee32114cda23e6d553
Reviewed-on: https://gerrit.chromium.org/gerrit/26455
Tested-by: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Jeff Disher <disher@chromium.org>
Tested-by: Jeff Disher <disher@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
11 years agodrm/exynos: wait for vsync before removing FB
Prathyush K [Tue, 26 Jun 2012 14:36:51 +0000 (20:06 +0530)]
drm/exynos: wait for vsync before removing FB

While removing a framebuffer, we wait for a vsync interrupt. This is
required if a new framebuffer has been just set and has not yet been
updated to the actual registers. In this case, if we remove the older
buffer, we get a page fault, since the older buffer is still being used.
A framebuffer can be safely removed only after receiving a vsync.

This is also required when we try to remove the current framebuffer.
FIMD gets disabled but has to wait for a vsync interrupt before the
disabling takes effect.

BUG=chrome-os-partner:10728, chrome-os-partner:10813
TEST='stop ui/pkill -9 X' and no page fault. Tested on Daisy/Snow.

Change-Id: Ib779526b7d116a8f546178e4fbd1a7d036be2771
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26382
Tested-by: Prathyush Kalashwaram <prathyush@chromium.org>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Commit-Ready: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
11 years agodrm/Exynos: Added disable function in exynos drm crtc
Prathyush [Fri, 6 Apr 2012 07:04:48 +0000 (16:04 +0900)]
drm/Exynos: Added disable function in exynos drm crtc

When a framebuffer which is being used by fimd is freed, the driver
tries to disable fimd first. If there is no disable function, it
suspends fimd by disabling its clocks.
This causes an issue during drm release. When the last framebuffer is
freed, fimd gets suspended. After this, fbdev mode is restored by the
driver which resumes fimd by setting the root framebuffer (created during
drm probe). When fimd's clocks are enabled, it tries to read
from the last framebuffer which was already freed. This causes a page
fault.
By adding a disable function, fimd's window is cleared during disable.
This ensures that upon being enabled again, fimd does not throw a
page fault.

BUG=chrome-os-partner:10813
TEST=Killed X manually and saw that fimd is getting disabled instead of
suspended. But there is still a page fault sometimes. Tested on snow/daisy.

Change-Id: Ief6a88d8066c58c33543801546c87f4198a57848
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26381
Reviewed-by: Anush Elangovan <anush@google.com>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Prathyush Kalashwaram <prathyush@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
Commit-Ready: Doug Anderson <dianders@chromium.org>

11 years agoCHROMIUM: config: exynos5: enable CONFIG_MMC_DW_IDMAC
Alim Akhtar [Fri, 29 Jun 2012 11:12:53 +0000 (16:42 +0530)]
CHROMIUM: config: exynos5: enable CONFIG_MMC_DW_IDMAC

enable CONFIG_MMC_DW_IDMAC to make use of internal DMA controller of
dw_mmc controller.

BUG=chrome-os-partner:10306
TEST=builded ok, booted on snow, did a web browsing and cannt see wifi
crash.

Change-Id: I7bce46001698cc3a2252d0caaaf6cb2b144223e4
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26427
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
11 years agomwifiex: change multi-port aggregation buffer size to 4K
Alim Akhtar [Fri, 29 Jun 2012 07:20:38 +0000 (12:50 +0530)]
mwifiex: change multi-port aggregation buffer size to 4K

we were having problems with SDIO, SDIO was crashing when IDMAC of sdio
host controller (dw_mmc) is enabled. The dw_mmc driver is limited to 4K
DMA segments. Current Linux SDIO code cannot transfer more than a single
DMA segment at a time (since it only uses a single sg entry). And
mwifiex driver is using a buffer size of 8K (tx) and 16K (rx), which was
causing the SDIO over dw_mmc to crash. So now changing multi-port
aggregation buffer size to 4K, which seems to be fixing the crash with
wifi browsing.

BUG=chrome-os-partner:10306
TEST=build ok, booted on snow.
saw wifi browsing does not crash.

Change-Id: I79a3deec114c9ff544f958da18ae2aae03f40ea9
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Doug Anderson <dianders@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/26426
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
11 years agoexynos: tv: hdmi: Initialize HDMI spinlock
Jeff Disher [Fri, 15 Jun 2012 17:22:27 +0000 (13:22 -0400)]
exynos: tv: hdmi: Initialize HDMI spinlock

The spinlock used by the HDMI driver was never being initialized so the
first attempt to unlock it would produce an error message and backtrace
due to "bad magic" in the lock.  The problem was actually due to the
magic field being uninitialized.

BUG=None
TEST=Booted snow to serial login and observed no backtrace or message
about bad magic (usually occurred before "hdmiphy i2c bus number = 8")

Change-Id: Ie126a1678fe1a2daaa375b01c60d4183a93b86be
Reviewed-by: Sean Paul <seanpaul@google.com>
Tested-by: Jeff Disher <disher@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Jeff Disher <disher@chromium.org>
(cherry picked from commit 18d04c73e66ee7fd027f00d38f0209412a75acd0)
Reviewed-on: https://gerrit.chromium.org/gerrit/26448

11 years agogsmi: Remove autoselected dependency on EFI and EFI_VARS
Duncan Laurie [Wed, 27 Jun 2012 22:00:25 +0000 (15:00 -0700)]
gsmi: Remove autoselected dependency on EFI and EFI_VARS

Instead of selecting EFI and EFI_VARS automatically when GSMI is
enabled let that portion of the driver be conditionally compiled
if EFI and EFI_VARS are enabled.

This allows the rest of the driver (specifically event log) to
be used if EFI_VARS is not enabled.

BUG=chromium-os:32188
TEST=manual: compile and run kernel on multiple devices

1) verify that EFI_VARS is not automatically selected when
CONFIG_GOOGLE_GSMI is enabled
2) verify that the kernel boots on Link and that GSMI event log
is still available and functional
3) specifically boot the kernel on Alex to ensure it does not
try to load efivars and that gsmi also does not load because it
is not in the supported DMI table

Change-Id: I6f9149b575976316dd1d4d8ac20f2688d2208767
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26273
Reviewed-by: Olof Johansson <olofj@chromium.org>
11 years agos5p-mfc: Fix the memory leak issue
Naveen krishna Chatradhi [Thu, 14 Jun 2012 01:30:04 +0000 (18:30 -0700)]
s5p-mfc: Fix the memory leak issue

The deinit hardware functions will free the ctx_buffers.
this needs to be called in release and remove.

BUG=None
TEST=Enabled memleak detection in the kernel.

Change-Id: I65f1872d9502f6a052854a2296f39d7a58ce7478
Signed-off-by: Naveen krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-on: https://gerrit-int.chromium.org/20610
Reviewed-by: Arun Kumar K <arun.kk@samsung.com>
Tested-by: Arun Kumar K <arun.kk@samsung.com>
Reviewed-by: Pawel Osciak <posciak@google.com>
Reviewed-by: Prashanth Godrehal <prashanth.g@samsung.com>
11 years agoCHROMIUM: ARM: exynos: snow: add lid switch to dts
Olof Johansson [Tue, 26 Jun 2012 04:05:56 +0000 (21:05 -0700)]
CHROMIUM: ARM: exynos: snow: add lid switch to dts

BUG=chrome-os-partner:10861
TEST=boot, make sure system stays awake, close lid, make sure system suspends

Change-Id: I357ed42b82d428fb078cf6175ace89e343d95ff2
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit-int.chromium.org/20818
Reviewed-by: Doug Anderson <dianders@google.com>
Reviewed-by: <thomas.ab@samsung.com>
Tested-by: Olof Johansson <olofj@google.com>
Commit-Ready: Olof Johansson <olofj@google.com>

11 years agogpio: samsung: add flags specifier to device-tree binding
Olof Johansson [Tue, 26 Jun 2012 03:51:36 +0000 (20:51 -0700)]
gpio: samsung: add flags specifier to device-tree binding

This adds a flags field to the gpio specifier for Samsung. I didn't
want to add yet another field in the already quite long specifier, so
I decided to compress it together with the Pull Up/Down settings instead.

This is needed to, for example, have a gpio-keys input that is active low.

BUG=chrome-os-partner:10861
TEST=boot, make sure system stays awake, close lid, make sure system suspends

Change-Id: Ia3ad27c13ab773da6d584370ac585d7c982590a5
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit-int.chromium.org/20819
Reviewed-by: Doug Anderson <dianders@google.com>
Reviewed-by: <thomas.ab@samsung.com>
Tested-by: Olof Johansson <olofj@google.com>
Commit-Ready: Olof Johansson <olofj@google.com>

11 years agoCHROMIUMOS: thermal:exynos: enable HW overtemp poweroff on exynos5
Grant Grundler [Tue, 19 Jun 2012 21:52:49 +0000 (21:52 +0000)]
CHROMIUMOS: thermal:exynos: enable HW overtemp poweroff on exynos5

Based on Doug Anderson's proposal for u-boot/exynos5 support:
    https://gerrit.chromium.org/gerrit/#change,25164

The new code checks if FW enables the HW overtemp poweroff.
If so, new code verifies the kernel shutdown threshold is a
lower temp than HW thermal poweroff temp and may set the kernel
shutdown to a lower temp.

If FW did not set the HW overtemp, we now set the poweroff threshhold
to 110C (previously was the kernel shutdown threshold).

Just to be painfully clear: "Shutdown" means kernel issues "shutdown"
request which may take several seconds to poweroff gracefully.
"Poweroff" means HW will "abruptly" kill power to the system.

BUG=chrome-os-partner:9945
TEST=manual testing with heat gun and running:
while true; do md5sum /boot/* ; done

Change-Id: I93e0a3e6e301cccd9ddd939d20d632b0e01e393f
Signed-off-by: Grant Grundler <grundler@chromium.org>
Reviewed-on: https://gerrit-int.chromium.org/20668
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
Reviewed-by: Grant Grundler <grundler@google.com>
Tested-by: Grant Grundler <grundler@google.com>
Commit-Ready: Grant Grundler <grundler@google.com>

11 years agos5p-mfc: Fix setting controls
Naveen krishna Chatradhi [Tue, 26 Jun 2012 18:25:51 +0000 (11:25 -0700)]
s5p-mfc: Fix setting controls

Fixed s_ctrl function when setting the following controls:
- V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER
- V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY

Change-Id: Ic8010ca925fd594df39127e69400cdd0aac8a44b
Signed-off-by: Kamil Debski <k.deb...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
Signed-off-by: Naveen krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-on: https://gerrit-int.chromium.org/20869
Tested-by: Naveen Krishna Chatradhi <naveen@chromium.org>
Reviewed-by: Prashanth Godrehal <prashanth.g@samsung.com>
11 years agos5p-mfc: Fixed setup of custom controls in decoder and encoder
Naveen krishna Chatradhi [Tue, 26 Jun 2012 18:22:16 +0000 (11:22 -0700)]
s5p-mfc: Fixed setup of custom controls in decoder and encoder

Fixed bugs in functions that initialize custom controls.

Change-Id: I660f07b217161434848d5e4caf2b0bcaf1b0ccdd
Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Signed-off-by: Naveen krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-on: https://gerrit-int.chromium.org/20868
Tested-by: Naveen Krishna Chatradhi <naveen@chromium.org>
Reviewed-by: Prashanth Godrehal <prashanth.g@samsung.com>
11 years agoCHROMIUM: cpufreq: keep freezer happy when not current governor
Sam Leffler [Wed, 27 Jun 2012 19:55:56 +0000 (12:55 -0700)]
CHROMIUM: cpufreq: keep freezer happy when not current governor

Fix a problem where the hung task mechanism was deeming the interactive
clock boost thread as hung.  This was because the thread is created at
module init but never run/woken up until needed.  If the governor is not
being used this can be forever.  To workaround this explicitly wake up
the thread once all the necessary data structures are initialized.  The
latter required some minor code shuffle.

Signed-off-by: Sam Leffler <sleffler@chromium.org>
BUG=none
TEST=boot with default governor ondemand; leave the system idle for >120 secs (hung_timeout_task_secs)

Change-Id: Ie2c058dd75dcb6460ea10e7ac997e46baf66b1fe
Reviewed-on: https://gerrit.chromium.org/gerrit/26262
Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>

11 years agoCHROMIUM: cpufreq: take idle notifications only when active
Sam Leffler [Wed, 27 Jun 2012 17:12:04 +0000 (10:12 -0700)]
CHROMIUM: cpufreq: take idle notifications only when active

Register an idle notifier only when the governor is active.  Also
short-circuit work of idle end if the governor is not enabled.

Signed-off-by: Sam Leffler <sleffler@chromium.org>
BUG=none
TEST=add printk's to the code

Change-Id: I4cae36dd2e7389540d337d74745ffbaa0131870f
Reviewed-on: https://gerrit.chromium.org/gerrit/26261
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sam Leffler <sleffler@chromium.org>
Tested-by: Sam Leffler <sleffler@chromium.org>
11 years agoCHROMIUM: config: Switch exynos media back to static build
Olof Johansson [Thu, 28 Jun 2012 17:58:20 +0000 (10:58 -0700)]
CHROMIUM: config: Switch exynos media back to static build

Turns out builds break for modules; we have to fix that but revert back
until fixes are in.

BUG=none
TEST=build chromeos-kernel for exynos

Change-Id: Ie46bce8d0e956b80860f6bcebb5049f6396548d3
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26321
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Pawel Osciak <posciak@google.com>
11 years agoCHROMIUM: Input: synaptics - add sysfs access to firmware ID & board ID
Daniel Kurtz [Tue, 19 Jun 2012 02:04:44 +0000 (10:04 +0800)]
CHROMIUM: Input: synaptics - add sysfs access to firmware ID & board ID

Allow userspace to query firmware ID and board ID, which are read and
cached during device initialization.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chrome-os-partner:7410
TEST=cat /sys/bus/serio/drivers/psmouse/serio<N>/firmware_id
TEST=cat /sys/bus/serio/drivers/psmouse/serio<N>/board_id

Change-Id: Ida67e4ac3df6c884c89b8a52be6defcf99e6a8ad
Reviewed-on: https://gerrit.chromium.org/gerrit/25595
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>

11 years agoCHROMIUM: Input: synaptics - print firmware ID and board number at init
Daniel Kurtz [Thu, 28 Jun 2012 03:37:57 +0000 (11:37 +0800)]
CHROMIUM: Input: synaptics - print firmware ID and board number at init

Read the Firmware ID and Board Number from a synaptics device at init
and display them in the system log.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chrome-os-partner:7410
TEST=grep "Touchpad model" /var/log/messages
    => look for "board Id: ###, fw Id: ###"

Change-Id: I4e191c85d11ad98266c4853232f9bd5624c4638d
Reviewed-on: https://gerrit.chromium.org/gerrit/25594
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>