cascardo/linux.git
12 years agoCHROMIUM: drm: Add downclock quirk for Samsung LTN121AT10-301
Sean Paul [Wed, 18 Jan 2012 15:06:40 +0000 (10:06 -0500)]
CHROMIUM: drm: Add downclock quirk for Samsung LTN121AT10-301

Add a quirk which adds a new downclocked mode to the EDID of Samsung
LTN121AT10-301 panels. This allows the intel driver to apply downclocking
and save power.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
BUG=chromium-os:31326
TEST=Tested on lumpy

Change-Id: I91c736df691e2670a1e8ebc4d07d7df4afca1232
Reviewed-on: https://gerrit.chromium.org/gerrit/25287
Tested-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Mark Hayter <mdhayter@chromium.org>
Commit-Ready: Sean Paul <seanpaul@chromium.org>

12 years agoCHROMIUM: config: Enable Broadcom Ethernet/SD card kernel driver
Jay Kim [Fri, 8 Jun 2012 23:49:55 +0000 (16:49 -0700)]
CHROMIUM: config: Enable Broadcom Ethernet/SD card kernel driver

Broadcom Ethernet/SD card combo: BCM57785

Signed-off-by: Jay Kim <yongjaek@google.com>
BUG=chrome-os-partner:9884
TEST=Test Ethernet and SD card on Parrot

Change-Id: I68130be0a37b9ae362320cb123470c4b6533cb05
Reviewed-on: https://gerrit.chromium.org/gerrit/24930
Tested-by: Jay Kim <yongjaek@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Jay Kim <yongjaek@chromium.org>

12 years agoBACKPORT: drm/i915: Implement w/a for sporadic read failures on waking from rc6
Stéphane Marchesin [Wed, 13 Jun 2012 22:59:18 +0000 (15:59 -0700)]
BACKPORT: 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.

Change-Id: I0a501fc164d2e47e774eea0f88bdfbd0e6d37caa
References: https://bugs.freedesktop.org/show_bug.cgi?id=50243
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
TEST=compiles and runs
BUG=none

Change-Id: I8d79cc14a9059f46ddb8ca77bf9c98e60d8e8c96
Reviewed-on: https://gerrit.chromium.org/gerrit/25258
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>

12 years agoCHROMIUM: platform/x86/chromeos_laptop - atmel_mxt_tp increase to 10 points
Benson Leung [Wed, 13 Jun 2012 01:14:52 +0000 (18:14 -0700)]
CHROMIUM: platform/x86/chromeos_laptop - atmel_mxt_tp increase to 10 points

Currently, the atmel_mxt_tp is configured for 4 touch points.
These 4 can be quickly consumed up especially in the case of a
splitting resting palm + a two or three  finger scroll gesture.
Lets bump up the number of supported touch points to the maximum. (10)

BUG=chrome-os-partner:10455
TEST=DISPLAY=:0 mtplot
Select the Atmel maXTouch Touchpad.
Put down 10 fingers on the touchpad. Confirm that mtplot application
shows 10 distinct touchpoints.

Change-Id: I401813716ab78a73463c96ac43d9de9910b76b1c
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/25158
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
12 years agoCHROMIUM: minor fixes to chromeos_laptop.c
Simon Que [Tue, 12 Jun 2012 20:41:27 +0000 (13:41 -0700)]
CHROMIUM: minor fixes to chromeos_laptop.c

Comments, logging, and formatting.

BUG=chrome-os-partner:9204
TEST=kernel builds.

Change-Id: Ibf664a4b4edabf4d06c7c244b8742fe44d6640ab
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/25120

12 years agoUPSTREAM: staging: gdm72xx: Simplify spinlock fix for gdm_usb_send_complete
Ben Chan [Tue, 12 Jun 2012 18:23:32 +0000 (11:23 -0700)]
UPSTREAM: staging: gdm72xx: Simplify spinlock fix for gdm_usb_send_complete

This patch simplifies the previous patch (commit
dd13c86b0dae86efdde98119ffd7348e80719ade) for fixing the spinlock
recursion issue on several call sites of gdm_usb_send_complete.

Signed-off-by: Ben Chan <benchan@chromium.org>
Cc: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0c16ae762990660c4dfd7515e3d46b4249f535f0)

BUG=chrome-os-partner:10150
TEST=Manually test suspend/resume the system after connecting to WiMAX.

Change-Id: I61aee9289fb9606d69a618a742ff0b00f2d59d66
Reviewed-on: https://gerrit.chromium.org/gerrit/25126
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
12 years agoUPSTREAM: staging: gdm72xx: Fix spinlock recursion on gdm_usb_send_complete
Ben Chan [Thu, 7 Jun 2012 06:01:26 +0000 (23:01 -0700)]
UPSTREAM: staging: gdm72xx: Fix spinlock recursion on gdm_usb_send_complete

This patch fixes a spinlock recursion bug on several call sites of
gdm_usb_send_complete by not calling spin_lock_irqsave on
urb->context->tx_cxt->lock when the lock has already been acquired.

Signed-off-by: Ben Chan <benchan@chromium.org>
Cc: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit dd13c86b0dae86efdde98119ffd7348e80719ade)

BUG=chrome-os-partner:10150
TEST=Manually test suspend/resume the system after connecting to WiMAX.

Change-Id: I2b116efee7a8caf1eef57eb093837bfc2dead449
Reviewed-on: https://gerrit.chromium.org/gerrit/25118
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>

12 years agoUPSTREAM: staging/gdm72xx: Remove version.h includes
Devendra Naga [Sun, 27 May 2012 20:23:22 +0000 (01:53 +0530)]
UPSTREAM: staging/gdm72xx: Remove version.h includes

Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 02fd3b3670fb99017b17757d33a0a17e2405920c)

Change-Id: Ib71e72c2c96cf1e6314b182ab3d6ca3913ce3a94
Reviewed-on: https://gerrit.chromium.org/gerrit/25117
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>

12 years agoUPSTREAM: Staging: gdm72xx: gdm_usb: fix deprecated function kernel_thread
Adnan Ali [Thu, 31 May 2012 10:32:48 +0000 (11:32 +0100)]
UPSTREAM: Staging: gdm72xx: gdm_usb: fix deprecated function kernel_thread

This commit fixes deprecated function kernel_thread by replacing
it with kthread_run.

Signed-off-by: Adnan Ali <adnan.ali@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit ff5e4a1d2702582614996f6f6d005e9b5caadeb8)

Change-Id: I65f4f471295ddf8ea0ea465dae1b90eef537f24d
Reviewed-on: https://gerrit.chromium.org/gerrit/25116
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>

12 years agoCHROMIUM: Register keyboard backlight for Link
Simon Que [Tue, 22 May 2012 20:10:59 +0000 (13:10 -0700)]
CHROMIUM: Register keyboard backlight for Link

BUG=chrome-os-partner:9204
TEST=/sys/class/backlight/keyboard_backlight exists and can be used to
change the brightness of the keyboard backlight.

Change-Id: I29a540cb83e7fddcdd348a7f63debd96fbda5c88
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24737
Reviewed-by: Benson Leung <bleung@chromium.org>
12 years agoCHROMIUM: boottime: x86: Skip slow reserved memory count
Sonny Rao [Sat, 11 Jun 2011 00:51:01 +0000 (17:51 -0700)]
CHROMIUM: boottime: x86: Skip slow reserved memory count

This loop is taking > 350msec on 2.6.38 and provides us little value
so pull it out.  Longer term, we should fix the performance either by
not looping over every single pfn in lowmem or fixing the performance of
the current page_is_ram() function

BUG=chromium-os:15542
TEST=make sure boot works and kernel time is faster

Change-Id: I25beb8cf95428ac3354e625814fec7b2498a90c0
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/2499
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/25060
Tested-by: Grant Grundler <grundler@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Grant Grundler <grundler@chromium.org>

12 years agoUPSTREAM: x86/reboot: Use NMI to assist in shutting down if IRQ fails
Sameer Nanda [Tue, 12 Jun 2012 01:06:02 +0000 (18:06 -0700)]
UPSTREAM: x86/reboot: Use NMI to assist in shutting down if IRQ fails

For v3.3, I added code to use the NMI to stop other cpus in the
panic case.  The idea was to make sure all cpus on the system
were definitely halted to help serialize the panic path to
execute the rest of the code on a single cpu.

The main problem it was trying to solve was how to stop a cpu
that was spinning with its irqs disabled.  A IPI irq would be
stuck and couldn't get in there, but an NMI could.

Things were great until we had another conversation about some
pstore changes.  Because some of the backend pstore still uses
spinlocks to protect the device access, things could get ugly if
a panic happened and we were stuck spinning on a lock.

Now with the NMI shutting down cpus, we could assume no other
cpus were running and just bust the spin lock and proceed.

The counter argument was, well if you do that the backend could
be in a screwed up state and you might not be able to save
anything as a result. If we could have just given the cpu a
little more time to finish things, we could have grabbed the
spin lock cleanly and everything would have been fine.

Well, how do give a cpu a 'little more time' in the panic case?
For the most part you can't without spinning on the lock and
even in that case, how long do you spin for?

So instead of making it ugly in the pstore code, just mimic the
idea that stop_machine had, which is block on an IRQ IPI until
the remote cpu has re-enabled interrupts and left the critical
region.  Which is what happens now using REBOOT_IRQ.

Then leave the NMI case for those cpus that are truly stuck
after a short time.  This leaves the current behaviour alone and
just handle a corner case.  Most systems should never have to
enter the NMI code and if they do, print out a message in case
the NMI itself causes another issue.

BUG=chromium-os:31189
TEST=run "echo softlockup > /proc/breakme". The system should reboot
after about 10 seconds and a kcrash file should be present in
/var/spool/crash when the system reboots.

Change-Id: If664b5ac869c774ea88d4bbe70bb10ecc90b52a5
Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1336761675-24296-3-git-send-email-dzickus@redhat.com
Signed-off-by: Sameer Nanda <snanda@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/25063
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: platform/x86/chromeos_laptop : Add trackpad2
Yufeng Shen [Fri, 8 Jun 2012 00:43:14 +0000 (20:43 -0400)]
CHROMIUM: platform/x86/chromeos_laptop : Add trackpad2

Adding atmel trackpad2 for testing of loading config data
from file.

BUG=chrome-os-partner:9103
TEST=trackpad2 should be up running correctly.

Change-Id: I10d47139e52603bafd507e67b3e27ba1dcf5d805
Signed-off-by: Yufeng Shen <miletus@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24826
Reviewed-by: Benson Leung <bleung@chromium.org>
12 years agoath9k_hw: Initvals update for AR9462
Sujith Manoharan [Fri, 8 Jun 2012 07:54:55 +0000 (13:24 +0530)]
ath9k_hw: Initvals update for AR9462

MSI is enabled by default for most of the 4th generation
chips. Add this for AR9462 - this fixes PowerSave operation,
the chip was not entering Network-Sleep mode earlier.
With proper powering down of the MAC now, power consumption
in associated state is reduced considerably.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31635
TEST=Recompile, install, join network

Change-Id: Iafef8e245c046e4a10c7d4ff72149c7f5b230969
Signed-off-by: Paul Stewart <pstew@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/25026

12 years agoUPSTREAM: ext4: fix the free blocks calculation for ext3 file systems w/ uninit_bg
Theodore Ts'o [Thu, 7 Jun 2012 13:52:33 +0000 (09:52 -0400)]
UPSTREAM: ext4: fix the free blocks calculation for ext3 file systems w/ uninit_bg

Ext3 filesystems that are converted to use as many ext4 file system
features as possible will enable uninit_bg to speed up e2fsck times.
These file systems will have a native ext3 layout of inode tables and
block allocation bitmaps (as opposed to ext4's flex_bg layout).
Unfortunately, in these cases, when first allocating a block in an
uninitialized block group, ext4 would incorrectly calculate the number
of free blocks in that block group, and then errorneously report that
the file system was corrupt:

EXT4-fs error (device vdd): ext4_mb_generate_buddy:741: group 30, 32254 clusters in bitmap, 32258 in gd

This problem can be reproduced via:

    mke2fs -q -t ext4 -O ^flex_bg /dev/vdd 5g
    mount -t ext4 /dev/vdd /mnt
    fallocate -l 4600m /mnt/test

The problem was caused by a bone headed mistake in the check to see if a
particular metadata block was part of the block group.

Many thanks to Kees Cook for finding and bisecting the buggy commit
which introduced this bug (commit fd034a84e1, present since v3.2).

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Reported-by: Kees Cook <keescook@chromium.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
Cc: Sander Eikelenboom <linux@eikelenboom.it>
Cc: Kees Cook <keescook@chromium.org>
(cherry picked from commit b0dd6b70f0fda17ae9762fbb72d98e40a4f66556)

BUG=chromium-os:22172
TEST=x86-alex build & manual testing

Change-Id: I42ab91d74ab44de6ff4bbf05c3bba626ea48f077
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24777
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: config: build in atmel_mxt_ts driver
Benson Leung [Fri, 8 Jun 2012 00:50:01 +0000 (17:50 -0700)]
CHROMIUM: config: build in atmel_mxt_ts driver

Build in the atmel_mxt_ts driver to speed up initialization
of atmel_mxt touch devices. Loading as module results in the
input device not responsive for some seconds as the rest of boot
happens quite quickly.

Bulding it in will improve usability, and also allow us to
perform firmware and config updates early on at boot time.

BUG=chrome-os-partner:9720
TEST=Boot the system. Check for atmel_mxt_ts device initialization.
Check that it occurs around 3s.

Change-Id: I7dfd9b76aed9f4fbdf60c6b7b9bc86b0f44934e9
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24830
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: platform/x86/chromeos_laptop - probe for atmel_mxt_tp bl
Benson Leung [Fri, 8 Jun 2012 01:27:40 +0000 (18:27 -0700)]
CHROMIUM: platform/x86/chromeos_laptop - probe for atmel_mxt_tp bl

Use chromeos_laptop_add_probed_i2c_device to handle atmel_mxt_tp
devices that start in bootloader mode, a condition that may
happen when there is corrupted firmware, but a functional bootloader,
for example.

This will allow the device to be initialized with the bootloader address
and a recovery to occur.

BUG=chrome-os-partner:10318
TEST=Perform a firmware update on the atmel_mxt_tp device, and before
it completes, reboot the system to leave the touchpad in an incomplete
operational firmware state.
On the next boot, the atmel driver should be loaded on 0x25,
so you should find an input device at /sys/bus/i2c/devices/1-0025
Perform another uninterrupted update with chromeos-touch-firmwareupdater.sh
and it should recover.

Change-Id: I11e7e8d6d61b7d5b731f388ef655c8d28ec122e6
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24832
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
12 years agoUPSTREAM: ath9k_hw: fix ath9k_hw_ar9003_dump_eep_power warning
Rajkumar Manoharan [Fri, 1 Jun 2012 05:56:32 +0000 (11:26 +0530)]
UPSTREAM: ath9k_hw: fix ath9k_hw_ar9003_dump_eep_power warning

drivers/net/wireless/ath/ath9k/ar9003_eeprom.c: In function
'ath9k_hw_ar9003_dump_eep_power':
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c:5140:2: warning: format
'%d' expects argument of type 'int', but argument 5 has type 'u8 *'
[-Wformat]

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I016ddea9396592c80032fc81808337e4ebe487c2
Reviewed-on: https://gerrit.chromium.org/gerrit/24807
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: Fix modal EEPROM dump
Mohammed Shafi Shajakhan [Fri, 1 Jun 2012 05:54:20 +0000 (11:24 +0530)]
UPSTREAM: ath9k: Fix modal EEPROM dump

we provide excess buffer size for 'simple_read_from_buffer'
for modal EEPROM dump. This results in trailing NULL bytes
at the end of EEPROM dump, fix this.

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I8996225a5855b9a8d79fba51d909e3a8ebf2e1cd
Reviewed-on: https://gerrit.chromium.org/gerrit/24806
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: mac80211: Fix race in checking AP status by sending null frame
Soumik Das [Thu, 31 May 2012 12:22:29 +0000 (17:52 +0530)]
UPSTREAM: mac80211: Fix race in checking AP status by sending null frame

mac80211 tries to verify the existence of the current AP by
probing or sending a NULL frame in function
ieee80211_mgd_probe_ap_send. It 1st sends a null frame to the AP,
increments probe_send_count and waits for the ACK to the NULL
frame for a finite duration of time. At times, it happens that by
the time mac80211 gets to increment probe_send_count, the ACK for
the NULL frame transmitted has already been processed. This leads
to a race condition where mac80211 times out waiting for the ACK
for the NULL frame causing unnecessary disconnection with the AP.

Signed-off-by: Soumik Das <soumik.das@stericsson.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I4dad7958d8afef9de47f9b70a4d1ae06d32a3750
Reviewed-on: https://gerrit.chromium.org/gerrit/24805
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: mac80211: fix network header location when adding encryption headers
Arik Nemtsov [Thu, 10 May 2012 10:21:09 +0000 (13:21 +0300)]
UPSTREAM: mac80211: fix network header location when adding encryption headers

Update the location of the network header when adding encryption
specific headers to a skb. This allows low-level drivers to use the
(now correct) location of the network header.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: Ie67aa86ba1aea8382254319962e6ba926017e368
Reviewed-on: https://gerrit.chromium.org/gerrit/24804
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>

12 years agoUPSTREAM: mac80211: Add IV-room in the skb for TKIP and WEP
Janusz.Dziedzic@tieto.com [Wed, 9 May 2012 05:11:20 +0000 (08:11 +0300)]
UPSTREAM: mac80211: Add IV-room in the skb for TKIP and WEP

Add IV-room in skb also for TKIP and WEP.
Extend patch: "mac80211: support adding IV-room in the skb for CCMP keys"

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: If2161de81ec8765485461fd43f39f02275df7531
Reviewed-on: https://gerrit.chromium.org/gerrit/24803
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>

12 years agoUPSTREAM: ath9k: Resync beacons after a HW reset
Sujith Manoharan [Tue, 22 May 2012 03:28:59 +0000 (08:58 +0530)]
UPSTREAM: ath9k: Resync beacons after a HW reset

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I88368e57ae62d824c28d3463ea17257ebf7b2372
Reviewed-on: https://gerrit.chromium.org/gerrit/24802
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: simplify beacon configuration for beaconing vifs
Rajkumar Manoharan [Thu, 19 Apr 2012 13:43:51 +0000 (19:13 +0530)]
UPSTREAM: ath9k: simplify beacon configuration for beaconing vifs

As of now beacon configuration is being called multiple times
in bss info change notification. This patch avoids multiple
configuration and make it simpler.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: Ic8686c45481115a8b8e25c385db8e13fb340f841
Reviewed-on: https://gerrit.chromium.org/gerrit/24801
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath: do not update cycle counters with sleep mode results
Rajkumar Manoharan [Mon, 30 Apr 2012 08:04:36 +0000 (13:34 +0530)]
UPSTREAM: ath: do not update cycle counters with sleep mode results

When the chip is waking up from sleep state, the cycle counters
might have incorrect readings. So it is better not to update those
readings with software counters.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I518ce3fafc054f8617527645fe66302edfd2af7e
Reviewed-on: https://gerrit.chromium.org/gerrit/24800
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: configure ar9462 switching regulator discontinuous mode
Rajkumar Manoharan [Tue, 8 May 2012 11:29:17 +0000 (16:59 +0530)]
UPSTREAM: ath9k_hw: configure ar9462 switching regulator discontinuous mode

Enable WLAN and BT mode for switching regulator discontinuous
orverride for AR9462 chips.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: Ide0c5f22027410c9e2f5b1295c908291c5983474
Reviewed-on: https://gerrit.chromium.org/gerrit/24799
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: fix IQ calibration chain index
Rajkumar Manoharan [Tue, 8 May 2012 04:55:15 +0000 (10:25 +0530)]
UPSTREAM: ath9k_hw: fix IQ calibration chain index

The chain index to perform IQ calibration is counted to number of valid
tx chains and then used for indexing chain specific registers. If the
chainmask is set to 0x2 (i.e chain 1 only), still it accesses chain 0
registers for chain 1. So use real chain index instead sequential one.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I4c7d646f195d82b347d798881b02d6546b52595e
Reviewed-on: https://gerrit.chromium.org/gerrit/24798
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: update ar9462 initval table to fix rx nfcal
Rajkumar Manoharan [Thu, 19 Apr 2012 08:49:40 +0000 (14:19 +0530)]
UPSTREAM: ath9k_hw: update ar9462 initval table to fix rx nfcal

The wrong ADC sample phase that happen between awake and
network/full sleep will lead to improper rx noisefloor
calibration.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I4fd73a941e4a55bcbb7922bf3a82d9943765e84b
Reviewed-on: https://gerrit.chromium.org/gerrit/24797
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: Handle fatal interrupts properly
Sujith Manoharan [Mon, 21 May 2012 08:08:36 +0000 (13:38 +0530)]
UPSTREAM: ath9k: Handle fatal interrupts properly

When a fatal interrupt is received or it is detected that the baseband
has hung, the chip has to be reset immediately.  Otherwise, we end up
processing spurious interrupts. Ensure that we bail out properly in
the ISR when the reset work hasn't completed yet.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I50470083dc66b8a19241eb928b96fef46366d492
Reviewed-on: https://gerrit.chromium.org/gerrit/24796
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: Fix MCI usage
Sujith Manoharan [Sat, 12 May 2012 11:29:15 +0000 (16:59 +0530)]
UPSTREAM: ath9k_hw: Fix MCI usage

MCI has to be handled only when BTCOEX is actually enabled.
Check for this condition before calling MCI related functions
from various reset/calibration call-sites.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: Ied5d5f03b3fde1323faf8d924ae42843b2b97108
Reviewed-on: https://gerrit.chromium.org/gerrit/24795
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: Fix AR_RTC_KEEP_AWAKE usage
Sujith Manoharan [Sat, 12 May 2012 07:58:50 +0000 (13:28 +0530)]
UPSTREAM: ath9k_hw: Fix AR_RTC_KEEP_AWAKE usage

The default value that is being programmed to AR_RTC_KEEP_AWAKE
is 0x2, there is no need to program it manually in various
functions.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I4000e6aeb45e19aa9d43d09e7d17912743c51e98
Reviewed-on: https://gerrit.chromium.org/gerrit/24794
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: Setup MCI interrupts properly
Sujith Manoharan [Sat, 12 May 2012 02:26:49 +0000 (07:56 +0530)]
UPSTREAM: ath9k: Setup MCI interrupts properly

MCI interrupts have to be enabled only when BTCOEX is
actually in use.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I483f394623b881eb994a79d71343618a05554e47
Reviewed-on: https://gerrit.chromium.org/gerrit/24793
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: Handle ASPM properly
Sujith Manoharan [Thu, 10 May 2012 07:42:54 +0000 (13:12 +0530)]
UPSTREAM: ath9k: Handle ASPM properly

ASPM has to be disabled when BTCOEX is in use, do this properly
by calling the bus-specific ASPM init routine after the
BTCOEX scheme has been determined.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I54d3a6a9844eaf887ecdf097209f40219c72b7d6
Reviewed-on: https://gerrit.chromium.org/gerrit/24792
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: Fix RTT calibration
Sujith Manoharan [Fri, 4 May 2012 07:53:59 +0000 (13:23 +0530)]
UPSTREAM: ath9k_hw: Fix RTT calibration

This patch fixes multiple issues with the current RTT
implementation in ath9k.

* The data that is obtained from the RTT interface registers
  are stored in 31:5 - mask out the extra bits when reading them.

* A history buffer is maintained which is not needed at all.
  Remove this array and just store the baseband data for each
  chain (or bank).

* A 'num_readings' variable was being used to handle the
  last entry. But it was being used in an improper manner, with
  the result that the RTT values were never being written
  to the RTT Interface registers. Fix this by using a simple
  flag.

* Stop baseband operations before programming the calibration values
  to the HW.

* Do not restore RX gain settings as part of RTT.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I0061199fa79a0a506574d0ed214c560d7f1e382f
Reviewed-on: https://gerrit.chromium.org/gerrit/24791
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: Fix IDLE Powersave
Sujith Manoharan [Tue, 24 Apr 2012 04:53:20 +0000 (10:23 +0530)]
UPSTREAM: ath9k: Fix IDLE Powersave

* PS_WAIT_FOR_TX_ACK is used in network-sleep mode and checking
  it for handling IDLE transitions is incorrect. Fix this.

* RX PCU/DMA engines have to be stopped before setting the chip into
  full-sleep mode - otherwise the chip becomes mute.

* Make things a bit clear by checking explicitly for network-sleep
  mode in the tx() routine and add a couple of debug statements
  to aid PS debugging.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I1393ab6bfb9a9d9dac48efe78bceae5699fc045b
Reviewed-on: https://gerrit.chromium.org/gerrit/24790
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: don't strip mic on non-encrypted frames in tkip
Michael Liang [Fri, 20 Apr 2012 09:11:57 +0000 (17:11 +0800)]
UPSTREAM: ath9k: don't strip mic on non-encrypted frames in tkip

Fix the following bug: in tkip mode, qos-null ps on/off packets
are dropped due to incorrect packet length so that ath9k softap
can't handle powersave state transition of peer STA correctly.

Signed-off-by: Michael Liang <mliang@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: Ied558990083b87b7cc07307bd0776ce9fccbc0d6
Reviewed-on: https://gerrit.chromium.org/gerrit/24789
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: fix ibss beacon next tbtt
Rajkumar Manoharan [Fri, 13 Apr 2012 07:46:34 +0000 (13:16 +0530)]
UPSTREAM: ath9k: fix ibss beacon next tbtt

Sync-up ibss beacon timer with the beacon frame's timestamp. When the
node acts as joiner, it has to sync with the received beacon timestamp
instead of reading tsf from hw. As the hw tsf wont wont be update till
bssid is configured. This patch programs hw tsf with the received beacon
timestamp if beacon timers are yet to be configured.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I1f607a52cd503737114e6a416c5336cb7164192a
Reviewed-on: https://gerrit.chromium.org/gerrit/24788
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: fix ibss fair beacon distribution for AR9462
Rajkumar Manoharan [Fri, 13 Apr 2012 07:46:33 +0000 (13:16 +0530)]
UPSTREAM: ath9k: fix ibss fair beacon distribution for AR9462

Update AR9462 initval to fix unbalance beacon distribution
in Ad-Hoc network.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I4c3bb75055f42ae94993b844d048fcdcfe615369
Reviewed-on: https://gerrit.chromium.org/gerrit/24787
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k_hw: Remove BTCOEX initvals
Sujith Manoharan [Wed, 11 Apr 2012 04:04:08 +0000 (09:34 +0530)]
UPSTREAM: ath9k_hw: Remove BTCOEX initvals

The MAX_TXPWR table for BTCOEX is not needed for AR9462.
Programming these values to the HW results in undesirable
behavior - for example, large number of delimiter/data
underruns are seen in AES-CCMP mode. Also, registers like
AR_PCU_MISC_MODE2 return 0xdeadbeef after the BTCOEX_MAX
power table is programmed to the HW, and frames being transmitted
end up being looped back to the RX engine, an example being beacon
frames in IBSS mode.

Remove this table for now - this fixes CCMP performance and general
IBSS usage.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I48af2df760c70bc1c470b81ee057b1c0c304326b
Reviewed-on: https://gerrit.chromium.org/gerrit/24786
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoCHROMIUMOS: Revert "CHROMIUMOS: ath9k: Disable HT on ar9462"
Rajkumar Manoharan [Mon, 21 May 2012 08:29:25 +0000 (13:59 +0530)]
CHROMIUMOS: Revert "CHROMIUMOS: ath9k: Disable HT on ar9462"

This reverts commit af103fe6573b3a1a33aaf0f65227fc542311b3d1.
Re-enabling HT on ar9462 for 3.4 kernel.

Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:31625
TEST=Recompile, install, join GoogleGuest

Change-Id: I9714a5a2e116d8b266fd2a8d96d11e327b83d9e9
Reviewed-on: https://gerrit.chromium.org/gerrit/24785
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoCHROMIUM: Enable keyboard backlight in config
Simon Que [Tue, 22 May 2012 20:10:15 +0000 (13:10 -0700)]
CHROMIUM: Enable keyboard backlight in config

BUG=chrome-os-partner:9204
TEST=Kernel builds successfully

Change-Id: I3457e18b2bd171c6621b9b83a04fe6dd71b39caf
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24736
Reviewed-by: Benson Leung <bleung@chromium.org>
12 years agoCHROMIUM: backlight: fixes for chromeos_keyboard_bl
Simon Que [Thu, 7 Jun 2012 20:13:14 +0000 (13:13 -0700)]
CHROMIUM: backlight: fixes for chromeos_keyboard_bl

Explicitly include linux/io.h for inb() and outb().

Put includes in alphabetical order.

BUG=chrome-os-partner:9204
TEST=Apply https://gerrit.chromium.org/gerrit/#change,24736, build
on x86, arm, and amd64.

Change-Id: Icf2825f53d8f40eb566093fb9485c0e723c6c9d3
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24752
Reviewed-by: Benson Leung <bleung@chromium.org>
12 years agoCHROMIUM: Input: atmel_mxt_ts - add sysfs entry for writing a config file
Yufeng Shen [Fri, 18 May 2012 20:04:06 +0000 (16:04 -0400)]
CHROMIUM: Input: atmel_mxt_ts - add sysfs entry for writing a config file

Adding a sysfs entry for loading .raw Atmel config file and write it to
the device memory.

The format spec of .raw Atmel config file can be found at
E-9078 Object-Based Chip Config File Format

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Yufeng Shen <miletus@chromium.org>
BUG=chrome-os-partner:9103

TEST=Provide no platform to the atmel device
     cd path-to-atmel-sysfs
     1. cat config_file
        make sure maxtouch.cfg is returned.
        echo 1 > update_config
        and check the error msg in dmesg for
        "Unable to open config file"
     2. copy maxtouch.cfg over to /lib/firmware/
        echo 1 > update_config
        check dmesg to see the device is reconfigured.

Change-Id: I439d86fcc0bf05b7922619e55af56ef79c1892ab
Reviewed-on: https://gerrit.chromium.org/gerrit/24532
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Ready: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
12 years agoCHROMIUM: config: turn on CONFIG_ACERHDF=m on chromiumos configs
Olof Johansson [Thu, 7 Jun 2012 15:02:27 +0000 (08:02 -0700)]
CHROMIUM: config: turn on CONFIG_ACERHDF=m on chromiumos configs

BUG=none (reported on chromium-os-dev)
TEST=Boot on Acer Aspire One A150 and make sure the fan doesn't run full steam

Change-Id: I9b998cc81b0da1f5b142fb537242c981663928cc
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24724
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Grant Grundler <grundler@chromium.org>
12 years agoCHROMIUM: Add EC-based keyboard backlight driver
Simon Que [Mon, 21 May 2012 23:18:05 +0000 (16:18 -0700)]
CHROMIUM: Add EC-based keyboard backlight driver

This patch adds a Chrome OS keyboard backlight driver to
drivers/video/backlight.  This driver sends commands to the EC to
control the keyboard backlight.  The EC interface code is based on
platform/ec/util/ectool.c.

When successfully installed, the driver will show up under
/sys/class/backlight/keyboard_backlight.

BUG=chrome-os-partner:9204
TEST=kernel builds successfully.

Change-Id: Iefd2598ef0fd6468334524f233419bf26078ce63
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24543
Reviewed-by: Benson Leung <bleung@chromium.org>
12 years agoCHROMIUM: EFI: Don't export invalid SMBIOS base
Duncan Laurie [Wed, 6 Jun 2012 15:44:21 +0000 (08:44 -0700)]
CHROMIUM: EFI: Don't export invalid SMBIOS base

With a non-EFI system there will not be a valid SMBIOS base exported
in an EFI table.  On these systems the exported value in
/sys/kernel/debug/efi_smbios_base is ~0UL which means dmidecode
may attempt to access memory there and trigger a kernel panic.

This change checks the base against the initialized value of
EFI_INVALID_TABLE_ADDR and does not create the sysfs node in
that case.

BUG=chromium-os:31577
TEST=successfully run dmidecode on coreboot based platform

Change-Id: I16dcaa80bc7a41fbab81ff3c482460a0f86ac0ac
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24616
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: Revert "CHROMIUM: config: temporarily disable CONFIG_SECCOMP"
Will Drewry [Wed, 6 Jun 2012 20:54:36 +0000 (15:54 -0500)]
CHROMIUM: Revert "CHROMIUM: config: temporarily disable CONFIG_SECCOMP"

This reverts commit ec0ac9b8b9d33ba5d91658e66e6bd5f6ab4d4102.

Signed-off-by: Will Drewry <wad@chromium.org>
BUG=chromium:131232
TEST=seccomp behaves normally.

Change-Id: I58b1a85e81b41faf5a3ec890d815d0f0d6464ba6
Reviewed-on: https://gerrit.chromium.org/gerrit/24651
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
Commit-Ready: Will Drewry <wad@chromium.org>

12 years agoCHROMIUM: Default vsyscall to NATIVE again
Will Drewry [Wed, 6 Jun 2012 20:48:43 +0000 (15:48 -0500)]
CHROMIUM: Default vsyscall to NATIVE again

Due to ABI breakage issues, vsyscall was set to
NATIVE in 3.2.  Afterwards, it was changed back to
EMULATE.  EMULATE and seccomp do not get along at
present. Until that is resolved, go back to 3.2 behavior.

Signed-off-by: Will Drewry <wad@chromium.org>
BUG=chromium:131232
TEST=boots, works, seccomp works again with vsyscalls:

unsigned long t;
int main(int argc, char **argv, char **envp) {
int ret;
struct sock_filter filter[] = {
BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW),
};
struct sock_fprog prog = {
.len = (unsigned short)(sizeof(filter)/sizeof(filter[0])),
.filter = filter,
};

ret = prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0);
printf("no new privs: %d\n", ret);
ret = prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog, 0, 0);
printf("filter installed: %d\n", ret);
t = time(NULL);
printf("time is %lu\n", t);
__asm__(
"               call 0xffffffffff600400 \n"  /* sys_time */
"               movl %eax, t  \n"
);
printf("time is %lu\n", t);
syscall(__NR_exit, (int)t);
}

Change-Id: I9005a34aac215a6f1c936232a27c0e14d0417832
Reviewed-on: https://gerrit.chromium.org/gerrit/24650
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
Commit-Ready: Will Drewry <wad@chromium.org>

12 years agoCHROMIUM: Fix bad forward port of seccomp PTRACE_O_MASK
Will Drewry [Wed, 6 Jun 2012 16:56:01 +0000 (11:56 -0500)]
CHROMIUM: Fix bad forward port of seccomp PTRACE_O_MASK

Make the mask 0xff and not 0x7f.  Without the change, it
is impossible to use PTRACE_O_TRACESECCOMP.

We should drop this and the original ported change and take
upstreams when we roll to 3.5+.

Signed-off-by: Will Drewry <wad@chromium.org>
TEST=seccomp_tests
BUG=none?

Change-Id: I4c7eb15d3b026203878e4f84ba23cbea28899c36
Reviewed-on: https://gerrit.chromium.org/gerrit/24649
Reviewed-by: Olof Johansson <olofj@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
Commit-Ready: Will Drewry <wad@chromium.org>

12 years agoRevert "CHROMIUM: Lay the foundation for chromeos third party drivers"
Anush Elangovan [Wed, 6 Jun 2012 02:25:10 +0000 (19:25 -0700)]
Revert "CHROMIUM: Lay the foundation for chromeos third party drivers"

This reverts commit eb65cd292e79bd3d5b3fb9cce03d97d6f29b37bb.

BUG=none
TEST=lumpy,tegra2 trybots

Change-Id: I810fa1ab56d550c9c650148096a151db510082a1
Signed-off-by: Anush Elangovan <anush@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24569
Tested-by: Anush Elangovan <anush@google.com>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Anush Elangovan <anush@google.com>

12 years agoCHROMIUM: power: add knob for printing device resume times
Sameer Nanda [Wed, 6 Jun 2012 18:03:57 +0000 (11:03 -0700)]
CHROMIUM: power: add knob for printing device resume times

Added a new knob called /sys/power/pm_print_times. Setting it to 1
enables printing of time taken by devices to suspend and resume.
Setting it to 0 disables this printing (unless overridden by
initcall_debug kernel command line option).

This patch has been sent upstream but seems to be in limbo there.  Pushing
as a CHROMIUM patch for now and will revisit once the upstream discussion
happens.

BUG=chromium-os:30539
TEST=First enable device suspend/resume time printing by issuing this
command: "echo 1 > /sys/power/pm_print_times".  Then do a suspend/resume
cycle.  After resuming look at dmesg and there should be several "call
<device> returned 0 after <time> usecs".  The <time> in these messages
indicates the time taken by the <device> to suspend or resume.

Change-Id: I8f210acd6667a870d286bff412df6b8014438e8c
Signed-off-by: Sameer Nanda <snanda@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24628
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: config: temporarily disable CONFIG_SECCOMP
Olof Johansson [Wed, 6 Jun 2012 04:16:36 +0000 (21:16 -0700)]
CHROMIUM: config: temporarily disable CONFIG_SECCOMP

Seems like it kills v8 when it does a sys_time vsyscall. Stack is:

[  140.474867] chrome          x ffff8800741e1d48     0  2832   1159 0x00000100
[  140.482063]  ffff8800741e1cf8 0000000000000046 ffff8800741e1cc8 ffff88005c335640
[  140.489701]  ffff8800741e1cb8 ffff88005c333250 ffff8800741e1fd8 ffff8800741e1fd8
[  140.497313]  00000000000120c0 ffff88005c333250 ffff8800741e1cf8 ffff88005c333250
[  140.504935] Call Trace:
[  140.507433]  [<ffffffff81461249>] schedule+0x64/0x66
[  140.512491]  [<ffffffff8102e69f>] do_exit+0x779/0x77b
[  140.517635]  [<ffffffff81006459>] emulate_vsyscall+0x121/0x284
[  140.523587]  [<ffffffff8145b194>] __bad_area_nosemaphore+0x92/0x1ed
[  140.529986]  [<ffffffff8145b302>] bad_area_nosemaphore+0x13/0x15
[  140.536107]  [<ffffffff81021b21>] do_page_fault+0x151/0x2fc
[  140.577359]  [<ffffffff8146206f>] page_fault+0x1f/0x30

(and that chrome ends up as a zombie there, which might be an issue in and of itself).

The do_exit() call is triggered by the code in emulate_vsyscall:

        if (seccomp_mode(&tsk->seccomp))
                do_exit(SIGKILL);

I'm going to let Will figure out the rest of this. :-)

BUG=chromium:131232
TEST=boot stumpy, login, browse cbsnews.com, make sure it doesn't lock
up on first page load

Change-Id: Ida6514ca26d8222b0d24438b1f7235f85cff2abb
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24572
Reviewed-by: Grant Grundler <grundler@chromium.org>
12 years agoCHROMIUM: Revert references to chromeos/drivers
Anush Elangovan [Wed, 6 Jun 2012 02:16:03 +0000 (19:16 -0700)]
CHROMIUM: Revert references to chromeos/drivers

This partially reverts 7c401e52 to remove references to chromeos/drivers

BUG=none
TEST=trybot on lumpy/tegra2

Change-Id: I16fa4206f302bb294802e9ee110ff594cb00aedd
Signed-off-by: Anush Elangovan <anush@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24482
Tested-by: Anush Elangovan <anush@google.com>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Anush Elangovan <anush@google.com>

12 years agoCHROMIUM: i915: disable GPU RC6 on ivybridge boards
Vincent Palatin [Tue, 5 Jun 2012 22:07:10 +0000 (15:07 -0700)]
CHROMIUM: i915: disable GPU RC6 on ivybridge boards

The BIOS are not updated yet and some boards have still issues.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=None
TEST=boot kernel 3.4 on Link Proto-1.

Change-Id: I40490e5acbc85e2b4cd239faa098d2e1cf0b5c7f
Reviewed-on: https://gerrit.chromium.org/gerrit/24546
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>

12 years agoCHROMIUM: platform/x86/chromeos_laptop - mxt224s palm settings
Benson Leung [Mon, 4 Jun 2012 21:22:07 +0000 (14:22 -0700)]
CHROMIUM: platform/x86/chromeos_laptop - mxt224s palm settings

Make the following changes to the mxt224s touchpad settings:
T9.08 = 4 (to reduce the confetti effect during palm contact)
T9.10 = 5 (to enable MRGHYST to take effect)
T9.15 = 5
T9.16 = 15

Summary :
These changes target more stable palm identification on the mxt224SL
touchpad. Palms should be reported as a single large pressure contact,
and not as "confetti" or "fireworks." These settings attempt to balance
good palm identification with finger seperation for two finger gestures.
Increase Touch Detect Integration field to 4. Enable Merge Timeout with
a timeout of 800ms.
Set merge threshold to 5 and merge hysteresis to 15.

BUG=chrome-os-partner:9737
TEST=use DISPLAY=:0.0 mtplot
Bring down a palm on the top of the touchpad in a natural manner as if
you are resting in a ready position for the keyboard. Verify that
the driver reports a single large touchpoint for the palm, and that it
doesn't "confetti."
Verify that fat close fingers perform well in 2+ finger scroll gestures.

Change-Id: Ide52aa0c3ad361380fdb85bddea25ee55b29e9b1
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24547
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: Input: atmel_mxt_ts - Report TOUCH MAJOR in terms of pixels
Yufeng Shen [Fri, 25 May 2012 17:55:26 +0000 (13:55 -0400)]
CHROMIUM: Input: atmel_mxt_ts - Report TOUCH MAJOR in terms of pixels

The TCHAREA field reported from the device is in terms of channels
covered by the touch, while ABS_MT_TOUCH_MAJOR is expected to be in
the units the same as the configured device resolution. So we
approximate the touch contact as a circle, convert the touch area
from channel numbers to pixel numbers, and compute the diameter of
the circle touch as the value of ABS_MT_TOUCH_MAJOR.

Signed-off-by: Yufeng Shen <miletus@chromium.org>
BUG=chrome-os-partner:9968
TEST=using evtest to check the range of ABS_MT_TOUCH_MAJOR is now
     somewhat between 50 ~ 100, instead of 1 ~ 10 while making
     normal touching.

Change-Id: I9972a4989a18b9fbe4fdf1edd70330a4e9df3f85
Reviewed-on: https://gerrit.chromium.org/gerrit/24530
Commit-Ready: Yufeng Shen <miletus@chromium.org>
Reviewed-by: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
12 years agoCHROMIUM: usb: adding USB support for Novatel E362 module
Jason Glasgow [Tue, 24 May 2011 18:45:27 +0000 (14:45 -0400)]
CHROMIUM: usb: adding USB support for Novatel E362 module

/drivers/usb/serial/option.c: Adding support for Novatel's E362 module

BUG=chromium-os:31539
TEST=Use minicom to communicate with E362

Change-Id: I1f05a03ee5db1b3801f9941cc52999e617a03198
Signed-off-by: Jason Glasgow <jglasgow@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/1466
Reviewed-by: Elly Jones <ellyjones@chromium.org>
[3.4: olofj: Fixups due to context conflicts]
Signed-off-by: Olof Johansson <olof@lixom.net>
Reviewed-on: https://gerrit.chromium.org/gerrit/24513
Commit-Ready: Olof Johansson <olofj@chromium.org>
Tested-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: ARM: tegra: add tegra2_kaen device tree
Olof Johansson [Tue, 5 Jun 2012 03:53:53 +0000 (20:53 -0700)]
CHROMIUM: ARM: tegra: add tegra2_kaen device tree

Based on seaboard. Probably incorrect but it's mostly a placeholder right now to
keep the build system happy.

BUG=none
TEST=emerge-tegra2_kaen chromeos-kernel

Change-Id: Ia5c1f5fb6c4d895e07abeb7c97bea7f49a76a822
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24474

12 years agoCHROMIUM: config: base.config: enable pl2303 driver
Tai-Hsu Lin [Mon, 28 May 2012 09:23:27 +0000 (17:23 +0800)]
CHROMIUM: config: base.config: enable pl2303 driver

Enable pl2303 driver for all platforms so that we could emulate
USB-to-RS232 converters when needed. Note that only the factory
test images will be installed with this driver. Two CLs for that
is following.

BUG=chrome-os-partner:6616,chrome-os-partner:6617
TEST=emerge chromeos-kernel -> got pl2303.ko
tested the ko file on link with converter devices -> works

Change-Id: I9c8e6f2f6c65341e0890f3102385ec6552fc3fdd
Signed-off-by: Tai-Hsu Lin <sheckylin@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23848
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUM: Input: cyapa - Set default rt suspend scanrate to 30ms
Benson Leung [Fri, 18 May 2012 23:27:23 +0000 (16:27 -0700)]
CHROMIUM: Input: cyapa - Set default rt suspend scanrate to 30ms

Set runtime_suspend_power_mode to 30ms scanrate by default.
Leave the suspend_power_mode scanrate to 50ms by default.

BUG=chromium-os:21047,chromium-os:28646
TEST=cat /sys/bus/i2c/devices/11-0067/power/suspend_scanrate_ms
cat /sys/bus/i2c/devices/11-0067/power/runtime_suspend_scanrate_ms
Check that they are 50 and 30 respectively.

Change-Id: I668a5d2b6ee5205805a19da3a8858fce169c2ccd
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23080

12 years agoCHROMIUM: Input: cyapa - Runtime pm with autosuspend
Benson Leung [Wed, 28 Mar 2012 15:25:05 +0000 (08:25 -0700)]
CHROMIUM: Input: cyapa - Runtime pm with autosuspend

Use runtime pm to manage cyapa power states. Autosuspend is used to
delay the runtime_suspend until some period of no activity from
the touchpad.

Default autosuspend period is 10000ms.
Default runtime_scanrate_ms in 50ms.
cyapa_irq will pm_runtime_get, mark last busy, perform data read
and processing, and then pm_runtime_put

Add a sysfs property for showing and updating the idle scanrate
used by the touchpad during runtime suspend (not system suspend).

An integer will set a variable idle scan interval.
Touchpad supports between 20ms to 1000ms scan intervals.
The time will be increased in increments of 10ms from 20ms to 100ms.
From 100ms to 1000ms, time will be increased in increments of 20ms.

BUG=chromium-os:21047,chromium-os:28646
TEST=$ cd <path to i2c device> (e.g. /sys/bus/i2c/devices/11-0067)
$ cat power/control
check that this returns "auto"
$ echo 1000 > power/autosuspend_delay_ms
This will tell the driver to runtime_suspend after 1s of inactivity.
To check, $ watch -n 0.1 cat power/runtime_status.
Touch the touchpad. Notice it changes to 'active'
Do not touch the touchpad for 1s. Notice it changes to 'suspended'
From 'suspended' state, make sure the touchpad feels responsive when
touching it to transition back to 'active'
Test sysfs:
$ cat power/runtime_suspend_scanrate_ms
check that by default, it is 50

Now, test the responsiveness changes based on the setting. Best way
is to test this remotely over ssh to see mouse cursor and shell:
$ echo 20 > power/runtime_suspend_scanrate_ms
$ watch -n 0.1 power/runtime_status
Wait until the status is "Suspended"
Ensure touchpad responds and moves cursor quickly on light touch
Retry this, but with a higher number in scanrate:
$ echo 1000 > power/runtime_suspend_scanrate_ms
Notice it takes longer time on average to respond when in this state.

Change-Id: If1198b9f870b906f1cce58c6b6d48e2f68d8f2ce
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/18684
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
12 years agoCHROMIUM: Input: cyapa - Clean up suspend_scanrate_ms sysfs
Benson Leung [Wed, 23 May 2012 03:41:08 +0000 (20:41 -0700)]
CHROMIUM: Input: cyapa - Clean up suspend_scanrate_ms sysfs

Clean up cyapa_show_suspend_scanrate, using scnprintf.
Change ifdef to CONFIG_PM_SLEEP instead of CONFIG_PM for
suspend_scanrate_ms sysfs and for suspend and resume
functions.

BUG=chromium-os:21047
TEST=With CONFIG_PM_SLEEP=y, make sure that
cat power/suspend_scanrate_ms
returns 50 by default.
With CONFIG_PM_SLEEP disabled, make sure that
power/suspend_scanrate_ms does not exist.

Change-Id: I17f29305a0445db2f89ae2bf3deda984a07444d1
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23317

12 years agoCHROMIUM: Input: cyapa - Use sysfs_streq
Benson Leung [Fri, 18 May 2012 22:10:59 +0000 (15:10 -0700)]
CHROMIUM: Input: cyapa - Use sysfs_streq

Use sysfs_streq in cyapa_update_suspend_scanrate to check
for a match for "buttononly" mode. Sysfs_streq will
ignore trailing newline in the comparison.

BUG=chromium-os:29697,chromium-os:21047
TEST=echo buttononly > power/suspend_scanrate_ms
cat power/suspend_scanrate_ms
Check that buttononly is returned.
echo -n buttononly > power/suspend_scanrate_ms
cat power/suspend_scanrate_ms
Check that buttononly is returned.

Change-Id: I5ac486077cb850b1007d3eb496a0c11485508a60
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23077

12 years agoCHROMIUM: drm/i915/intel_i2c: Allow 400khz for atmel mxt bl on VGADDC
Benson Leung [Fri, 25 May 2012 23:41:54 +0000 (16:41 -0700)]
CHROMIUM: drm/i915/intel_i2c: Allow 400khz for atmel mxt bl on VGADDC

The atmel_mxt_ts bootloader mode can support 400khz operation
successfully. Enable it for bootloader at address 0x25 on the
VGADDC adapter.

BUG=chrome-os-partner:9994
TEST=place valid atmel mxt firmware at /lib/firmware/maxtouch.fw
time echo 1 > update_fw
Check that firmware update succeeds, and that the time is less than 9s.
time echo 1 > update_fw

real 0m8.450s
user 0m0.001s
sys 0m0.100s

Change-Id: I52373189e051c265ce32a99cee8b139f51721b28
Signed-off-by: Benson Leung <bleung@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23760
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
12 years agoCHROMIUM: Input: atmel_mxt_ts - recreate input_dev after fw update
Yufeng Shen [Tue, 22 May 2012 18:51:38 +0000 (14:51 -0400)]
CHROMIUM: Input: atmel_mxt_ts - recreate input_dev after fw update

Recreate and re-register the input device after the firmware
update. Now after both the firmware update and first time
device init, the same path of mxt_initialize() and
mxt_input_device_create() is called.

Signed-off-by: Yufeng Shen <miletus@chromium.org>
BUG=chrome-os-partner:9103

TEST=update the firmware and then check that the input device
     is still working, by using evtest/xinput.

Change-Id: I2ec8b4c96954151495238c450301eddd48085e18
Reviewed-on: https://gerrit.chromium.org/gerrit/23256
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
Commit-Ready: Yufeng Shen <miletus@chromium.org>

12 years agoCHROMIUM: config: enable gobi
Olof Johansson [Fri, 1 Jun 2012 00:06:25 +0000 (17:06 -0700)]
CHROMIUM: config: enable gobi

Now that gobi is merged, enable it as a module everywhere

BUG=chromium-os:31412
TEST=build

Change-Id: I18c238e4f07ddb01ab3261607ea7b93b8dd1152a
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24265
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
12 years agoCHROMIUM: config: renormalize splitconfigs
Olof Johansson [Fri, 1 Jun 2012 00:05:52 +0000 (17:05 -0700)]
CHROMIUM: config: renormalize splitconfigs

Just churn due to new options/drivers

BUG=none
TEST=none

Change-Id: I07503b0512c3fcec7854a48d80974445d6e5703a
Signed-off-by: Olof Johansson <olofj@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24264
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
12 years agoRevert "CHROMIUM: tpm: don't run self test during probe"
Luigi Semenzato [Wed, 30 May 2012 17:51:11 +0000 (10:51 -0700)]
Revert "CHROMIUM: tpm: don't run self test during probe"

This reverts commit 02201732a1798f0756be6179a6fd3cab1115444c

Change-Id: I0c812f13fb93f14257aa0e8da1e9ffede9a47bf3
Reviewed-on: https://gerrit.chromium.org/gerrit/24043
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
12 years agoMerge branch 'chromeos-wifi-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:07:09 +0000 (00:07 -0700)]
Merge branch 'chromeos-wifi-3.4' into chromeos-3.4

By Paul Stewart (12) and others
* chromeos-wifi-3.4: (32 commits)
  CHROMIUMOS: mac80211: Increase retry attempts for nullfunc probes
  UPSTREAM: staging: gdm72xx depends on NET
  UPSTREAM: staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices
  UPSTREAM: staging: gdm72xx: WIMAX_GDM72XX_USB_PM should depend on USB_SUSPEND
  UPSTREAM: staging: gdm72xx: Add GCT GDM72xx WiMAX driver.
  CHROMIUM: firmware: adding RT3090 firmware
  CHROMIUMOS: mac80211: Salvage BSS info for botched HT Association
  CHROMIUMOS: ath9k: fix regression in chip stuck detection
  CHROMIUMOS: mac80211: Use different probe counts on resume
  CHROMIUMOS: ath9k: Disable HT on ar9462
  UPSTREAM: mac80211: do not send pspoll when powersave is disabled
  mac80211: send nullfunc frame at minrate
  UPSTREAM: mac80211: flush to get the tx status of nullfunc frame immediately
  UPSTREAM: ath9k: syncup latest ini from system team
  UPSTREAM: ath9k: cleanup rx stuck detection logic
  ath9k_hw: improve ANI processing and rx desensitizing parameters
  FIXUP: added missing ath9k_debugfs_open()
  HACK: Grant needs to explain what this is
  CHROMIUMOS: mac80211: Filter duplicate IE ids
  CHROMUMOS: ath9k: detect rx stuck by cycle counters
  ...

12 years agoMerge branch 'chromeos-verity-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:58 +0000 (00:06 -0700)]
Merge branch 'chromeos-verity-3.4' into chromeos-3.4

By Mandeep Singh Baines (21) and others
* chromeos-verity-3.4: (48 commits)
  CHROMIUM: verity: Add stats on block sizes
  CHROMIUM: verity: Add a debugfs interface with basic stats access
  CHROMIUM: verity: Add a few comments about the statistics variables
  CHROMIUM: verity: Add a name for each verity instance
  CHROMIUM: verity: make total_requeues a uint64
  CHROMIUM: verity: honor optional salt argument.
  CHROMIUM: dm-bht: add salt support.
  CHROMIUM: init: don't dm_substitute_devices().
  CHROMIUM: verity: embed hash_desc instead of allocating it
  CHROMIUM: verity: use one shared queue per processer
  CHROMIUM: dm-verity: optionally support key-val args
  CHROMIUM: verity: use alloc_page instead of mempool_alloc
  CHROMIUM: verity: convert depth to an int
  CHROMIUM: verity: statically allocate root_digest
  CHROMIUM: verity: use block instead of block_index everywhere
  CHROMIUM: verity: short-circuit dm_bht_populate
  CHROMIUM: verity: cleanup commenting of io_bht_populate
  CHROMIUM: verity: change type (u64) for io block and count
  CHROMIUM: verity: root hash should not rely on uninitialized memory
  CHROMIUM: verity: use high priority workqueues
  ...

12 years agoMerge branch 'chromeos-security-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:50 +0000 (00:06 -0700)]
Merge branch 'chromeos-security-3.4' into chromeos-3.4

By Will Drewry (22) and others
via Grant Grundler
* chromeos-security-3.4: (31 commits)
  CHROMIUM: ARM: r1->r0 for get/set arguments
  CHROMIUM: seccomp: set -ENOSYS if there is no tracer
  CHROMIUM: ARM: arch/arm: allow a scno of -1 to not cause a SIGILL
  CHROMIUM: arch/arm: select HAVE_ARCH_SECCOMP_FILTER
  CHROMIUM: arch/arm: move secure_computing into trace; respect return code
  CHROMIUM: arch/arm: add asm/syscall.h
  BACKPORT: samples/seccomp: fix dependencies on arch macros
  BACKPORT: seccomp: fix build warnings when there is no CONFIG_SECCOMP_FILTER
  BACKPORT: seccomp: ignore secure_computing return values
  BACKPORT: seccomp: use a static inline for a function stub
  BACKPORT: Documentation: prctl/seccomp_filter
  BACKPORT: x86: Enable HAVE_ARCH_SECCOMP_FILTER
  BACKPORT: ptrace,seccomp: Add PTRACE_SECCOMP support
  BACKPORT: seccomp: Add SECCOMP_RET_TRAP
  BACKPORT: signal, x86: add SIGSYS info and make it synchronous.
  BACKPORT: seccomp: add SECCOMP_RET_ERRNO
  BACKPORT: seccomp: remove duplicated failure logging
  BACKPORT: seccomp: add system call filtering using BPF
  BACKPORT: arch/x86: add syscall_get_arch to syscall.h
  BACKPORT: asm/syscall.h: add syscall_get_arch
  ...

12 years agoMerge branch 'chromeos-platform-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:41 +0000 (00:06 -0700)]
Merge branch 'chromeos-platform-3.4' into chromeos-3.4

By Benson Leung (12) and others
* chromeos-platform-3.4: (62 commits)
  CHROMIUM: thermal: Add debugfs metrics for fan state changes
  CHROMIUM: thermal: Fix thermal_zone_device_polling round_jiffies usage
  CHROMIUM: gpio: nm10: add device IDs of IVB LPC variants
  CHROMUM: thermal: change cdev->cur_state to enum
  CHROMIUM: gpio: nm10: fix driver removal problem
  CHROMIUM: thermal: Add a small delay before turning fans on
  CHROMIUM: low-mem: add "on" command and fix error case
  CHROMIUM: low-mem notifier: lower default, change units, enable disabling
  CHROMIUM: platform/x86/chromeos_laptop - export add_i2c functions
  CHROMIUM: platform/x86/chromeos_laptop - mxt224s settings adjust
  CHROMIUM: platform/x86/chromeos_laptop - add_probed_i2c_device
  CHROMIUM: platform/x86/chromeos_laptop - Add platform data for touchpad
  CHROMIUM: ACPI: Read TSC upon resume
  CHROMIUM: change low-mem to chromeos-low-mem in /sys/kernel/mm.
  Add Panther Point to the list of gpio controllers
  CHROMIUM: chromeos_laptop: fix ALS entries
  CHROMIUM: platform/x86/chromeos_laptop - support multiple link tp
  CHROMIUM: platform/x86/chromeos_laptop - Use i2c_new_probed_device
  CHROMIUM: platform/x86 - fix compiler warning for args of bus_find_devices
  CHROMIUM: platform/x86/chromeos_laptop - Add atmel_mxt_tp for Link
  ...

12 years agoMerge branch 'chromeos-misc-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:28 +0000 (00:06 -0700)]
Merge branch 'chromeos-misc-3.4' into chromeos-3.4

By Dylan Reid (6) and others
* chromeos-misc-3.4: (37 commits)
  CHROMIUM: tpm: reconcile mainline changes with resume strategy
  CHROMIUM: r8169.c: Re-enable MSI to fix D3 wake for RTL8111e.
  CHROMIUM: r8169: Disable WOL by default
  CHROMIUM: r8169: transition to D0 state at shutdown
  CHROMIUM: r8169: Enable WOL from Magic Packet by default
  CHROMIUM: r8169: Enable suspend when device is idle from boot.
  CHROMIUM: drivers: net: add module param for control of ASPM  disable
  ALSA: hda/realtek - set DMIC coefficients
  CHROMIUM: tpm: don't run self test during probe
  HACK: tpm: export tpm_continue_selftest for tpm_tis_i2c
  CHROMIUM: tpm: fix potential deadlock in resume_if_needed
  CHROMIUM: scheduler: panic if schedulin while atomic
  CHROMIUM: Add CLOCK_SYSTEM_TRACE to export the trace clock to user space.
  ALSA: hda/realtek - indicate jacks are black and on the left.
  CHROMIUM: ALSA: hda/ca0132 - Move headphones to port D.
  ALSA: hda/realtek - add a fixup for ACER's ZGB.
  CHROMIUM: ALSA: hda: cirrus: Add a quirk for Stumpy.
  ALSA: hda: ca0132: set eapd
  CHROMIUM: i2c: i801: enable irq for byte_by_byte transactions
  CHROMIUM: i2c: i801: enable irq for i801 smbus transactions
  ...

12 years agoMerge branch 'chromeos-intel_i2c-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:22 +0000 (00:06 -0700)]
Merge branch 'chromeos-intel_i2c-3.4' into chromeos-3.4

By Daniel Kurtz (19) and others
* chromeos-intel_i2c-3.4: (21 commits)
  CHROMIUM: drm/i915/intel_i2c: Allow 400khz for cyapa
  CHROMIUM: drm/i915/intel_i2c: enable 400kHz GMBUS for atmel_mxt devices
  CHROMIUM: drm/i915/intel_drv: reduce wait_for polling time
  UPSTREAM: drm/i915/intel_i2c: reduce verbosity of some messages
  UPSTREAM: drm/i915/intel_i2c: handle zero-length reads
  UPSTREAM: drm/i915/intel_i2c: reuse GMBUS2 value read in polling loop
  UPSTREAM: drm/i915/intel_i2c: remove POSTING_READ() from gmbus transfers
  UPSTREAM: drm/i915/intel_i2c: use INDEX cycles for i2c read transactions
  UPSTREAM: drm/i915/intel_i2c: use WAIT cycle, not STOP
  UPSTREAM: drm/i915/intel_i2c: always wait for IDLE before clearing NAK
  UPSTREAM: drm/i915/intel_i2c: use double-buffered writes
  UPSTREAM: drm/i915/intel_i2c: handle zero-length writes
  UPSTREAM: drm/i915/intel_i2c: allocate gmbus array as part of drm_i915_private
  UPSTREAM: drm/i915/intel_i2c: gmbus disabled and reserved ports are invalid
  UPSTREAM: drm/i915/intel_i2c: refactor using intel_gmbus_get_adapter
  UPSTREAM: drm/i915/intel_i2c: use i2c pre/post_xfer functions to setup gpio xfers
  UPSTREAM: drm/i915/intel_i2c: assign HDMI port D to pin pair 6
  UPSTREAM: drm/i915/intel_i2c: cleanup error messages and comments
  UPSTREAM: drm/i915/intel_i2c: refactor gmbus_xfer
  UPSTREAM: drm/i915: enable gmbus on gen2
  ...

12 years agoMerge branch 'chromeos-input-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:15 +0000 (00:06 -0700)]
Merge branch 'chromeos-input-3.4' into chromeos-3.4

By Daniel Kurtz (51) and others
* chromeos-input-3.4: (79 commits)
  CHROMIUM: Input: atmel_mxt_ts - Add sysfs entry for r/w config file name
  CHROMIUM: Input: atmel_mxt_ts - Add sysfs entry for r/w fw file name
  CHROMIUM: Input: atmel_mxt_ts - Wait on auto calibration msg in suspend
  CHROMIUM: Input: atmel_mxt_ts - Support the case with no platform data
  CHROMIUM: Input: atmel_mxt_ts - Set default irqflags when there is no pdata
  CHROMIUM: Input: atmel_mxt_ts - Move object from sysfs to debugfs
  CHROMIUM: Input: atmel_mxt_ts - add deltas and refs debugfs entries
  CHROMIUM: Input: atmel_mxt_ts - Wait for CHG after bootloader resets
  CHROMIUM: Input: atmel_mxt_ts - Wait for CHG assert in mxt_check_bootloader
  CHROMIUM: Input: atmel_mxt_ts - Cleanup load_fw
  CHROMIUM: Input: atmel_mxt_ts - Add IDLE/DEEP-SLEEP modes when suspend
  CHROMIUM: Input: atmel_mxt_ts - Read resolution from device memory
  CHROMIUM: Input: atmel_mxt_ts - Remove matrix size update
  CHROMIUM: Input: cyapa - refactor debugfs mutex init/destruction
  CHROMIUM: Input: atmel_mxt_ts - add debugfs infrastructure
  CHROMIUM: Input: atmel_mxt_tx - add matrix_size sysfs entry
  CHROMIUM: Input: atmel_mxt_ts - refactor input device creation
  CHROMIUM: Input: atmel_mxt_ts - register input device before request_irq
  CHROMIUM: Input: atmel_mxt_ts - verify info block checksum
  CHROMIUM: Input: atmel_mxt_ts - add sysfs entry to read info checksum
  ...

12 years agoMerge branch 'chromeos-gobi-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:06:10 +0000 (00:06 -0700)]
Merge branch 'chromeos-gobi-3.4' into chromeos-3.4

By ttuttle (33) and others
via Grant Grundler
* chromeos-gobi-3.4: (59 commits)
  CHROMIUM: qcusbnet: don't spew "failed to autoresume" by default
  CHROMIUM: gobi: fix compiler warnings
  CHROMIUM: gobi: don't wait forever to close qmi fds
  CHROMIUM: gobi: Raise QMI timeout to 2000ms.
  CHROMIUM: gobi: Add SYNC_UNINTERRUPTIBLE sync_flags, and use it.
  CHROMIUM: gobi: Make qc_register log message better.
  CHROMIUM: gobi: Return -ENODEV on probe failures.
  CHROMIUM: gobi: Make probe failures WARN, not ERROR.
  CHROMIUM: gobi: Print error codes in qmidms_getmeid.
  CHROMIUM: gobi: Log cid_free errors in client_free.
  CHROMIUM: gobi: poison urbs instead of killing in stopread
  CHROMIUM: gobi: Proper error handling in getmeid.
  CHROMIUM: gobi: Fail instead of zeroing MEID on failed getmeid.
  CHROMIUM: gobi: Rearrange error handling in qc_deregister.
  CHROMIUM: gobi: time out sync operations in register
  CHROMIUM: gobi: qc_deregister in qcnet_disconnect, not _unbind
  CHROMIUM: gobi: proper error handling in qc_register
  CHROMIUM: gobi: fail qcnet_probe when qc_register fails
  CHROMIUM: gobi: usbnet_probe failure is a warning
  CHROMIUM: gobi: Set FLAG_WWAN so we are named wwan%d
  ...

12 years agoMerge branch 'chromeos-base-3.4' into chromeos-3.4
Olof Johansson [Fri, 1 Jun 2012 07:05:14 +0000 (00:05 -0700)]
Merge branch 'chromeos-base-3.4' into chromeos-3.4

* chromeos-base-3.4: (72 commits)
  CHROMIUM: config: Enable USB audio.
  CHROMIUM: config: remove i386/chromeos-intel-menlow
  CHROMIUM: config: rerun oldconfig for 3.4
  CHROMIUM: Fix "Work around Intel GPU bug with some physical pages."
  CHROMIUM: Work around Intel GPU bug with some physical pages.
  CHROMIUMOS: config: Enable verbose logging in mac80211
  CHROMIUM: make it easier to skip architectures in kernelconfig
  CHROMIUM: config: Add bogus chromiumos-exynos5 until we have the real one
  CHROMIUM: drm/i915: Replace pin count BUG_ON with warning
  CHROMIUM: scripts: Allow prepareconfig to accept a destination
  CHROMIUM: acpi- add printk and dumpstack at acpi_disable/enable
  CHROMIUM: config: enable joystick drivers
  CHROMIUM: config: re-normalize split configs
  CHROMIUM: config: Enabling RT3090 WiFi module.
  CHROMIUM: kick lockup detector on resume
  CHROMIUM: config: turn on ZRAM and SWAP on x86 arches
  CHROMIUM: config: i386: Enable xhci (USB 3.0) module.
  CHROMIUM: config: x86_64: Enable xhci (USB 3.0) module.
  CHROMIUM: config: Re-enable net namespaces in the kernel.
  CHROMIUM: config: turn off some rtl wifi drivers on chromeos configs
  ...

12 years agoCHROMIUMOS: mac80211: Increase retry attempts for nullfunc probes
Gary Morain [Wed, 23 May 2012 01:23:48 +0000 (01:23 +0000)]
CHROMIUMOS: mac80211: Increase retry attempts for nullfunc probes

When a nullfunc probe fails for lack of an ACK, it is retried
almost immediately.  The current setting of 10 retries completes
in about 20 ms.  If an AP is off-channel scanning, this is not
enough time for the AP to return to the operating channel and
ACK the nullfunc.  As a result, the client disconnects when the
AP is still there and operating.

BUG=chrome-os-partner:8694
TEST=manual.  Let run overnight to verify that 100 is a sufficient
number of retries.  50 is too low.

Change-Id: I8c87779c42b04489bec08b9b376e916e39ce5a4e
Signed-off-by: Gary Morain <gmorain@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/23063
Reviewed-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: staging: gdm72xx depends on NET
Randy Dunlap [Thu, 17 May 2012 16:14:24 +0000 (09:14 -0700)]
UPSTREAM: staging: gdm72xx depends on NET

gdm72xx uses networking interfaces, so it should depend
at least on NET (maybe on WIMAX?).

ERROR: "sock_release" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netif_carrier_on" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netif_carrier_off" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "skb_realloc_headroom" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netif_rx" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netlink_kernel_create" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netif_rx_ni" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "dev_alloc_skb" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "free_netdev" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "register_netdev" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "skb_push" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "dev_get_by_index" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "skb_pull" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "init_net" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "__alloc_skb" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "netlink_broadcast" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "kfree_skb" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "alloc_netdev_mqs" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "eth_type_trans" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "ether_setup" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "unregister_netdev" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "__netif_schedule" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "skb_put" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "sock_wfree" [drivers/staging/gdm72xx/gdmwm.ko] undefined!
ERROR: "__nlmsg_put" [drivers/staging/gdm72xx/gdmwm.ko] undefined!

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 622d421c33584499e3392f98237167e3286822fb)

Signed-off-by: Ben Chan <benchan@chromium.org>
Change-Id: I97d2ef6e27c318164352c879eb32dcb9c3082f7c
Reviewed-on: https://gerrit.chromium.org/gerrit/22962
Reviewed-by: Sameer Nanda <snanda@chromium.org>
12 years agoUPSTREAM: staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices
Paul Stewart [Thu, 17 May 2012 18:15:10 +0000 (11:15 -0700)]
UPSTREAM: staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices

This patch uses SET_NETDEV_DEV to set up a 'device' parent link in sysfs
(e.g. /sys/class/net/wm0/device) for a gdm72xx device.

Signed-off-by: Paul Stewart <pstew@chromium.org>
Signed-off-by: Ben Chan <benchan@chromium.org>
Cc: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 54bc1ff1daa86353ab07191b7fdde05e6b3844b1)

Change-Id: I795bb6c47df3b66d4272e8e455340ff369342757
Reviewed-on: https://gerrit.chromium.org/gerrit/22961
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
12 years agoUPSTREAM: staging: gdm72xx: WIMAX_GDM72XX_USB_PM should depend on USB_SUSPEND
Geert Uytterhoeven [Wed, 16 May 2012 19:47:40 +0000 (21:47 +0200)]
UPSTREAM: staging: gdm72xx: WIMAX_GDM72XX_USB_PM should depend on USB_SUSPEND

Use Kconfig logic instead of a rude #error in the driver source,
which breaks m68k-allmodconfig.
Also remove the "default n", as that's the default.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit dd4f521399d059b9c42e95a42c5373e10d14c0c6)

Signed-off-by: Ben Chan <benchan@chromium.org>
Change-Id: Ia94c6b0f0afa31545b3762ccc20341edaf7aa4e5
Reviewed-on: https://gerrit.chromium.org/gerrit/22960
Reviewed-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: staging: gdm72xx: Add GCT GDM72xx WiMAX driver.
Sage Ahn [Wed, 23 May 2012 01:22:42 +0000 (01:22 +0000)]
UPSTREAM: staging: gdm72xx: Add GCT GDM72xx WiMAX driver.

This patch provides the kernel driver for the GDM72xx WiMAX chips
developed by GCT Semiconductor, Inc., which enables mobile WiMAX
connection on the Linux host.

BUG=chrome-os-partner:9597
TEST=`emerge-{x86,amd64}-generic chromeos-kernel`
TEST=`USE=gdmwimax emerge-{x86,amd64}-generic chromeos-kernel`

Signed-off-by: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Chan <benchan@chromium.org>
Change-Id: I4d9a9817bc85e4c5080e08577eecd39c2bdd6a2a
Reviewed-on: https://gerrit.chromium.org/gerrit/22708
Reviewed-by: Olof Johansson <olofj@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
12 years agoCHROMIUM: firmware: adding RT3090 firmware
Vincent Wang [Thu, 26 Apr 2012 20:54:18 +0000 (13:54 -0700)]
CHROMIUM: firmware: adding RT3090 firmware

BUG=chrome-os-partner:9308
TEST=Using Chrome OS WiFi autotest suites via WIFi testbed environment.
Signed-off-by: Vincent Wang <vwang@chromium.org>
Change-Id: I53d4f057e33f3d906508b0c6e10a46938a5c9918
Reviewed-on: https://gerrit.chromium.org/gerrit/21254
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Vincent Wang <vwang@chromium.org>
Commit-Ready: Vincent Wang <vwang@chromium.org>

12 years agoCHROMIUMOS: mac80211: Salvage BSS info for botched HT Association
Paul Stewart [Thu, 10 May 2012 01:23:33 +0000 (01:23 +0000)]
CHROMIUMOS: mac80211: Salvage BSS info for botched HT Association

The mac80211 flags errors in the HT Information IE if the channel
information does not match the associated channel.  Unfortunately
in this condition nothing in the HT information element can be
trusted.  However, at this point we have already signalled to the
AP in our association request that we wanted to do HT.

As a workaround to these broken APs, we should try to see if the
beacon/probe response of the AP fared any better than the association
response.  If it did, we can use that to at least configure our
receive side so we will hopefully not lose downstream throughput
due to the AP trying bitrates that we cannot receive.

This change copies the HT Information IE into the ieee80211_bss
structure so it can be retrieved in ieee80211_enable_ht during
association.  We can then use this data as a backup to the
association response IEs and configure our receive channel
appropriately.

Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chromium-os:25483
TEST=Associate to known offending AP and ensure that the correct
message appears in the logs.  Ensure that pages load quickly
after association to such APs.

Change-Id: Ib26a607d7dccf0334cc987e720261d9b450a538b
Reviewed-on: https://gerrit.chromium.org/gerrit/19405
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoCHROMIUMOS: ath9k: fix regression in chip stuck detection
Gary Morain [Fri, 30 Mar 2012 16:03:12 +0000 (09:03 -0700)]
CHROMIUMOS: ath9k: fix regression in chip stuck detection

To recover the chip from stuck, the signature should be matched
for 10 interations in the 15 iteration loop. But the max values
are swapped i.e the current code will check for 15 matching
interation where the max number of iterations itself is 10. So
that it never triggers the chip reset.

The iteration check is applicable only for rxclear stuck. In
case of DCU stuck state, the reset will be triggered immediately.

BUG=chrome-os-partner:8702
TEST=manual.  Built a kernel and ran it on Alex and did some basic
WiFi connectivity.

Change-Id: I92b2c06a70b07a3af9d1faf72b0843ebeea7650d
Signed-off-by: Gary Morain <gmorain@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/19358

12 years agoCHROMIUMOS: mac80211: Use different probe counts on resume
Paul Stewart [Thu, 10 May 2012 00:40:11 +0000 (00:40 +0000)]
CHROMIUMOS: mac80211: Use different probe counts on resume

We recently increased the probe retry count for beacon monitoring
in order to make challenging channel conditions less volatile.  In
doing so, we made the system slower to respond to a lost AP when the
system resumes from suspend.  Mitigate this by using a different
try-count for the resume-from-suspend case.

BUG=chromium-os:28576
TEST=Manual: Suspend, unplug AP, resume.  Observe disconnection in < 1sec

Change-Id: I206d4b2838da2ce7da00739412e5fcda63a27a2c
Signed-off-by: Paul Stewart <pstew@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/19234
Reviewed-by: Gary Morain <gmorain@chromium.org>
12 years agoCHROMIUMOS: ath9k: Disable HT on ar9462
Paul Stewart [Mon, 26 Mar 2012 23:26:07 +0000 (16:26 -0700)]
CHROMIUMOS: ath9k: Disable HT on ar9462

AR9462 does not work well in HT on the current chromeos-3.2 branch.
Disable HT capability for this hardware until it is fixed.

BUG=None
TEST=Manual: Boot kernel -- assure that (a) system connects and
can pass data (b) via "iw link" assure that we are passing only
legacy rates (c) via "iw list" assure that the card capability
only lists legacy (d) assure that a 9382 still shows HT capabilities.

Change-Id: I7ff33a878bd0eea0774b517340532ee9b4cbeba7
Signed-off-by: Paul Stewart <pstew@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/19136
Reviewed-by: mukesh agrawal <quiche@chromium.org>
12 years agoUPSTREAM: mac80211: do not send pspoll when powersave is disabled
Rajkumar Manoharan [Tue, 6 Mar 2012 21:18:36 +0000 (02:48 +0530)]
UPSTREAM: mac80211: do not send pspoll when powersave is disabled

There might be latency at AP side to update TIM IE which could cause the
station to send pspoll frame even after the wakeup. If the powersave is
disabled, the nullfunc notification alone is sufficient to receive
frames from the AP. And if the pspoll frame was already sent, no need to
resend the frame till it was acked by AP.

Cc: Jouni Malinen <jouni@qca.qualcomm.com>
Cc: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:8323
TEST=Autotest MatFunc and Roaming.  Manual testing, inspecting wireless
captures for proper signaling of powersave mode.

Signed-off-by: Paul Stewart <pstew@chromium.org>
Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17739
(cherry picked from commit cabf9a3fadc9c8cf8d8c729c38ee1ae772346500)

Change-Id: Ib0ee3a8e6e9fc80f82e65cbbd3b006b59040e2b2
Reviewed-on: https://gerrit.chromium.org/gerrit/18626
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agomac80211: send nullfunc frame at minrate
Rajkumar Manoharan [Tue, 6 Mar 2012 18:07:25 +0000 (23:37 +0530)]
mac80211: send nullfunc frame at minrate

As the nullfunc frames are used for management purpose, it should be
acked as quick as possible. Sending nullfunc frames in legacy rate
could increase the probability of getting acked by AP.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:8323
TEST=Autotest MatFunc and Roaming.  Manual testing, inspecting wireless
captures for proper signaling of powersave mode.

Signed-off-by: Paul Stewart <pstew@chromium.org>
Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17740
(cherry picked from commit 01efb3106f4884a763bc101bc0bfa22612403f45)

Change-Id: I6b9d6585da484abaaed215fa6679cfe637d00577
Reviewed-on: https://gerrit.chromium.org/gerrit/18627
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: mac80211: flush to get the tx status of nullfunc frame immediately
Rajkumar Manoharan [Thu, 8 Mar 2012 01:35:47 +0000 (07:05 +0530)]
UPSTREAM: mac80211: flush to get the tx status of nullfunc frame immediately

Sometimes the probe frame (nullfunc) is stuck at the hw queue. so that
the mac80211 terminates the connection as it wont see the tx status.
Instead of waiting for long period for ack status, lets call flush
to get nullfunc status immediately. It also helps to send the nullfunc
till max tries reached.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:4886
TEST=Torture testing Azimuth with hidden nodes; manual over-the-air
testing.
Signed-off-by: Paul Stewart <pstew@google.com>
Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17985
(cherry picked from commit 23f1f5f0970176ef2bb11964daee7236a218707a)

Change-Id: Iceb8f2251dd61853b78141dcd2182a2ff7c0081a
Reviewed-on: https://gerrit.chromium.org/gerrit/18632
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: syncup latest ini from system team
Rajkumar Manoharan [Wed, 21 Mar 2012 04:31:00 +0000 (10:01 +0530)]
UPSTREAM: ath9k: syncup latest ini from system team

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:4886
TEST=Torture testing Azimuth with hidden nodes; manual over-the-air testing.

Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17987
Signed-off-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit dbf19b8bd29052807486297dc1a83e99306f2443)

Change-Id: I1c245cf3afc26ecd8ce02d1521f43f31aaa2d110
Reviewed-on: https://gerrit.chromium.org/gerrit/18630
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoUPSTREAM: ath9k: cleanup rx stuck detection logic
Paul Stewart [Thu, 10 May 2012 00:25:29 +0000 (00:25 +0000)]
UPSTREAM: ath9k: cleanup rx stuck detection logic

In the following scenario, where the distance b/w STA and AP is ~10m
or in a shield environment by placing an attenuator with reduced AP
txpower, the station started reporting with beacon loss and got
disconnected whenever the chariot endpoint was initiated with BiDi
traffic. In such state, two different stuck cases were observed.

  * rx clear is stuck at low for more than 100ms
  * dcu chain and complete state is stuck.

This patch triggers stuck detection if three consecutive beacons are
missed. If any of the above conditions matches, it triggers a chip
reset to recover. This issue was originally reported in 3.0 kernel with
AR9382 chip by having two stations associated with two different APs in
the same channel and was attenuated/controlled by Azimuth ADEPT-n box.

Cc: Paul Stewart <pstew@google.com>
Cc: Gary Morain <gmorain@google.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:4886
TEST=Torture testing Azimuth with hidden nodes; manual over-the-air
testing.

Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17986
Signed-off-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit f831f081912a9abe0a8756549c5ae41dc5630918)

Change-Id: I03b0b45444ab8848196e7a99f0a1372204e1688a
Reviewed-on: https://gerrit.chromium.org/gerrit/18629
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoath9k_hw: improve ANI processing and rx desensitizing parameters
Paul Stewart [Thu, 10 May 2012 00:15:43 +0000 (00:15 +0000)]
ath9k_hw: improve ANI processing and rx desensitizing parameters

This patch improves ANI operations by switching among the immunity
levels based on PHY errors and beacon rssi which will adjust receiver
desensitizing parameters. The changes are

* Configure the Weak Signal Detection based on current immunity value.
* At highest OFDM immunity level poor performance was observed with
  strong interference. By tuning the FIR step and spur immunity levels
  and not changing any weak signal detection thresholds at any level
  helped to improve the performance.
* ANI took long time to recover back to lower immunity levels on heavy
  data load. As the listen time got reset to zero before reaching to
  the 5x of aniperiod, the immunity level is not lowering back even
  without any interference. This patch fix that.

Cc: Paul Stewart <pstew@google.com>
Cc: Susinder Gulasekaran <susinder@qca.qualcomm.com>
Signed-off-by: Suresh Chandrasekaran <csuresh@qca.qualcomm.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:4886
TEST=Torture testing Azimuth with hidden nodes; manual over-the-air
testing.
Originally-Reviewed-on: https://gerrit.chromium.org/gerrit/17978
Signed-off-by: Paul Stewart <pstew@google.com>
Change-Id: I0cc406de061bcea11065abcddec894b2087c524f
Reviewed-on: https://gerrit.chromium.org/gerrit/18628
Reviewed-by: Gary Morain <gmorain@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
12 years agoFIXUP: added missing ath9k_debugfs_open()
Grant Grundler [Tue, 24 Apr 2012 17:44:04 +0000 (17:44 +0000)]
FIXUP: added missing ath9k_debugfs_open()

Need to track down where this got dropped. Either a patch is missing or
automerge "lost" it by accident.

Change-Id: I09e41f2741d369e668326441c82184e2b19ea91c
Signed-off-by: Grant Grundler <grundler@chromium.org>
12 years agoHACK: Grant needs to explain what this is
Olof Johansson [Fri, 9 Mar 2012 07:53:15 +0000 (23:53 -0800)]
HACK: Grant needs to explain what this is

This is an edit that Grant had checked in as a merge commit:

    Merge branch 'chromeos-misc-3.2' into chromeos-3.2

    Conflicts:
        drivers/net/wireless/ath/ath9k/init.c
        drivers/net/wireless/ath/ath9k/main.c

    Change-Id: I831d4ffe56936e2c510e5904ec0d5d4dda08853e

But I can't find the history for this change anywhere else than inside
that merge.

So, I have no idea what it's about. But to keep the trees common, I'll
add it here.

Change-Id: I9bc3cdcd5acf6185d519b39549780189362e8c78
Signed-off-by: Olof Johansson <olofj@chromium.org>
12 years agoCHROMIUMOS: mac80211: Filter duplicate IE ids
Paul Stewart [Wed, 7 Mar 2012 05:02:11 +0000 (21:02 -0800)]
CHROMIUMOS: mac80211: Filter duplicate IE ids

mac80211 is lenient with respect to reception of corrupted beacons.
Even if the frame is corrupted as a whole, the available IE elements
are still passed back and accepted, sometimes replacing legitimate
data.  It is unknown to what extent this "feature" is made use of,
but it is clear that in some cases, this is detrimental.  One such
case is reported in http://crosbug.com/26832 where an AP corrupts
its beacons but not its probe responses.

One approach would be to completely reject frames with invaid data
(for example, if the last tag extends beyond the end of the enclosing
PDU).  The enclosed approach is much more conservative: we simply
prevent later IEs from overwriting the state from previous ones.
This approach hopes that there might be some salient data in the
IE stream before the corruption, and seeks to at least prevent that
data from being overwritten.  This approach will fix the case above.

Further, we flag element structures that contain data we think might
be corrupted, so that as we fill the mac80211 BSS structure, we try
not to replace data from an un-corrupted probe response with that
of a corrupted beacon, for example.

Short of any statistics gathering in the various forms of AP breakage,
it's not possible to ascertain the side effects of more stringent
discarding of data.

BUG=chromium-os:26832
TEST=Rerun and ensure association is unhindered for non-broken APs.
[chromeos-3.2 compile only]

Change-Id: I79742107a935590ec29e2c049b4658d36133ec55
Signed-off-by: Paul Stewart <pstew@chromium.org>
[REBASE-3.3: put parse_error into existing struct]

12 years agoCHROMUMOS: ath9k: detect rx stuck by cycle counters
Paul Stewart [Thu, 8 Mar 2012 01:21:32 +0000 (01:21 +0000)]
CHROMUMOS: ath9k: detect rx stuck by cycle counters

And recover chip from the rx stuck.

This is a workaround from Atheros for a receive hang in their part.
It uses various status monitoring to detect that the receiver has
failed, and resets the chip.  There is activity still afoot to find
the root cause to this problem, and this change is only meant to
alleviate the immediate problem, since throughput still suffers
before the part enters this state.

Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chrome-os-partner:4886
TEST=Manual: Bench-top re-enactment of congested environment + in-field
testing with client machines

Change-Id: I7acfe51ca56195cf8f201446580dee9ae9804bac
Reviewed-on: https://gerrit.chromium.org/gerrit/15861
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>

12 years agoCHROMIUMOS: Move ath recv hang messages behind a flag
Paul Stewart [Sat, 18 Feb 2012 20:53:05 +0000 (12:53 -0800)]
CHROMIUMOS: Move ath recv hang messages behind a flag

Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=None
TEST=Load kernel

Change-Id: Icf8b75f710c30cbd2554693fcd52c8cbdce915bd
Reviewed-on: https://gerrit.chromium.org/gerrit/16219
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>

[ Rebase-3.3: s/ATH_DBG_RX_STUCK/RX_STUCK when used by ath_dbg() macro
-ggg ]

12 years agoCHROMIUMOS: mac80211: Set beacon loss detection parameters to be more lenient
Paul Stewart [Fri, 10 Feb 2012 22:04:28 +0000 (14:04 -0800)]
CHROMIUMOS: mac80211: Set beacon loss detection parameters to be more lenient

This is a workaround to reduce the impact of bug 4886 while we
attempt to get a proper fix in.  This will allow us to cling to
the AP a bit longer while the receiver is stuck.

Signed-off-by: Paul Stewart <pstew@chromium.org>
BUG=chrome-os-partner:4886
TEST=TEST=Manual: Bench-top re-enactment of congested environment +
in-field testing with client machines

Change-Id: I92d5f405287787ee75a78644de36c33b53685a10
Reviewed-on: https://gerrit.chromium.org/gerrit/15862
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>

12 years agoUPSTREAM: ath9k: Dump eeprom target power values
Rajkumar Manoharan [Thu, 17 Nov 2011 10:37:25 +0000 (16:07 +0530)]
UPSTREAM: ath9k: Dump eeprom target power values

This patch dumps all eeprom target power values and
tx power for each values written in BB register.

Debugfs file location:
    <debugfs_mnt>/ieee80211/phy#/ath9k/dump_eep_power

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
BUG=chrome-os-partner:7103
TEST=cat dump_eep_power

Change-Id: I81fcff12370cb21cb2be6c67817cab130e0a81a1
Reviewed-on: https://gerrit.chromium.org/gerrit/12563
Commit-Ready: Sam Leffler <sleffler@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Tested-by: Sam Leffler <sleffler@chromium.org>