Base the DSP firmware transfer and communication timeouts on jiffy values.
Signed-off-by: Ian Minett <ian_minett@creativelabs.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch adds the HD Audio Device IDs for the Intel Wellsburg PCH
Signed-off-by: James Ralston <james.d.ralston@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove 32-bit x86 a cmdline param "no-hlt",
and the cpuinfo_x86.hlt_works_ok that it sets.
If a user wants to avoid HLT, then "idle=poll"
is much more useful, as it avoids invocation of HLT
in idle, while "no-hlt" failed to do so.
Indeed, hlt_works_ok was consulted in only 3 places.
First, in /proc/cpuinfo where "hlt_bug yes"
would be printed if and only if the user booted
the system with "no-hlt" -- as there was no other code
to set that flag.
Second, check_hlt() would not invoke halt() if "no-hlt"
were on the cmdline.
Third, it was consulted in stop_this_cpu(), which is invoked
by native_machine_halt()/reboot_interrupt()/smp_stop_nmi_callback() --
all cases where the machine is being shutdown/reset.
The flag was not consulted in the more frequently invoked
play_dead()/hlt_play_dead() used in processor offline and suspend.
Since Linux-3.0 there has been a run-time notice upon "no-hlt" invocations
indicating that it would be removed in 2012.
Signed-off-by: Len Brown <len.brown@intel.com>
Cc: x86@kernel.org
mwait_idle() is a C1-only idle loop intended to be more efficient
than HLT, starting on Pentium-4 HT-enabled processors.
But mwait_idle() has been replaced by the more general
mwait_idle_with_hints(), which handles both C1 and deeper C-states.
ACPI processor_idle and intel_idle use only mwait_idle_with_hints(),
and no longer use mwait_idle().
Here we simplify the x86 native idle code by removing mwait_idle(),
and the "idle=mwait" bootparam used to invoke it.
Since Linux 3.0 there has been a boot-time warning when "idle=mwait"
was invoked saying it would be removed in 2012. This removal
was also noted in the (now removed:-) feature-removal-schedule.txt.
After this change, kernels configured with
(CONFIG_ACPI=n && CONFIG_INTEL_IDLE=n) when run on hardware
that supports MWAIT will simply use HLT. If MWAIT is desired
on those systems, cpuidle and the cpuidle drivers above
can be enabled.
Signed-off-by: Len Brown <len.brown@intel.com>
Cc: x86@kernel.org
This macro is only invoked by Xen,
so make its definition specific to Xen.
> set_pm_idle_to_default()
< xen_set_default_idle()
Signed-off-by: Len Brown <len.brown@intel.com>
Cc: xen-devel@lists.xensource.com
-Compile fix for !SMP
-More cpu cluster id related fixes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJRDSkpAAoJEMhvYp4jgsXiSWYH/jy92oAHpKoNBZQ0wzOVXoa7
Lo9vkPaTexXY1SLNohrTiGDxWwm7LNfi6Lag3OtzyzAblcUAqd6ISyx2Nh7xN3Uu
L+3Y7CIBw9CqCAsrjOunMmKcawo/aiscAlhqOoYsmKGcbopQHEomui+yfDIX6NY+
v59xDXp1IyJHqDc9M3t2VJijfeCHnREIddt33gUeEcSfL7nyuvGf2DXuarAGN5N7
bHd7NxqZS2TNGxTbxuNZIlYuVUgqcVV16LLNlTGrBb27iiPJuIg3uHa6GVVO4n0U
czd388xl5Rca8LeD7rAvWPiHX2rIfyEyvWZO4KvRBC9H6+VgGvlyKtnoUPyNhn8=
=mUYd
-----END PGP SIGNATURE-----
Merge tag 'highbank-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux into fixes
From Rob Herring:
highbank fixes for 3.8
-Compile fix for !SMP
-More cpu cluster id related fixes
* tag 'highbank-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux:
ARM: highbank: mask cluster id from cpu_logical_map
ARM: scu: mask cluster id from cpu_logical_map
ARM: scu: add empty scu_enable for !CONFIG_SMP
Looks like there are few more places that I missed that can cause
compiler warnings. After grepping for omap initcall, all files
needing soc.h should now have it.
Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
I needed this when compiling for pandaboard.
The reason this is needed is that we are now using
omap_initcalls to keep them multiplatform safe.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
common clock framework conversion.
Basic test logs are available here:
http://www.pwsan.com/omap/testlogs/clock_devel_a_3.9/20130208120108/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJRFUyBAAoJEMePsQ0LvSpLjc8P/RDzUZMrAud8jkLS66vVGuCj
++5xHo3HkwJs1FnpYgEEj11dpqyzDA9AfyhF9IkJRHuCU89D5b5oYaIqu9Yp7Ui6
3j9SO9y+X0Kwl6xr6yWuD17vvzfsiMvlLmst1xc+/oHfpJI5SVKoOURVfHz+HhQD
ZxgFTyPnNC3+TLXByYT1HbnmTTVkGa29pkWdn2wF4pvb1M36TYGt0A9aULgtRRFB
9mdxmhWGkVQwxtCSinRRA5OVBn1q2kZZCsi9hNa+YUH8C6A+xM/GKK2/IJJEto/e
v54PTT64meXe7MHYPrPMQIhWYQpJXOzcmpV9jANMhufRgkEMIJ8A5L/7AzbU/8Bc
RcCEA7qVicHU7nzlxHnbk7UphZY0X/1nTJUxxA35WKpgmLxFSJ1ezreMAW3LF2uE
LJejfoXKsgvYNDUReIX+VMd5+1mbHqnUZ/VZPQJhUO60O12DXwJk5wEvWtUjPo5A
Wbl1wKr1Gtl70N67eeZX4h/Mcv+HGKUcFx37PzSee2t/5jKJ6h501nfkKjsup37c
Rc4aqyYfhIKsOFhFitHCo7+uCX2DsiilfdrZtzt4Mdyh2KZB0D7iZsMOfgaDItSY
41LrythnSAJuGX8RJumSUXod5E7RtDVYpCLXpzPBBSMz1r4ap5WFfExi+hj4G0uK
oMKFo2eK09zhNoo3gShH
=UBtk
-----END PGP SIGNATURE-----
Merge tag 'omap-devel-e-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.9/clock
Some miscellaneous OMAP2+ clock fixes, mostly related to the recent
common clock framework conversion.
Basic test logs are available here:
http://www.pwsan.com/omap/testlogs/clock_devel_a_3.9/20130208120108/
are prerequisites for power management and some PWM driver changes.
Basic test logs are available from:
http://www.pwsan.com/omap/testlogs/am33xx_fixes_a_3.9/20130208084835/
although it must be noted that I am unable to test these patches on
AM33xx due to an unknown problem with v3.8-rc kernels:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg83525.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJRFTAkAAoJEMePsQ0LvSpLXf4P/0O9oEAtph1oa/cJGBFAU7mb
Tk2WQ4HcPEDdKlj1sNFg5h37bKLELqDxedrES+xOhYGQTnKtLxrROZVPIAtnFY7S
LyflKwg11Ny3ZRIvcG0TZraiZj/XGZKxJg2l4qViiW3EIQS0Mmvqf1W2lFvsWCNa
ZqvZE95rcWuKT/ElIbsLPUQGweRhU+5uhwWttb2pfObHXiheu/9mRBc8wNw4KO1E
hx8VIAApR3zWgPAADtStdv7ZoiZltU0o/mZOGyVpMJHsaYnkJpkUXjecj1eEJ9Jb
1EjHZ/MSuHNwwYn0/d7wTBin/FJ/ZnMQpdv7JnlkiXzRByJovjjGeWAp/pH8oY8H
AwZseTJMEbNMFo3MxFVxwAPIz/Z/zqL/dng4MuSJMYuq5dc79O28bOZS3FicAb2O
fw3LpD8bPCSa3rDaaxWVhILyQ0fBtpKM3UUysoQ7MPTOu7BXUVafF+5YGNTFHsc9
iXLBk+vxG3H0bFVLwQO+eHe0edi0W2aGctTYb9Xr5TgHuvaviSJhTaIPEGqG5qVj
RBK9xfpuXPS7DQp8pL8UPsO6EqStNOWM4arlhJG64PAcaZxekGyeIA6JFV0YbZYd
a6NmbMqX9wyb9H0a33uv0OvoltI702etfGoBDhbxrrV7lWSX820om/TwrqAjeBWT
PPE48dZDHJP2LQNBgf1j
=aia8
-----END PGP SIGNATURE-----
Merge tag 'omap-devel-a-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.9/am33xx
Fixes and IP block support for the TI AM33xx family of SoCs. These
are prerequisites for power management and some PWM driver changes.
Basic test logs are available from:
http://www.pwsan.com/omap/testlogs/am33xx_fixes_a_3.9/20130208084835/
although it must be noted that I am unable to test these patches on
AM33xx due to an unknown problem with v3.8-rc kernels:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg83525.html
- Mostly cfa100xx related device tree source updates
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJREKBFAAoJEFBXWFqHsHzOdVwH/2x2a0mJi9Y/mE0y5ZSn/Ktj
bYIOJt4wjq15/rYcSzCrZtJ+u4+JwP7C06z0oTtNeiIw2kHuAiUTVrTBdaf60k4f
2FauaoX9koedCsBP2JPVAq5ZVE8BdAbj4inuoNUFJeN/pkH8Q5+PWQZbgxAYeN58
X//DUXPq8L2tNWdEl/F+DIYwH/y9ck01tV2Fyy6AItjEShStOCglootmmtzXoyj0
/8bOmc2ppdePofAd+M/5B+JE5S18WbakrdfNp8qVwBlYzjsUvFgz9Vwkbn81jPzJ
5Hx/vDiZFktqMuI6726DJ/oqxP0w+GqYzw657LdIKqS3zCbLGb752iaM/vPgo0c=
=SM0I
-----END PGP SIGNATURE-----
Merge tag 'mxs-dt-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
From Shawn Guo:
mxs device tree changes for 3.9
- Mostly cfa100xx related device tree source updates
* tag 'mxs-dt-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6:
ARM: mxs: dts: Add rotary encoder to the CFA-10049
ARM: mxs: dts: Add gpio-keys for the rotary to the CFA-10049
ARM: dts: mxs: Add the LCD to the 10049 board
ARM: dts: mxs: Add muxing options for the third PWM
ARM: dts: cfa10049: Change the SPI3 bus to spi-gpio
ARM: mxs: dt: Add Crystalfontz CFA-10037 device tree support
ARM: mxs: Enable touchscreen on m28evk
ARM: dts: cfa10049: Add PCA9555 GPIO expander to the device tree
- A couple of optimization on timer
- Some updates on mxs_defconfig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJREJ4lAAoJEFBXWFqHsHzO5bwIAJkZC1IZ+GEh3n9ogbl/JwfE
B0k7xsTrx7TgsXvdX1oxrivu75rxWfhwVgZdp9dO3zEnyeOjFRitnlyfaliKx1JM
8ZHHsVP/VxOTvw5HarirmFejyWr9x+xx1H2p9swDHT+kccUA6aazEykEx4HFAADg
9c7Z3QWVLugwo950ayMgWk6QeRJb6pZj02OlszMiW4t/qphDhoF4qiqR9QiVL1aP
Td655hZzuoCuHrjyrRxUTgTwp70ntzxvwEDCaEqwGhmzN7tqJbi/wXTCcTg8A11A
2u3P8UvqeYKbATeqMP8vl/Ne6E1kAy8sGVTsAFoaooUUtZoN2YMdsIIXiw+JKy4=
=Veye
-----END PGP SIGNATURE-----
Merge tag 'mxs-soc-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
From Shawn Guo:
mxs soc changes for 3.9
- A couple of optimization on timer
- Some updates on mxs_defconfig
* tag 'mxs-soc-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6:
ARM: mxs_defconfig: Select CONFIG_DEVTMPFS_MOUNT
ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles
ARM: mxs: use apbx bus clock to drive the timers on timrotv2
ARM: mxs: Update mxs_defconfig
The Kconfig options selected by ARCH_TEGRA_*_SOC were recently sorted.
Update the newly added ARCH_TEGRA_114_SOC's select statements to match.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
CONFIG_ARCH_TEGRA_114_SOC doesn't currently enable gpiolib, which causes
numerous build problems building a Tegra kernel with only Tegra114
enabled, and not Tegra20 or Tegra30. Enable ARCH_REQUIRE_GPIOLIB to
solve this. However, all Tegra will use gpiolib, so select this option
from ARCH_TEGRA rather than each individual ARCH_TEGRA_*_SOC, to
prevent this problem for any future chips.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
This patch fixes the build error when ARCH_TEGRA_114_SOC is enabled
and ARCH_TEGRA_3x_SOC is disabled.
This provides Tegra114 with its own tegra114_init_early() instead of
making use of tegra30_init_early() so that T114 build doesn't depend
on T3x anymore.
Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
This pull request adds support for I2C0 and watchdog timer
for DA850 EVM booting using device tree. It also enables
machine reboot when using device tree.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJRFoKmAAoJEGFBu2jqvgRN0PMP/jRz7la56By25SrTx0mf8RLt
MY8KqLEipoVSATEv5W/SzE7Py1PKQXKFERU6JB14/JwU/+68NfPYfWcRPJ5Ya7/a
vDM7QTSllOjAPRFjpviUD4E5PRz7HV6odYb9l/lKMXhAV7+0X/I14T6k4gEd/3pw
TdhcLRQpPyCr8HKBfnw3n0fHtWo5Zt5J7wze66vL13CIHtPaoIAY7UUN/KggSum6
mHZ3G/Po+iQjkaRyTl0O/sTTkNA3CCp9bVb7v0DXHs6Im283jdVaPX9s5HsuN7Jw
mzs3VTtS1E7is/WJbywy8ry2pjMJozJdRDWYse7wDGzTgCteQsJrQ3+C1H68IvPN
+Phb4NZhrU8clnYtMvCIENiUsK7jNrRbzDPEGLEQa/Z5apqHLFbtWa/Qx88aqALg
QdQsMgG92ZThIJ+LNaLj4fvHH9xnJjYBvYMiaKSwiTWs0b+zILQG+9Dfo8eFpQj+
PgXIhYW5Cg7CP3AqVyS6E2VSV36HCo0pSZ6aaBW6wvoCXDkOEHbxi0NpgvCWCIXK
svKGDbrSqsHnnAJz8xfeuuqpU30YqOAtScfdjfdSTUXVyOSzRD5Tb0bCK4YCpyqm
gCFWRx9y3BlP7AT4RYKKH+JJgkUEmAX7MO0EOIwk9FzxapE3dbNAcV51NoffAILl
M/jfDPHuPZLiG3zBfa+0
=d1si
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v3.9/dt-2' of git://gitorious.org/linux-davinci/linux-davinci into next/dt
From Sekhar Nori:
Second round of DT updates for DaVinci.
This pull request adds support for I2C0 and watchdog timer
for DA850 EVM booting using device tree. It also enables
machine reboot when using device tree.
* tag 'davinci-for-v3.9/dt-2' of git://gitorious.org/linux-davinci/linux-davinci:
ARM: davinci: da850 DT: add support for machine reboot
ARM: davinci: da850: add wdt DT node
ARM: davinci: da850: add DT node for I2C0
- adding the watchdog to Animeo IP board
- some more DT support for at91rm9200 peripherals
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJRE8zDAAoJEAf03oE53VmQOXIH/0btL+h2tiV6lY4he090YLTL
SNBbs1m05SvtfMfei1P9sFKokc5IEbf36izd1E30hcLw1bcsUulS9CChyXu4KEc2
Xd6LLIOyH4jLl2/s0rZz1lhxCoFIv9bFp0xaZgtuasUxxlsV5Kg9iee4jYIeHL4G
cX+z8qLgTpL77Ep6HBzc2K1ALXqW/0sjo+5eHwUJDHiM/+awPD3lJMnJjDKLdY8j
0BoODOuHFGTo3fdIeEprJhPTiqZMEFDfOPsLYA2ksPqZEw5LV+ITAnHiw8V5LbBI
XNP8gYTUWLv3LJqnKc9qt/6KjHUsztbtcjsSdOGmZp5IbFQw9AJGg/mBBTpEvJM=
=6yzB
-----END PGP SIGNATURE-----
Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt
From Nicolas Ferre:
Update to DT files for AT91:
- adding the watchdog to Animeo IP board
- some more DT support for at91rm9200 peripherals
* tag 'at91-dt' of git://github.com/at91linux/linux-at91:
ARM: at91: add EMAC bindings to RM9200 DT
ARM: at91: add SSC bindings to RM9200 DT
ARM: at91: add MMC bindings to RM9200 DT
ARM: at91: Animeo IP: enable watchdog support
Signed-off-by: Olof Johansson <olof@lixom.net>
Update for audio support via omap-twl4030 and pwm updates in board level,
and zoom-peripherals update to not request the TWL GPIO7.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJREVp7AAoJEBvUPslcq6VzA2YP/0jR2kO8ZjJjhuVm6l0fftcC
S/wqF5oLgONcOMP6IQ+jv3/arHKsXLHygHtXZ2oH8carMY+6tsPvfVA7vmRG3ynb
vHlb2PO5OdMDq98u7yMxKpWOgmgIiddw/LipkNNpaCpzyQ1VHy/nyLrVzy9z63bI
I2fPmny+wzxlPVOHbKGmsxhttPWeUbvMTMSX6O22IcAbxG3LP2AJpfuFWCiirtWO
8a+17WVDBFyzSEVezSUdsqLP5JjidAU2/AhHS7TVx+mSTaFS044znCWZ4atnKyb/
cEOcQFnbnuwDqH71wgnpmpeAYT+bQmAbAY+1uhH+3gPEHt8vbxnKs+AM8Oudcfu7
sa97FGfXlI1/2GLQjtBpQfs7Itr1ciOxo6XBHGm/G3itTg3NMmnZPTI7EBCTouhA
ixPAuMkQz1QwVlTJi1FmcR4WDjyaZdIQL/Zk/F+yKs3A4TGcgEb7svw44HFSNTnP
hpDyLG0kH08GvqnAllFh6K0nsD7vyHxTPAiRZrARHkGro0kOdRs+OomVJSsBbtnm
GIS1ZjuptIWOjZnaN8QoHniQrlwoE0N5RzzLD3k0lPzK982CNsKkhzE/N18kom9H
EPDwcbHUQP2lsGw9bo3+lQxVx8zdm5dQlxzwYjaI4KI4/5AfrGS3OhBIPJNGX9W/
nmXw7U3vjZvAfjTz1Ryr
=pDtV
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v3.9/twl-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards
From Tony Lidgren:
OMAP TWL updates from Peter Ujfalusi <peter.ujfalusi@ti.com>:
Update for audio support via omap-twl4030 and pwm updates in board level,
and zoom-peripherals update to not request the TWL GPIO7.
* tag 'omap-for-v3.9/twl-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix twl section warnings related to omap_twl4030_audio_init
ARM: board-zoom: Do not request LCD panel enable GPIO from twl4030
ARM: OMAP: omap3beagle: Use the pwm_leds driver to control the PMU_STAT led
ARM: OMAP: board-4430sdp: Proper support for TWL6030 PWM LED/Backlight
ARM: OMAP: sdp3430: Audio support via the common omap-twl4030 machine driver
ARM: OMAP: zoom: Audio support via the common omap-twl4030 machine driver
ARM: OMAP2+: twl-common: Allow boards to customize the twl4030 audio setup
ARM: OMAP2+: twl-common: Add default twl4030 audio configuration
ARM: OMAP: zoom: Zoom2 does not have extmute functionality
ARM: OMAP: 3430sdp: Enable extmute functionality for audio
Register ARM architected timer.
This is preparatory work by Magnus Damm for SoC(s) that use
the ARM architected timer.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJREbYVAAoJENfPZGlqN0++7VgQAKKhp1vnmvi7FmO7FrqNpQHa
MDO6+1jEnoIcd1GzRyaEZssNWD8A5bqJNdgATvIoHUoczYigxRjXHAB1pzphKPXW
/hryeuTmQRo/Fkns+FIwDmAmTMqK2r1B3cQKngb6ph267tx/TI3JlNTTj7x+zSyY
U/0PSOJpPr8xgdJ7yo3snLCHigvrK3YZvG5gaSva+Nc5bFfOj2iD/b27z4ynD19b
1nolR6vqrfbHKebM5x6Jd3OxjD4N/exXdIijLxLn61bL3Dmt7u9GODgzn+ZLA/CB
mOVwXunIqdNuWOUOdbM6qu2Ah/FjS95CGjSVTCY31+B/xooNh6Cbr/l9QdtFA5fo
PbFimhm1bFLIOwRLdXriofSZReffW7pIGOl8M3nHwcVjvZhsVl1Tw1ZFrbtZF7Af
3GtsI4xPV+ym7IOaFTIsUiubXlJhlosR4eB7h1R5paRT1IqOPKD0LoSnqRohH9GQ
7QyqaWWRexRnAQCrVFqvtRK1ciu2cmo2Lsx5hE0Z5qFiStyfbcCu0OpUJiYzdxse
l0vlMI4TEzsBMO8lmfaZvQYMTT00Ig4yu3ophs1vDx5pqcj3XDyVS65WaQEd4O8m
MZeXZsZMTCpwEe/oldjz88pPdWrrJtGhoCzpawvr2jUjDk/qd0cbFpjtvJGPUjuJ
6UmmJcotHLG7N73JLiKe
=Wq1K
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc4-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Fourth round of Renesas ARM-based SoC changes for v3.9
Register ARM architected timer.
This is preparatory work by Magnus Damm for SoC(s) that use
the ARM architected timer.
* tag 'renesas-soc4-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Register ARM architected timer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJRFRkcAAoJEAf03oE53VmQ71EH/08SOBM+kgQjKCzFe9ekuytz
DlnUzFWOQlSibjWOL7ruWoLPiTurJHQNiKEpePw7g3dh8ars7fJLlVIr0yRehHBs
pJpxzH7/ZqHqzi+4YXCrn5XAVK9ej7HKFo9zoDD1GMctsOD2FoNDIzOIh47s3z4Y
G92kvGFG5z8EACvcob/+q53RcVjimugcrKRhz61MhKdpiIGGzz/+wl45StyM8RYc
mLFb7yGa1j9Zdstm/45a+3XwMUEbxsbi0NGeA9E9kL3XZZERWkfcDL4MiV3F0l6Q
oJqVQ6/QzGyqnTolr+2FAVkaXDP4geo6S42N97pGIjtIco2gaQ5kbMPoyei98N0=
=SVnr
-----END PGP SIGNATURE-----
Merge tag 'at91-cleanup' of git://github.com/at91linux/linux-at91 into next/cleanup
From Nicolas Ferre:
Little AT91 cleanup: only remove one deprecated board.
* tag 'at91-cleanup' of git://github.com/at91linux/linux-at91:
ARM: at91: remove NEOCORE 926 board
Signed-off-by: Olof Johansson <olof@lixom.net>
Modify/remove conflict in arch/arm/mach-at91/board-neocore926.c
Sort the VT8500 entries in alphabetical order and add missing entries
for the files.
Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Olof Johansson <olof@lixom.net>
When running on Integrator/AP using atags, ap_syscon_base is initialised
in ->map_io, which isn't called for !MMU platforms.
Instead, initialise the pointer in ->machine_init, as we do when booting
with device-tree.
Cc: stable@vger.kernel.org
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
At present, the value of timeout for freezing is 20s, which is
meaningless in case that one thread is frozen with mutex locked
and another thread is trying to lock the mutex, as this time of
freezing will fail unavoidably.
And if there is no new wakeup event registered, the system will
waste at most 20s for such meaningless trying of freezing.
With this patch, the value of timeout can be configured to smaller
value, so such meaningless trying of freezing will be aborted in
earlier time, and later freezing can be also triggered in earlier
time. And more power will be saved.
In normal case on mobile phone, it costs real little time to freeze
processes. On some platform, it only costs about 20ms to freeze
user space processes and 10ms to freeze kernel freezable threads.
Signed-off-by: Liu Chuansheng <chuansheng.liu@intel.com>
Signed-off-by: Li Fei <fei.li@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Enable ACPI SCI during suspend so that SCI can be used
as wake events for PM_SUSPEND_FREEZE.
For S3/S4 transition,
We disable all GPEs in suspend_ops->prepare_late() to
fix a problem that GPEs may trigger SCI before
arch_suspend_disable_irqs() is run.
So it is safe to leave the SCI enabled until
arch_suspend_irq_disable() is run.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
PM_SUSPEND_FREEZE state is a general state that
does not need any platform specific support, it equals
frozen processes + suspended devices + idle processors.
Compared with PM_SUSPEND_MEMORY,
PM_SUSPEND_FREEZE saves less power
because the system is still in a running state.
PM_SUSPEND_FREEZE has less resume latency because it does not
touch BIOS, and the processors are in idle state.
Compared with RTPM/idle,
PM_SUSPEND_FREEZE saves more power as
1. the processor has longer sleep time because processes are frozen.
The deeper c-state the processor supports, more power saving we can get.
2. PM_SUSPEND_FREEZE uses system suspend code path, thus we can get
more power saving from the devices that does not have good RTPM support.
This state is useful for
1) platforms that do not have STR, or have a broken STR.
2) platforms that have an extremely low power idle state,
which can be used to replace STR.
The following describes how PM_SUSPEND_FREEZE state works.
1. echo freeze > /sys/power/state
2. the processes are frozen.
3. all the devices are suspended.
4. all the processors are blocked by a wait queue
5. all the processors idles and enters (Deep) c-state.
6. an interrupt fires.
7. a processor is woken up and handles the irq.
8. if it is a general event,
a) the irq handler runs and quites.
b) goto step 4.
9. if it is a real wake event, say, power button pressing, keyboard touch, mouse moving,
a) the irq handler runs and activate the wakeup source
b) wakeup_source_activate() notifies the wait queue.
c) system starts resuming from PM_SUSPEND_FREEZE
10. all the devices are resumed.
11. all the processes are unfrozen.
12. system is back to working.
Known Issue:
The wakeup of this new PM_SUSPEND_FREEZE state may behave differently
from the previous suspend state.
Take ACPI platform for example, there are some GPEs that only enabled
when the system is in sleep state, to wake the system backk from S3/S4.
But we are not touching these GPEs during transition to PM_SUSPEND_FREEZE.
This means we may lose some wake event.
But on the other hand, as we do not disable all the Interrupts during
PM_SUSPEND_FREEZE, we may get some extra "wakeup" Interrupts, that are
not available for S3/S4.
The patches has been tested on an old Sony laptop, and here are the results:
Average Power:
1. RPTM/idle for half an hour:
14.8W, 12.6W, 14.1W, 12.5W, 14.4W, 13.2W, 12.9W
2. Freeze for half an hour:
11W, 10.4W, 9.4W, 11.3W 10.5W
3. RTPM/idle for three hours:
11.6W
4. Freeze for three hours:
10W
5. Suspend to Memory:
0.5~0.9W
Average Resume Latency:
1. RTPM/idle with a black screen: (From pressing keyboard to screen back)
Less than 0.2s
2. Freeze: (From pressing power button to screen back)
2.50s
3. Suspend to Memory: (From pressing power button to screen back)
4.33s
>From the results, we can see that all the platforms should benefit from
this patch, even if it does not have Low Power S0.
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
There are multiple reasons to move away from debugfs. First of all,
we are only using it for a single parameter, and it is much more
complicated to set up (some 30 lines of code compared to 3), and one
more thing that might fail while loading the jbd2 module.
Secondly, as a module paramter it can be specified as a boot option if
jbd2 is built into the kernel, or as a parameter when the module is
loaded, and it can also be manipulated dynamically under
/sys/module/jbd2/parameters/jbd2_debug. So it is more flexible.
Ultimately we want to move away from using jbd_debug() towards
tracepoints, but for now this is still a useful simplification of the
code base.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
There are multiple reasons to move away from debugfs. First of all,
we are only using it for a single parameter, and it is much more
complicated to set up (some 30 lines of code compared to 3), and one
more thing that might fail while loading the ext4 module.
Secondly, as a module paramter it can be specified as a boot option if
ext4 is built into the kernel, or as a parameter when the module is
loaded, and it can also be manipulated dynamically under
/sys/module/ext4/parameters/mballoc_debug. So it is more flexible.
Ultimately we want to move away from using mb_debug() towards
tracepoints, but for now this is still a useful simplification of the
code base.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
In ext4_{create,mknod,mkdir,symlink}(), don't start the journal handle
until the inode has been succesfully allocated. In order to do this,
we need to start the handle in the ext4_new_inode(). So create a new
variant of this function, ext4_new_inode_start_handle(), so the handle
can be created at the last possible minute, before we need to modify
the inode allocation bitmap block.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Operations which modify extended attributes may need extra journal
credits if inline data is used, since there is a chance that some
extended attributes may need to get pushed to an external attribute
block.
Changes to reflect this was made in xattr.c, but they were missed in
fs/ext4/acl.c. To fix this, abstract the calculation of the number of
credits needed for xattr operations to an inline function defined in
ext4_jbd2.h, and use it in acl.c and xattr.c.
Also move the function declarations used in inline.c from xattr.h
(where they are non-obviously hidden, and caused problems since
ext4_jbd2.h needs to use the function ext4_has_inline_data), and move
them to ext4.h.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Tao Ma <boyu.mt@taobao.com>
Reviewed-by: Jan Kara <jack@suse.cz>
The ext4_unlink() and ext4_rmdir() don't actually release the blocks
associated with the file/directory. This gets done in a separate jbd2
handle called via ext4_evict_inode(). Thus, we don't need to reserve
lots of journal credits for the truncate.
Note that using too many journal credits is non-optimal because it can
leading to the journal transmit getting closed too early, before it is
strictly necessary.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
i2400m_net_wake_tx() sets ->wake_tx_skb with the given skb if
->wake_tx_ws is not pending; however, i2400m_wake_tx_work() could have
just started execution and haven't fetched -><wake_tx_skb yet. The
previous packet will be leaked.
Update ->wake_tx_skb handling.
* i2400m_net_wake_tx() now tests whether the previous ->wake_tx_skb
has been consumed by ->wake_tx_ws instead of testing work_pending().
* i2400m_net_wake_stop() is simplified similarly. It always puts
->wake_tx_skb if non-NULL.
* Spurious ->wake_tx_skb dereference outside critical section dropped
from i2400m_wake_tx_work().
Only compile tested.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Cc: linux-wimax@intel.com
Cc: wimax@linuxwimax.org
wait_for_kprobe_optimizer() seems largely broken. It uses
optimizer_comp which is never re-initialized, so
wait_for_kprobe_optimizer() will never wait for anything once
kprobe_optimizer() finishes all pending jobs for the first time.
Also, aside from completion, delayed_work_pending() is %false once
kprobe_optimizer() starts execution and wait_for_kprobe_optimizer()
won't wait for it.
Reimplement it so that it flushes optimizing_work until
[un]optimizing_lists are empty. Note that this also makes
optimizing_work execute immediately if someone's waiting for it, which
is the nicer behavior.
Only compile tested.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
* Drop unnesssary delayd_work_pending() tests.
* Unify scan_event_{now|later} by using mod_delayed_work() w/ 0 delay
for scan_event_now.
* Make ipw2200 scan_event handling match ipw2100 - use
mod_delayed_work() w/ 0 delay for immediate scanning.
Only compile tested.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
Cc: linux-wireless@vger.kernel.org
The migration ioctl creates a temporary inode. Since this inode is
never linked to a directory, we don't need to reserve journal credits
required for modifying the directory.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Update the da8xx_restart() function to support machine reboot
when booting using DT. Have the function search for the watchdog
platform device instead of always using "da8xx_wdt_device" which
is never registered in DT case.
While at it, also make da8xx_wdt_device static since there is no need
for it to be globally visible.
Tested machine reboot with both DT and non-DT boot on DA850 EVM.
Signed-off-by: Kumar, Anil <anilkumar.v@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Add I2C0 device tree and pin muxing information to da850-evm.
Also, add OF_DEV_AUXDATA for I2C0 controller driver in da850
board dt file to use I2C0 clock.
Verified i2c0 node gets created in sys class interface as
"/sys/class/i2c-dev/i2c-0/subsystem/i2c-0".
nsekhar@ti.com: tested using i2cdetect and i2cdump.
Signed-off-by: Vishwanathrao Badarkhe, Manish <manishv.b@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Partly a case of removing unused headers and partly a case
of ifdefing out the iio_trigger_ops structures. This has
come about because of an 'unusual' separation of code in this
driver.
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Also include a couple of forward defs of struct iio_trigger and struct
iio_trigger_ops to avoid doing this in each driver.
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Don't start the jbd2 transaction handle until after the directory
entry has been found, to minimize the amount of time that a handle is
held active.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Don't start the jbd2 transaction handle until after the directory
entry has been found, to minimize the amount of time that a handle is
held active.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
The grab_cache_page_write_begin() function can potentially sleep for a
long time, since it may need to do memory allocation which can block
if the system is under significant memory pressure, and because it may
be blocked on page writeback. If it does take a long time to grab the
page, it's better that we not hold an active jbd2 handle.
So grab a handle on the page first, and _then_ start the transaction
handle.
This commit fixes the following long transaction handle hold time:
postmark-2917 [000] .... 196.435786: jbd2_handle_stats: dev 254,32
tid 570 type 2 line_no 2541 interval 311 sync 0 requested_blocks 1
dirtied_blocks 0
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
In two places, we check !CONFIG_MMU_SUN3 while we should check
CONFIG_HAS_DMA instead.
While fixing this, the check in <asm/dma-mapping.h> became redundant
(<linux/dma-mapping.h> already handles this case), so just remove it.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
It doesn't seem this spinlock was properly initialized.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fix a couple of typos in comments.
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Fix some typos in comments.
Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
With the recent changes in cpufreq core, we just need to set mask of all
possible cpus into policy->cpus. Rest would be done by core.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>