]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoiwlwifi: use meaningful vars in _iwl_poll_bit()
Wu, Fengguang [Wed, 17 Dec 2008 08:52:32 +0000 (16:52 +0800)]
iwlwifi: use meaningful vars in _iwl_poll_bit()

Rename vars in _iwl_poll_bit() to better reflect the truth.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: remove useless goto
Wu Fengguang [Wed, 17 Dec 2008 08:52:31 +0000 (16:52 +0800)]
iwlwifi: remove useless goto

The patch removes some useless goto in code cleanup.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: use type uint for module param debug
Wu, Fengguang [Wed, 17 Dec 2008 08:52:30 +0000 (16:52 +0800)]
iwlwifi: use type uint for module param debug

This enables one to change the debug level at bit 31.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: update comments on the debug interface
Wu, Fengguang [Wed, 17 Dec 2008 08:52:29 +0000 (16:52 +0800)]
iwlwifi: update comments on the debug interface

Bring up-to-date some comments on the location of debug files.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Acked-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: add line feed to printk
Wu, Fengguang [Wed, 17 Dec 2008 08:52:28 +0000 (16:52 +0800)]
iwlwifi: add line feed to printk

This adds line feed to printk.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: cleanup iwl-dev.h
Winkler, Tomas [Wed, 17 Dec 2008 08:52:27 +0000 (16:52 +0800)]
iwlwifi: cleanup iwl-dev.h

The patch removes unused definition and moves code to proper places.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: fix a typo in ieee80211_send_assoc() method.
Rami Rosen [Tue, 16 Dec 2008 20:38:29 +0000 (22:38 +0200)]
mac80211: fix a typo in ieee80211_send_assoc() method.

This patch fixes a typo in ieee80211_send_assoc(), net/mac80211/mlme.c.

The error is usage of a wrong member when building
the ie80211 management frame (it should be assoc_req, and not reassoc_req).

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlwifi: remove a parameter (dest) from *_fill_beacon_frame() methods.
Rami Rosen [Tue, 16 Dec 2008 07:37:07 +0000 (09:37 +0200)]
iwlwifi: remove a parameter (dest) from *_fill_beacon_frame() methods.

This patch removes a parameter (dest) from iwl_fill_beacon_frame() (iwl-agn.c)
 and from iwl3945_fill_beacon_frame(). (iwl-3945.c,iwl-3945.h)

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Move rate control alg register/unregister to appropriate place
Vasanthakumar Thiagarajan [Tue, 16 Dec 2008 07:07:38 +0000 (12:37 +0530)]
ath9k: Move rate control alg register/unregister to appropriate place

This patch makes sure the rate control alg is registered/unregistered
only once for this module.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Synchronize DMA transfer with CPU at right place
Vasanthakumar Thiagarajan [Mon, 15 Dec 2008 15:10:46 +0000 (20:40 +0530)]
ath9k: Synchronize DMA transfer with CPU at right place

This patch does pci_dma_sync_single_for_cpu() before accessing
the header of the frame and queueing the same buffer into h/w.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Remove MAC header pad before reporting TX status
Jouni Malinen [Mon, 15 Dec 2008 14:02:04 +0000 (16:02 +0200)]
ath9k: Remove MAC header pad before reporting TX status

Remove the possible MAC header pad before reporting TX status to
mac80211. This pad is hardware specific operation and should not be
exposed outside the driver. This fixes the frame body in monitor
interfaces that could be used to check on TX status for transmitted
frames.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Fix TX status reporting for retries and MCS index
Jouni Malinen [Mon, 15 Dec 2008 13:44:53 +0000 (15:44 +0200)]
ath9k: Fix TX status reporting for retries and MCS index

The count field in struct ieee80211_tx_rate does not include the final
successful attempt, so only report retries here.

Fix the struct ieee80211_tx_rate::idx field when MCS was used. It is
supposed to be the MCS index, not an internal index to the rate
control algorithm table.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: Remove radiotap rate-present flag for HT
Jouni Malinen [Mon, 15 Dec 2008 08:37:50 +0000 (10:37 +0200)]
mac80211: Remove radiotap rate-present flag for HT

Since we do not currently report HT rates (MCS index) in radiotap
header for HT rates, we should not claim the rate is present. The rate
octet itself is used as padding in this case, so only the it_present
flag needs to be removed in case of HT rates.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agortl8187: Fix crash on unload when using SLUB debug
Herton Ronaldo Krzesinski [Sun, 14 Dec 2008 18:18:09 +0000 (12:18 -0600)]
rtl8187: Fix crash on unload when using SLUB debug

Reported-by: Hin-Tak Leung <htl10@users.sourceforge.net>
After the code was modified to use urb anchors ("rtl8187: Use usb anchor
facilities to manage urbs"), rtl8187 began generating an intermittent GPF
on shutdown when using SLUB with debugging enabled. Furthermore, rebooting
the system with a ping running caused a GPF every time. There are two problems:
(1) incorrect locking in the rtl8187_rx_cb() routine, a pre-existing bug that
apparently had not been triggered before, and (2) duplicate freeing of receive
skbs that was probably introduced with the change to anchors.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: remove free_on_tx parameter
Christian Lamparter [Sun, 14 Dec 2008 14:05:42 +0000 (15:05 +0100)]
p54: remove free_on_tx parameter

This patch simplifies the tx code a bit and will be necessary for
the upcoming stlc45xx<->p54 port.

In detail: we no longer have to tell all back-end drivers directly,
if we want to free a frame right after it was send to the firmware,
or if we do it in the library callback later.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: more accurate rssi to dBm conversion
Christian Lamparter [Sun, 14 Dec 2008 13:45:30 +0000 (14:45 +0100)]
p54: more accurate rssi to dBm conversion

This patch replaces the static rssi auto calibration data
with more precise values out of the device's eeprom.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agortl8187: Fix error returns
Larry Finger [Sun, 14 Dec 2008 00:09:56 +0000 (18:09 -0600)]
rtl8187: Fix error returns

There are two places in the rtl8187 code where a routine was returning zero
(OK) when it should have been returning an error.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agolibertas: use roundup instead of opencoding
Ilpo Järvinen [Sat, 13 Dec 2008 19:33:13 +0000 (21:33 +0200)]
libertas: use roundup instead of opencoding

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: update ACK failure statistic counter in real-time
Christian Lamparter [Sat, 13 Dec 2008 15:45:38 +0000 (16:45 +0100)]
p54: update ACK failure statistic counter in real-time

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agop54: move statistic timer update routine into a workqueue
Christian Lamparter [Sat, 13 Dec 2008 13:14:20 +0000 (14:14 +0100)]
p54: move statistic timer update routine into a workqueue

This patch moves a good chunk of code from the former statistic update
timer routine into a workqueue, which is kindly provided by mac80211.

Also as a nice side-effect we can lay the foundation for other
essential housekeeping features we want to do in the future.
e.g:
 - drain the (clogged) tx_queue.
 - initiate bursts.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoiwlagn: fix agn rate scaling
Mohamed Abbas [Fri, 12 Dec 2008 16:22:15 +0000 (08:22 -0800)]
iwlagn: fix agn rate scaling

    Rate scaling in agn can be broken because of these two problems
    1- the LQ command could not sent, we try to call LQ command before
       post association will be rejected, this will cause the driver to
       break in rs_tx_status reporting initial rate does not match.
    2- In rs_rate_init we can get a value of 12, rate 60, for
       last_txrate_idx, this rate only valid in SISO/MIMO mode only

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: Send Layer 2 Update frame on reassociation
Jouni Malinen [Fri, 12 Dec 2008 15:08:31 +0000 (17:08 +0200)]
mac80211: Send Layer 2 Update frame on reassociation

When a STA roams back to the same AP before the previous STA entry has
expired, a new STA entry is not added in mac80211. However, a Layer 2
Update frame still needs to be transmitted to update layer 2 devices
about the new location for the STA. Without this, switches may
continue to forward frames to the previous (now incorrect) port when
STA roams between APs.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath5k: fix 802.11 header padding on RX, unpadding on TX
Benoit PAPILLAULT [Fri, 12 Dec 2008 14:29:58 +0000 (15:29 +0100)]
ath5k: fix 802.11 header padding on RX, unpadding on TX

Padding the 802.11 header to a multiple of 4 bytes needs to be done only for
frames with a body. This fixes a bug where 2 bytes were missing in monitor
mode for ACK frames. Inspired by a patch from Jouni Malinen on ath9k.

Ref: http://bugzilla.kernel.org/show_bug.cgi?id=12101 :
Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Report HT rates in RX status
Jouni Malinen [Fri, 12 Dec 2008 12:38:34 +0000 (14:38 +0200)]
ath9k: Report HT rates in RX status

Fix and clean up the RX status reporting by getting rid of code that
used internal rate tables and ratekbps calculation. The correct value
is now reported with MCS index instead of the old mechanism that
defaulted to using the highest legacy rate.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: Add HT rates into RX status reporting
Jouni Malinen [Fri, 12 Dec 2008 12:38:33 +0000 (14:38 +0200)]
mac80211: Add HT rates into RX status reporting

This patch adds option for HT-enabled drivers to report HT rates
(HT20/HT40, short GI, MCS index) to mac80211. These rates are
currently not in the rate table, so the rate_idx is used to indicate
MCS index.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoath9k: Do not use association state to update rate table
Sujith [Fri, 12 Dec 2008 06:29:07 +0000 (11:59 +0530)]
ath9k: Do not use association state to update rate table

Now that HT information is made available to the driver through
config() callback, the channel type can be calculated whenever
setting the channel. Update the rate table accordingly with the new
channel type.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agomac80211: Fix HT channel selection
Sujith [Fri, 12 Dec 2008 06:27:43 +0000 (11:57 +0530)]
mac80211: Fix HT channel selection

HT management is done differently for AP and STA modes, unify
to just the ->config() callback since HT is fundamentally a
PHY property and cannot be per-BSS.

Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote
the channel type ( NO_HT, HT20, HT40+, HT40- ).

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agonl80211: Add signal strength and bandwith to nl80211station info
Henning Rogge [Thu, 11 Dec 2008 21:04:19 +0000 (22:04 +0100)]
nl80211: Add signal strength and bandwith to nl80211station info

This patch adds signal strength and transmission bitrate
to the station_info of nl80211.

Signed-off-by: Henning Rogge <rogge@fgan.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoMerge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel
Russell King [Fri, 19 Dec 2008 19:46:52 +0000 (19:46 +0000)]
Merge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Fri, 19 Dec 2008 19:37:23 +0000 (11:37 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] mpt fusion: clear list of outstanding commands on host reset
  [SCSI] scsi_lib: only call scsi_unprep_request() under queue lock
  [SCSI] ibmvstgt: move crq_queue_create to the end of initialization
  [SCSI] libiscsi REGRESSION: fix passthrough support with older iscsi tools
  [SCSI] aacraid: disable Dell Percraid quirk on Adaptec 2200S and 2120S

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Fri, 19 Dec 2008 19:37:07 +0000 (11:37 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: Fix a Oops bug in omap soc driver.
  ALSA: hda - Remove non-working headphone control for Dell laptops
  ALSA: hda - Add no-jd model for IDT 92HD73xx
  ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
  ALSA: hda - Add quirk for Dell Studio 17
  ALSA: hda - Fix silent HP output on D975

17 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Fri, 19 Dec 2008 19:36:49 +0000 (11:36 -0800)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  cciss: fix problem that deleting multiple logical drives could cause a panic

17 years agoMerge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Fri, 19 Dec 2008 19:36:04 +0000 (11:36 -0800)]
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm/i915: GEM on PAE has problems - disable it for now.
  drm/i915: Don't return busy for buffers left on the flushing list.

17 years agoMerge branch 'for-linus' of git://neil.brown.name/md
Linus Torvalds [Fri, 19 Dec 2008 19:34:36 +0000 (11:34 -0800)]
Merge branch 'for-linus' of git://neil.brown.name/md

* 'for-linus' of git://neil.brown.name/md:
  md: Don't read past end of bitmap when reading bitmap.

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Fri, 19 Dec 2008 19:33:10 +0000 (11:33 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI hotplug: ibmphp: Fix module ref count underflow
  PCI hotplug: acpiphp wants a 64-bit _SUN
  PCI: pciehp: fix unexpected power off with pciehp_force
  PCI: fix aer resume sanity check

17 years agokernel-doc: check for extra kernel-doc notations
Randy Dunlap [Fri, 19 Dec 2008 16:49:30 +0000 (08:49 -0800)]
kernel-doc: check for extra kernel-doc notations

Add functionality to check for function parameters or structure (or
union/typedef/enum) field members that are described in kernel-doc but
are not part of the expected (declared) parameters or structure.
These generate warnings that are called "Excess" descriptions.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
17 years ago[MTD] fix m25p80 64-bit divisions
Artem Bityutskiy [Thu, 18 Dec 2008 12:10:05 +0000 (14:10 +0200)]
[MTD] fix m25p80 64-bit divisions

MTD has recently been upgraded for 64-bit support, see commit
number 69423d99fc182a81f3c5db3eb5c140acc6fc64be in the
mtd-2.6.git tree (git://git.infradead.org/mtd-2.6.git)
or see this URL:
http://git.infradead.org/mtd-2.6.git?a=commit;h=69423d99fc182a81f3c5db3eb5c140acc6fc64be

Some variables in MTD data structures which were 32-bit
became 64-bit. Namely, the 'size' field in 'struct mtd_info'
and the 'addr'/'len' fields in 'struct erase_info'. This
means we have to use 'do_div' to divide them.

This patch fixes the following linking error:
ERROR: "__umoddi3" [drivers/mtd/devices/m25p80.ko] undefined!

This patch changes divisions of 64-bit variable so that they use
'do_div'. This patch also change some print placeholders to
get rid of gcc warnings.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years ago[MTD] fix dataflash 64-bit divisions
Artem Bityutskiy [Thu, 18 Dec 2008 12:09:56 +0000 (14:09 +0200)]
[MTD] fix dataflash 64-bit divisions

MTD has recently been upgraded for 64-bit support, see commit
number 69423d99fc182a81f3c5db3eb5c140acc6fc64be in the
mtd-2.6.git tree (git://git.infradead.org/mtd-2.6.git)
or see this URL:
http://git.infradead.org/mtd-2.6.git?a=commit;h=69423d99fc182a81f3c5db3eb5c140acc6fc64be

Some variables in MTD data structures which were 32-bit
became 64-bit. Namely, the 'size' field in 'struct mtd_info'
and the 'addr'/'len' fields in 'struct erase_info'. This
means we have to use 'do_div' to divide them.

This patch fixes the following linking error:
ERROR: "__udivdi3" [drivers/mtd/devices/mtd_dataflash.ko] undefined!
ERROR: "__umoddi3" [drivers/mtd/devices/mtd_dataflash.ko] undefined!

This patch changes divisions of 64-bit variable so that they use
'do_div'. This patch also change some print placeholders to
get rid of gcc warnings.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
17 years agoBtrfs: set EXTENT_BOUNDARY bit before marking extent delalloc.
Yan Zheng [Fri, 19 Dec 2008 15:59:04 +0000 (10:59 -0500)]
Btrfs: set EXTENT_BOUNDARY bit before marking extent delalloc.

There is a race in relocate_inode_pages, it happens when
find_delalloc_range finds the delalloc extent before the
boundary bit is set. Thank you,

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: properly update block accounting for metadata
Yan Zheng [Fri, 19 Dec 2008 15:58:46 +0000 (10:58 -0500)]
Btrfs: properly update block accounting for metadata

This adds the missing block accounting code to finish_current_insert and makes
block accounting for root item properly protected by the delalloc spin lock.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: Add missing mnt_drop_write in ioctl.c
Yan Zheng [Fri, 19 Dec 2008 15:58:39 +0000 (10:58 -0500)]
Btrfs: Add missing mnt_drop_write in ioctl.c

This patch adds the missing mnt_drop_write to match
mnt_want_write in btrfs_ioctl_defrag and btrfs_ioctl_clone

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoALSA: hda - Power up always when no jack detection is available
Takashi Iwai [Fri, 19 Dec 2008 15:39:48 +0000 (16:39 +0100)]
ALSA: hda - Power up always when no jack detection is available

When no jack detection is available, the pins should be always
turned on since it can't be turned on/off dynamically via unsol
events.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoftrace: introduce tracing_reset_online_cpus() helper
Pekka J Enberg [Fri, 19 Dec 2008 10:08:39 +0000 (12:08 +0200)]
ftrace: introduce tracing_reset_online_cpus() helper

Impact: cleanup

This patch factors out common code from multiple tracers into a
tracing_reset_online_cpus() function and converts the tracers to use it.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoALSA: hda - Fix unused variable warnings in patch_sigmatel.c
Takashi Iwai [Fri, 19 Dec 2008 14:59:40 +0000 (15:59 +0100)]
ALSA: hda - Fix unused variable warnings in patch_sigmatel.c

Fixed "unused varible" warnings in patch_sigmatel.c that have been
introduced by the last changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/hda-stac-fix' into topic/hda
Takashi Iwai [Fri, 19 Dec 2008 14:43:24 +0000 (15:43 +0100)]
Merge branch 'topic/hda-stac-fix' into topic/hda

17 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Fri, 19 Dec 2008 14:37:12 +0000 (15:37 +0100)]
Merge branch 'fix/asoc' into for-linus

17 years agoMerge branch 'fix/asoc' into topic/asoc
Takashi Iwai [Fri, 19 Dec 2008 14:36:58 +0000 (15:36 +0100)]
Merge branch 'fix/asoc' into topic/asoc

17 years agoALSA: Fix a Oops bug in omap soc driver.
Stanley Miao [Fri, 19 Dec 2008 14:08:22 +0000 (22:08 +0800)]
ALSA: Fix a Oops bug in omap soc driver.

There will be a Oops or frequent underrun messages when playing music with
omap soc driver, this is because a data region is incorretly sized, other data
region will be overwriten when writing to this data region.

Signed-off-by: Stanley Miao <stanley.miao@windriver.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add probe_only option
Takashi Iwai [Fri, 19 Dec 2008 14:19:11 +0000 (15:19 +0100)]
ALSA: hda - Add probe_only option

Added probe_only module option to hd-audio driver.
This option specifies whether the driver creates and initializes the
codec-parser after probing.  When this option is set, the driver skips
the codec parsing and initialization but gives you proc and other
accesses.  It's useful to see the initial codec state for debugging.

The default of this value is off, so the default behavior is as same
as before.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Use more distinct name for a unique volume in STAC/IDT
Takashi Iwai [Fri, 19 Dec 2008 09:09:47 +0000 (10:09 +0100)]
ALSA: hda - Use more distinct name for a unique volume in STAC/IDT

When the line_out has only one DAC and it's unique (i.e. not shared
by other outputs), assign a more reasonable and distinct mixer name
such as "Headphone" or "Speaker".

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Rework on STAC/IDT auto-configuration code
Takashi Iwai [Fri, 19 Dec 2008 08:26:08 +0000 (09:26 +0100)]
ALSA: hda - Rework on STAC/IDT auto-configuration code

The current auto-configuration code has several problems especially
for the new IDT codecs, e.g. wrong assignment of pins and DACs or
coupled volume for speaker and headphone.

This patch is a fairly large rewrite of the auto-configuration code.
Some remaks

- mic_switch and line_switch contain NIDs instead of bool
- dac_list isn't fixed for IDT 92HD* codecs now, they are all probed
- extra HP and speakers are stored in extra_dacs[].

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 19 Dec 2008 13:24:13 +0000 (14:24 +0100)]
Merge branch 'fix/hda' into topic/hda

17 years agoALSA: hda - Remove non-working headphone control for Dell laptops
Takashi Iwai [Fri, 19 Dec 2008 13:02:32 +0000 (14:02 +0100)]
ALSA: hda - Remove non-working headphone control for Dell laptops

The previous commit re-enabled hp_nid setup for IDT92HD73*, but
it's unneeded indeed for Dell laptops that have multiple headphones.
Setting the extra hp_nid results in a non-working "Headpohne" mixer
control.  Thus hp_nid should be 0 for these dell models.

Also, the automatic addition of hp_nid should check whether it's
a dual-HP model or not.  For dual-HPs, the pins are already checked
by the early workaround.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: ca0106 - Fix typo in resume code
Takashi Iwai [Fri, 19 Dec 2008 12:55:17 +0000 (13:55 +0100)]
ALSA: ca0106 - Fix typo in resume code

The register and channel_id pair were twisted in the pm code...
Oh my.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoomap mailbox: remove unnecessary header file inclusion
Hiroshi DOYU [Mon, 24 Nov 2008 23:13:48 +0000 (01:13 +0200)]
omap mailbox: remove unnecessary header file inclusion

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: convert sequence bit checking to module paramter
Hiroshi DOYU [Mon, 24 Nov 2008 23:06:34 +0000 (01:06 +0200)]
omap mailbox: convert sequence bit checking to module paramter

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: move mailbox.h into mailbox.c
Hiroshi DOYU [Mon, 24 Nov 2008 22:50:39 +0000 (00:50 +0200)]
omap mailbox: move mailbox.h into mailbox.c

no need to keep mailbox.h separately.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: add save_/restore_ctx() for PM
Hiroshi DOYU [Mon, 24 Nov 2008 22:48:12 +0000 (00:48 +0200)]
omap mailbox: add save_/restore_ctx() for PM

To preserve the registers during off-mode

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: fix empty struct device for omap2
Hiroshi DOYU [Mon, 24 Nov 2008 21:16:57 +0000 (23:16 +0200)]
omap mailbox: fix empty struct device for omap2

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: fix empty struct device for omap1
Hiroshi DOYU [Mon, 24 Nov 2008 21:16:46 +0000 (23:16 +0200)]
omap mailbox: fix empty struct device for omap1

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: fix empty struct device for omap_mbox
Hiroshi DOYU [Mon, 24 Nov 2008 21:57:10 +0000 (23:57 +0200)]
omap mailbox: fix empty struct device for omap_mbox

Since "mbox->dev" doesn't exist and isn't created either at
registration, this patch will create "struct device", which belongs to
"omap-mailbox" class and set this pointer for the member of
"struct omap_mbox".

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: print hardware revision at startup
Hiroshi DOYU [Sat, 22 Nov 2008 00:28:37 +0000 (02:28 +0200)]
omap mailbox: print hardware revision at startup

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: add initial omap3 support
Hiroshi DOYU [Sat, 22 Nov 2008 00:28:36 +0000 (02:28 +0200)]
omap mailbox: add initial omap3 support

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoomap mailbox: cleanup omap2 register definition with macro
Hiroshi DOYU [Sat, 22 Nov 2008 00:28:35 +0000 (02:28 +0200)]
omap mailbox: cleanup omap2 register definition with macro

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
17 years agoALSA: hda - Fix HD-Audio.txt reference of model list
Takashi Iwai [Fri, 19 Dec 2008 11:44:46 +0000 (12:44 +0100)]
ALSA: hda - Fix HD-Audio.txt reference of model list

The model list is now in HD-Audio-Models.txt.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: ca0106 - Add IEC958 PCM Stream controls
Takashi Iwai [Fri, 19 Dec 2008 11:13:18 +0000 (12:13 +0100)]
ALSA: ca0106 - Add IEC958 PCM Stream controls

Added "IEC958 PCM Stream" controls for the per-stream IEC958 status
bits.  Using this instead of "IEC958 Default" is safer since the status
bits will be recovered to the default states after closing the PCM
stream.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: ca0106 - Don't override the values at resume
Takashi Iwai [Fri, 19 Dec 2008 11:04:06 +0000 (12:04 +0100)]
ALSA: ca0106 - Don't override the values at resume

Don't override some values in ca0106_init_chip() at resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoACPI: move wmi, asus_acpi, toshiba_acpi to drivers/platform/x86
Len Brown [Thu, 11 Dec 2008 19:37:26 +0000 (14:37 -0500)]
ACPI: move wmi, asus_acpi, toshiba_acpi to drivers/platform/x86

These are platform specific drivers that happen to use ACPI,
while drivers/acpi/ is for code that implements ACPI itself.

Signed-off-by: Len Brown <len.brown@intel.com>
17 years agocreate drivers/platform/x86/ from drivers/misc/
Len Brown [Mon, 1 Dec 2008 05:09:47 +0000 (00:09 -0500)]
create drivers/platform/x86/ from drivers/misc/

Move x86 platform specific drivers from drivers/misc/
to a new home under drivers/platform/x86/.

The community has been maintaining x86 vendor-specific
platform specific drivers under /drivers/misc/ for a few years.
The oldest ones started life under drivers/acpi.
They moved out of drivers/acpi/ because they don't actually
implement the ACPI specification, but either simply
use ACPI, or implement vendor-specific ACPI extensions.

In the future we anticipate...
drivers/misc/ will go away.
other architectures will create drivers/platform/<arch>

Signed-off-by: Len Brown <len.brown@intel.com>
17 years agodrivers/misc/Makefile, Kconfig: cleanup
Len Brown [Mon, 1 Dec 2008 04:59:07 +0000 (23:59 -0500)]
drivers/misc/Makefile, Kconfig: cleanup

tabs->space and delete unnecessary dummy build-in.o rule.

Suggested-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoHibernate: Replace unnecessary evaluation of pfn_to_page()
Rafael J. Wysocki [Sun, 7 Dec 2008 23:52:49 +0000 (00:52 +0100)]
Hibernate: Replace unnecessary evaluation of pfn_to_page()

Replace one evaluation of pfn_to_page() in copy_data_pages() with
the value of a local variable containing the right number already.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoHibernate: Take overlapping zones into account (rev. 2)
Rafael J. Wysocki [Wed, 26 Nov 2008 23:00:24 +0000 (18:00 -0500)]
Hibernate: Take overlapping zones into account (rev. 2)

It has been requested to make hibernation work with memory
hotplugging enabled and for this purpose the hibernation code has to
be reworked to take the possible overlapping of zones into account.
Thus, rework the hibernation memory bitmaps code to prevent
duplication of PFNs from occuring and add checks to make sure that
one page frame will not be marked as saveable many times.

Additionally, use list.h lists instead of open-coded lists to
implement the memory bitmaps.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoHibernate: Do not oops on resume if image data are incorrect
Rafael J. Wysocki [Tue, 11 Nov 2008 20:32:44 +0000 (21:32 +0100)]
Hibernate: Do not oops on resume if image data are incorrect

During resume from hibernation using the userland interface image
data are being passed from the used space process to the kernel.
These data need not be valid, but currently the kernel sometimes
oopses if it gets invalid image data, which is wrong.  Make the
kernel return error codes to the user space in such cases.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs
Rafael J. Wysocki [Sun, 26 Oct 2008 19:56:30 +0000 (20:56 +0100)]
ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs

On some machines it may be necessary to disable the saving/restoring
of the ACPI NVS memory region during hibernation/resume.  For this
purpose, introduce new ACPI kernel command line option
acpi_sleep=s4_nonvs.

Based on a patch by Zhang Rui.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@tuxonice.net>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agox86 hibernate: Mark ACPI NVS memory region at startup
Rafael J. Wysocki [Fri, 31 Oct 2008 00:02:41 +0000 (01:02 +0100)]
x86 hibernate: Mark ACPI NVS memory region at startup

Introduce new initcall for marking the ACPI NVS memory at startup, so
that it can be saved/restored during hibernation/resume.

Based on a patch by Zhang Rui.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoACPI hibernate: Add a mechanism to save/restore ACPI NVS memory
Rafael J. Wysocki [Sun, 26 Oct 2008 19:52:15 +0000 (20:52 +0100)]
ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory

According to the ACPI Specification 3.0b, Section 15.3.2,
"OSPM will call the _PTS control method some time before entering a
sleeping state, to allow the platform's AML code to update this
memory image before entering the sleeping state. After the system
awakes from an S4 state, OSPM will restore this memory area and call
the _WAK control method to enable the BIOS to reclaim its memory
image."  For this reason, implement a mechanism allowing us to save
the NVS memory during hibernation and to restore it during the
subsequent resume.

Based on a patch by Zhang Rui.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Nigel Cunningham <nigel@tuxonice.net>
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoHibernate: Call platform_begin before swsusp_shrink_memory
Zhang Rui [Sun, 26 Oct 2008 19:50:26 +0000 (20:50 +0100)]
Hibernate: Call platform_begin before swsusp_shrink_memory

Call platform_begin() before swsusp_shrink_memory() so that we can
always allocate enough memory to save the ACPI NVS region from
platform_begin().

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Nigel Cunningham <nigel@tuxonice.net>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoACPI: don't cond_resched() when irqs_disabled()
Wu Fengguang [Wed, 26 Nov 2008 06:35:22 +0000 (14:35 +0800)]
ACPI: don't cond_resched() when irqs_disabled()

The ACPI interpreter usually runs with irqs enabled.
However, during suspend/resume it runs with
irqs disabled to evaluate _GTS/_BFS, as well as
by irqrouter_resume() which evaluates _CRS, _PRS, _SRS.

http://bugzilla.kernel.org/show_bug.cgi?id=12252

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoACPI: fix 2.6.28 acpi.debug_level regression
Bjorn Helgaas [Thu, 13 Nov 2008 23:30:13 +0000 (17:30 -0600)]
ACPI: fix 2.6.28 acpi.debug_level regression

acpi_early_init() was changed to over-write the cmdline param,
making it really inconvenient to set debug flags at boot-time.

Also,
This sets the default level to "info", which is what all the ACPI
drivers use.  So to enable messages from drivers, you only have to
supply the "layer" (a.k.a. "component").  For non-"info" ACPI core
and ACPI interpreter messages, you have to supply both level and
layer masks, as before.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
17 years agoALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c
Takashi Iwai [Fri, 19 Dec 2008 09:14:13 +0000 (10:14 +0100)]
ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c

Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add()
so that this mixer element can be tracked for re-configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - Add missing initializations of amp and verb caches
Takashi Iwai [Fri, 19 Dec 2008 09:12:02 +0000 (10:12 +0100)]
ALSA: hda - Add missing initializations of amp and verb caches

The re-initializations of codec amp and verb caches are missing
at reconfig, which may cause Oops occasionally.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into...
Ingo Molnar [Fri, 19 Dec 2008 08:42:40 +0000 (09:42 +0100)]
Merge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into tracing/core

Conflicts:
include/linux/ftrace.h

17 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Fri, 19 Dec 2008 08:39:33 +0000 (10:39 +0200)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

17 years agox86: fix warning in arch/x86/kernel/io_apic.c
Ingo Molnar [Thu, 18 Dec 2008 23:59:09 +0000 (00:59 +0100)]
x86: fix warning in arch/x86/kernel/io_apic.c

this warning:

  arch/x86/kernel/io_apic.c: In function ‘ir_set_msi_irq_affinity’:
  arch/x86/kernel/io_apic.c:3373: warning: ‘cfg’ may be used uninitialized in this function

triggers because the variable was truly uninitialized. We'd crash on
entering this code.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: fix warning in kernel/sched.c
Ingo Molnar [Thu, 18 Dec 2008 23:53:40 +0000 (00:53 +0100)]
sched: fix warning in kernel/sched.c

Impact: fix cpumask conversion bug

this warning:

  kernel/sched.c: In function ‘find_busiest_group’:
  kernel/sched.c:3429: warning: passing argument 1 of ‘__first_cpu’ from incompatible pointer type

shows that we forgot to convert a new patch to the new cpumask APIs.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: move test_sd_parent() to an SMP section of sched.h
Ingo Molnar [Thu, 18 Dec 2008 20:30:23 +0000 (21:30 +0100)]
sched: move test_sd_parent() to an SMP section of sched.h

Impact: build fix

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:47 +0000 (23:26 +0530)]
sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0

Impact: change task balancing to save power more agressively

Add SD_BALANCE_NEWIDLE flag at MC level and CPU level
if sched_mc is set.  This helps power savings and
will not affect performance when sched_mc=0

Ingo and Mike Galbraith have optimised the SD flags by
removing SD_BALANCE_NEWIDLE at MC and CPU level.  This
helps performance but hurts power savings since this
slows down task consolidation by reducing the number
of times load_balance is run.

    sched: fine-tune SD_MC_INIT
        commit 14800984706bf6936bbec5187f736e928be5c218
        Author: Mike Galbraith <efault@gmx.de>
        Date:   Fri Nov 7 15:26:50 2008 +0100

    sched: re-tune balancing -- revert
        commit 9fcd18c9e63e325dbd2b4c726623f760788d5aa8
        Author: Ingo Molnar <mingo@elte.hu>
        Date:   Wed Nov 5 16:52:08 2008 +0100

This patch selectively enables SD_BALANCE_NEWIDLE flag
only when sched_mc is set to 1 or 2.  This helps power savings
by task consolidation and also does not hurt performance at
sched_mc=0 where all power saving optimisations are turned off.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: activate active load balancing in new idle cpus
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:36 +0000 (23:26 +0530)]
sched: activate active load balancing in new idle cpus

Impact: tweak task balancing to save power more agressively

Active load balancing is a process by which migration thread
is woken up on the target CPU in order to pull current
running task on another package into this newly idle
package.

This method is already in use with normal load_balance(),
this patch introduces this method to new idle cpus when
sched_mc is set to POWERSAVINGS_BALANCE_WAKEUP.

This logic provides effective consolidation of short running
daemon jobs in a almost idle system

The side effect of this patch may be ping-ponging of tasks
if the system is moderately utilised. May need to adjust the
iterations before triggering.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: bias task wakeups to preferred semi-idle packages
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:29 +0000 (23:26 +0530)]
sched: bias task wakeups to preferred semi-idle packages

Impact: tweak task wakeup to save power more agressively

Preferred wakeup cpu (from a semi idle package) has been
nominated in find_busiest_group() in the previous patch.  Use
this information in sched_mc_preferred_wakeup_cpu in function
wake_idle() to bias task wakeups if the following conditions
are satisfied:

        - The present cpu that is trying to wakeup the process is
          idle and waking the target process on this cpu will
          potentially wakeup a completely idle package
        - The previous cpu on which the target process ran is
          also idle and hence selecting the previous cpu may
          wakeup a semi idle cpu package
        - The task being woken up is allowed to run in the
          nominated cpu (cpu affinity and restrictions)

Basically if both the current cpu and the previous cpu on
which the task ran is idle, select the nominated cpu from semi
idle cpu package for running the new task that is waking up.

Cache hotness is considered since the actual biasing happens
in wake_idle() only if the application is cache cold.

This technique will effectively move short running bursty jobs in
a mostly idle system.

Wakeup biasing for power savings gets automatically disabled if
system utilisation increases due to the fact that the probability
of finding both this_cpu and prev_cpu idle decreases.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: nominate preferred wakeup cpu
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:22 +0000 (23:26 +0530)]
sched: nominate preferred wakeup cpu

Impact: extend load-balancing code (no change in behavior yet)

When the system utilisation is low and more cpus are idle,
then the process waking up from sleep should prefer to
wakeup an idle cpu from semi-idle cpu package (multi core
package) rather than a completely idle cpu package which
would waste power.

Use the sched_mc balance logic in find_busiest_group() to
nominate a preferred wakeup cpu.

This info can be stored in appropriate sched_domain, but
updating this info in all copies of sched_domain is not
practical.  Hence this information is stored in root_domain
struct which is one copy per partitioned sched domain.
The root_domain can be accessed from each cpu's runqueue
and there is one copy per partitioned sched domain.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: favour lower logical cpu number for sched_mc balance
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:16 +0000 (23:26 +0530)]
sched: favour lower logical cpu number for sched_mc balance

Impact: change load-balancing direction to match that of irqbalanced

Just in case two groups have identical load, prefer to move load to lower
logical cpu number rather than the present logic of moving to higher logical
number.

find_busiest_group() tries to look for a group_leader that has spare capacity
to take more tasks and freeup an appropriate least loaded group.  Just in case
there is a tie and the load is equal, then the group with higher logical number
is favoured.  This conflicts with user space irqbalance daemon that will move
interrupts to lower logical number if the system utilisation is very low.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: framework for sched_mc/smt_power_savings=N
Gautham R Shenoy [Thu, 18 Dec 2008 17:56:09 +0000 (23:26 +0530)]
sched: framework for sched_mc/smt_power_savings=N

Impact: extend range of /sys/devices/system/cpu/sched_mc_power_savings

Currently the sched_mc/smt_power_savings variable is a boolean,
which either enables or disables topology based power savings.
This patch extends the behaviour of the variable from boolean to
multivalued, such that based on the value, we decide how
aggressively do we want to perform powersavings balance at
appropriate sched domain based on topology.

Variable levels of power saving tunable would benefit end user to
match the required level of power savings vs performance
trade-off depending on the system configuration and workloads.

This version makes the sched_mc_power_savings global variable to
take more values (0,1,2).  Later versions can have a single
tunable called sched_power_savings instead of
sched_{mc,smt}_power_savings.

Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: convert BALANCE_FOR_xx_POWER to inline functions
Vaidyanathan Srinivasan [Thu, 18 Dec 2008 17:56:02 +0000 (23:26 +0530)]
sched: convert BALANCE_FOR_xx_POWER to inline functions

Impact: cleanup

BALANCE_FOR_MC_POWER and similar macros defined in sched.h are
not constants and have various condition checks and significant
amount of code that is not suitable to be contain in a macro.
Also there could be side effects on the expressions passed to
some of them like test_sd_parent().

This patch converts all complex macros related to power savings
balance to inline functions.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agofutex: clean up futex_(un)lock_pi fault handling
Darren Hart [Thu, 18 Dec 2008 23:06:34 +0000 (15:06 -0800)]
futex: clean up futex_(un)lock_pi fault handling

Impact: cleanup

Some apparently left over cruft code was complicating the fault logic:

Testing if uval != -EFAULT doesn't have any meaning, get_user() sets ret
to either 0 or -EFAULT, there's no need to compare uval, especially not
against EFAULT which it will never be.  This patch removes the superfluous
test and clarifies the comment blocks.

Build and boot tested on an 8way x86_64 system.

Signed-off-by: Darren Hart <dvhltc@us.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies
Suresh Siddha [Fri, 19 Dec 2008 02:09:21 +0000 (18:09 -0800)]
x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies

Impact: fix wrong cache sharing detection on platforms supporting > 8 bit apicid's

In the presence of extended topology eumeration leaf 0xb provided
by cpuid, 32bit extended initial_apicid in cpuinfo_x86 struct will be
updated by detect_extended_topology(). At this instance, we should also
reinit the apicid (which could also potentially be extended to 32bit).

With out this there will potentially be duplicate apicid's populated in the
per cpu's cpuinfo_x86 struct, resulting in wrong cache sharing topology etc
detected by init_intel_cacheinfo().

Reported-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
17 years agoALSA: split HD-audio model list to HD-Audio-Models.txt
Takashi Iwai [Fri, 19 Dec 2008 07:36:53 +0000 (08:36 +0100)]
ALSA: split HD-audio model list to HD-Audio-Models.txt

Split the list of model option values to a separate file,
HD-Audio-Models.txt, from ALSA-Configuration.txt.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/hda-doc' into topic/hda
Takashi Iwai [Fri, 19 Dec 2008 07:25:46 +0000 (08:25 +0100)]
Merge branch 'topic/hda-doc' into topic/hda

17 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 19 Dec 2008 07:22:57 +0000 (08:22 +0100)]
Merge branch 'fix/hda' into topic/hda

17 years agoALSA: hda - Add no-jd model for IDT 92HD73xx
Takashi Iwai [Wed, 17 Dec 2008 13:51:01 +0000 (14:51 +0100)]
ALSA: hda - Add no-jd model for IDT 92HD73xx

Added the model without the jack-detection for some desktops that
have really no jack-detection.  The recent driver caused regressions
regarding the sound output on such machines.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
Takashi Iwai [Fri, 19 Dec 2008 07:20:38 +0000 (08:20 +0100)]
ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"

This reverts commit 07f455f779acfb3eba4921fd1399761559b10fa9.
    ALSA: hda: removed unneeded hp_nid references

    Removed unneeded hp_nid references for 92hd73xx codec family.

This caused the silent output on some Intel desktops due to missing
routing of widget 0x0a and 0x0d.

Signed-off-by: Takashi Iwai <tiwai@suse.de>