Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GIT b96ba19767320e2b27ceb4e1976ec21f0ab54605 commit fbfad49076646165bbd72de4dccf1d5132ab7856 Author: Lars-Peter Clausen <[email protected]> Date: Tue May 20 11:13:28 2014 +0200 ASoC: neo1973_wm8753: Automatically disconnected non-connected pins The DAPM routes for this board are complete, hence we can let the core take care of disconnecting non-connected pins rather than doing it manually. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 41148c3a728222a885bc2f3ba3ce66831de0b244 Author: Qipan Li <[email protected]> Date: Sun May 4 14:32:36 2014 +0800 spi: sirf: decrease the interrupt count and latency of PIO mode current PIO tranfer method be described as follows: 1. fill as much as bytes but no more than 256 bytes(fifo size) 2. enable oflow/uflow/txfifo_empty interrupt 3. isr process 3 interrupt signal, do complete works. 4. after isr done, if there are left bytes go into 1 else go into 5 5. transfer end by current PIO transfer method: 1. reduce interrupt counts in spi interrupt line. 2. reduce interrupt latency because no do data fill/fetch in isr. Signed-off-by: Qipan Li <[email protected]> Signed-off-by: Barry Song <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit c86d50f9dc525cb0264c25ed5186faf0f1d00477 Author: Sylwester Nawrocki <[email protected]> Date: Mon May 19 19:30:38 2014 +0200 ASoC: samsung: Allow setting OP_CLK of the IIS Multi Audio Interface This patch adds support for setting source clock of the "Core CLK" of the IIS Multi Audio Interface. Signed-off-by: Sylwester Nawrocki <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit b45281412a6334ab2be5d7e449c98f50fb424a78 Author: Arnd Bergmann <[email protected]> Date: Sun May 4 11:25:21 2014 +0800 ASoC: pxa: remove mach header dependency As we are moving the mmp platform towards multiplatform support, we have to stop including platform header files. This changes the pxa-ssp sound driver file to no longer depend on mach/hardware.h and mach/dma.h. The code using the definitions from those headers is actually gone already, the only thing that was still being used was the pxa_dma_desc typedef, which we can easily work around by using the normal 'struct pxa_dma_desc' name. The pxa2xx-dma driver still uses this header, so we include it explicitly there, which is ok because that is only used on pxa, not on mmp. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Xia Kaixu <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 7d6d478f38fb1bdef30ae1a4c9d5aefb7cb2bb9b Author: Andrew Lunn <[email protected]> Date: Sat May 3 20:30:11 2014 +0200 ASoC: alc5623: Add device tree binding Let the ALC5623 codec be instantiated from DT. Add a simple binding for the additional control register and the jack detect register. Also, add a prompt to the Kconfig entry for this CODEC, so that it can be selected. Since kirkwood-t5325.c will no longer be used, we need to be able to enable the CODEC in the mvebu_v5_defconfig etc. Signed-off-by: Andrew Lunn <[email protected]> Acked-by: Jason Cooper <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit ee9daad4953418ecf28a6b0b920f982fe0c24814 Author: Sascha Hauer <[email protected]> Date: Mon Apr 28 12:54:52 2014 +0200 ASoC: fsl-ssi: Move fsl_ssi_set_dai_sysclk above fsl_ssi_hw_params fsl_ssi_set_dai_sysclk will be called from fsl_ssi_hw_params in the next patch. Move up to avoid forward declaration and to keep the next patch more readable. No functional change. Signed-off-by: Sascha Hauer <[email protected]> Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 504894799fa122822f5c48be2968e04d3f1af8e8 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:51 2014 +0200 ASoC: fsl-ssi: Transmit enable synchronization When the fsl-ssi unit is used in i2s slave mode, it is possible that the SSI unit starts transmitting data on the wrong channel. This happens because the SSI does not synchronize with the left-right-clock by default. This patch enables transmit enable synchronization. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 171d683d2ac4ab6f220cc99de08ef9ec2c039966 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:48 2014 +0200 ASoC: fsl-ssi: Remove unnecessary variables from ssi_private There are some variables defined in struct fsl_ssi_private that describe states that are also described by other variables. This patch adds some helper functions that return exactly the same information based on available variables. This helps to clean up struct fsl_ssi_private and remove them from the probe function. It also removes some not really used variables (new_binding, name). Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 4d9b7926f2ce271e0670cf0e7131a0e2a686690a Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:47 2014 +0200 ASoC: fsl-ssi: Cleanup probe function Reorder the probe function to be able to move the second imx-specific block to the seperate imx probe function. The patch also removes some comments/variables/code that are not used anymore or could be simply replaced by other variables. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit ed0f1604e93c686d8151c5a9bcbe36a2986caf40 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:46 2014 +0200 ASoC: fsl-ssi: Remove useless DMA code Simplify dma DT property handling. fsl,ssi-dma-events is not used anymore. It passes invalid data to imx_pcm_dma_params_init_data() which copies some data into an imx dma struct. This struct is never used in imx-dma or imx-sdma because of generic OF DMA handling. The "fsl,ssi-dma-events" is not used anywhere in dts files. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 49da09e26577702516e946ecd537f50b87533315 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:45 2014 +0200 ASoC: fsl-ssi: Move imx-specific probe to seperate function Move imx specific probe code to a seperate function. It reduces the size of the probe() function and makes the code and error handling easier to understand. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 2a1d102de40a799072309d4d84fa6f214c5ee999 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:44 2014 +0200 ASoC: fsl-ssi: Use dev_name for DAI driver struct Instead of creating a name using string manipulation functions, we can simply use the device name for the DAI driver struct. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit f138e6212427d0ea6283e07b706823b657ddf14f Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:43 2014 +0200 ASoC: fsl-ssi: Move debugging to seperate file Move all code that is only used for debugging to a seperate file. This makes it easier to see what functions are used for debugging only. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 65c961cc59345fa347173e5a1f5866bc866fd626 Author: Markus Pargmann <[email protected]> Date: Mon Apr 28 12:54:42 2014 +0200 ASoC: fsl-ssi: Fix register values when disabling The bits we have to clear when disabling are different when the other stream is still active. This patch fixes the calculation of new register values after disabling one stream. It also adds a more detailed description of the new register value calculation. Signed-off-by: Markus Pargmann <[email protected]> Tested-By: Michael Grzeschik <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 55bc82536960e4749df7ae5666a93702190c53d4 Author: Lars-Peter Clausen <[email protected]> Date: Mon May 19 11:41:48 2014 +0200 ASoC: mop500_ab8500: Replace instances of rtd->codec->card with rtd->card No need to go via the CODEC to get a pointer to the card. This will help to eventually remove the card field from the snd_soc_codec struct. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit 0596f70069bb5ab34eea980c14fad1041f2abae5 Author: Lars-Peter Clausen <[email protected]> Date: Mon May 19 11:41:46 2014 +0200 ASoC: omap: Replace instances of rtd->codec->card with rtd->card No need to go via the CODEC to get a pointer to the card. This will help to eventually remove the card field from the snd_soc_codec struct. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Jarkko Nikula <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit cf7b71f46b1c2f0376c373e10e5eee1b1fa3cd12 Author: Lars-Peter Clausen <[email protected]> Date: Tue May 20 14:23:10 2014 +0200 ASoC: ad1980: Replace goto loop with do-while loop Using a proper do-while loop here instead of a open-coded goto loop is both cleaner and shorter. Also fixes the following warnings from smatch: sound/soc/codecs/ad1980.c:213 ad1980_reset() info: loop could be replaced with if statement. sound/soc/codecs/ad1980.c:212 ad1980_reset() info: ignoring unreachable code. sound/soc/codecs/ad1980.c:215 ad1980_reset() info: ignoring unreachable code. While we are at it also change retry_cnt to unsigned int, using u16 for a on-stack loop counter doesn't make that much sense. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit da41a589f52464e24ddefe76814ee35bfb07950c Author: Robert Elliott <[email protected]> Date: Tue May 20 16:46:26 2014 -0500 blk-mq: Micro-optimize blk_queue_nomerges() check In blk_mq_make_request(), do the blk_queue_nomerges() check outside the call to blk_attempt_plug_merge() to eliminate function call overhead when nomerges=2 (disabled) Signed-off-by: Robert Elliott <[email protected]> Signed-off-by: Jens Axboe <[email protected]> commit eba7176826ddab1d04c51bb2d5f2bbf22865444c Author: Jens Axboe <[email protected]> Date: Tue May 20 15:17:27 2014 -0600 blk-mq: initialize q->nr_requests after calling blk_queue_make_request() blk_queue_make_requests() overwrites our set value for q->nr_requests, turning it into the default of 128. Set this appropriately after initializing queue values in blk_queue_make_request(). Signed-off-by: Jens Axboe <[email protected]> commit bc76e320f21f8bd790a72bd5dc06909617432352 Author: Daniel Vetter <[email protected]> Date: Tue May 20 22:46:50 2014 +0200 drm/i915: Drop now misleading DDI comment from dp_link_down Since commit 2e82a7203182d0883d0f9450d40ad6e1c6578ad9 Author: Imre Deak <[email protected]> Date: Fri Jan 17 15:46:43 2014 +0200 drm/i915: don't disable DP port after a failed link training and commit 5d6a1116c6475404e6505b708320f9579ae19acd Author: Imre Deak <[email protected]> Date: Thu Jan 16 18:35:57 2014 +0200 drm/i915: don't disable the DP port if the link is lost we no longer call intel_dp_link_down from generic DP code, but only from the !HAS_DDI dp encoder functions. hsw/bdw have their own encoder disabling callback in intel_ddi.c. Hence the early return is no longer needed and the big comment just confusing, so let's rip it out. To ensure what we don't accidentally use this again on ddi encoders add a WARN_ON instead. Spotted while reading through intel_dp.c Cc: Imre Deak <[email protected]> Cc: Paulo Zanoni <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 96810471673393c931595a013f0f3094b564b1e9 Author: John W. Linville <[email protected]> Date: Tue May 20 15:34:37 2014 -0400 ath9k: fixup "ath9k_htc: fix build with disabled debug" Apparently Oleksij's compile testing was no better than mine initially was... :-( Cc: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]> commit 37c492c8f6a99870551fe2964b2dfce5d9e87375 Author: Harald Brinkmann <[email protected]> Date: Tue May 20 20:28:00 2014 +0200 HID: quirk for Saitek RAT7 and MMO7 mices' mode button Some saitek mice implement a tristate button (for switching button mappings in the original driver) by keeping one of three (non-physical) buttons constantly pressed. This breaks X and probably other userspace software. This patch implements a quirk for the R.A.T.7 and M.M.O.7, tracking the mode and generating presses of a single button if it changes. Also the missing release event is generated instantly. Signed-off-by: Harald Brinkmann <[email protected]> Signed-off-by: Jiri Kosina <[email protected]> commit 525997e00bd32c3e25d5f77c26703f76c498f424 Author: Jani Nikula <[email protected]> Date: Tue Apr 29 23:30:48 2014 +0300 drm/i915: shuffle panel code Somehow a few functions have been dropped in the middle of backlight code. Move them around. No functional changes. Signed-off-by: Jani Nikula <[email protected]> Reviewed-by: Jesse Barnes <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 9aa7250feb202f246afd90d9525debabe10cc0a5 Author: Ville Syrjälä <[email protected]> Date: Mon May 19 19:23:26 2014 +0300 drm/i915: Clear GDSR after reset on ILK Clear the reset domain after a succesful GPU reset on ilk. We already do that on gen4, so let's try to be a bit more consistent. And if ether render or media reset fails, we might use the leftover value in the register to pinpoint the culprit. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Jesse Barnes <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit f73387cb6b1f1534e56669e6aecefae1be867f59 Author: Dylan Reid <[email protected]> Date: Tue May 20 11:26:12 2014 -0700 ALSA: hda/tegra - Fix MODULE_DEVICE_TABLE typo. I missed a rename during the review process. Fix the MODULE_DEVICE_TABLE to match the structure. Signed-off-by: Dylan Reid <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> commit 0f08ffd6633fe8b8306229593027009e90f86c8c Author: Ville Syrjälä <[email protected]> Date: Mon May 19 19:23:25 2014 +0300 drm/i915: Kill RMW from ILK reset code All the other bits in the GDSR register are read-only, so we don't have to preserve them when we perform a GPU reset. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Jesse Barnes <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit fc3b7a70ac7c2baee512a1ea8df9e7c4085ac3e5 Author: Joe Thornber <[email protected]> Date: Tue May 13 16:14:14 2014 -0400 dm thin: cleanup noflush_work to use a proper completion Factor out a pool_work interface that noflush_work makes use of to wait for and complete work items (in terms of a proper completion struct). Allows discontinuing the use of a custom completion in terms of atomic_t and wait_event. Signed-off-by: Joe Thornber <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> commit 8490cd8ed20f9ff7b54a3fc858a1ff4b98a5593f Author: Mikulas Patocka <[email protected]> Date: Fri Mar 14 18:43:07 2014 -0400 dm snapshot: do not split read bios sent to snapshot-origin target Change the snapshot-origin target so that only write bios are split on chunk boundary. Read bios are passed unchanged to the underlying device, so they don't have to be split. Later, we could change the target so that it accepts a larger write bio if it spans an area that is completely covered by snapshot exceptions. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> commit c0d4c8e9d1bb7fdc847e0753cceaf557d19d6223 Author: Mikulas Patocka <[email protected]> Date: Fri Mar 14 18:42:12 2014 -0400 dm snapshot: allocate a per-target structure for snapshot-origin target Allocate a per-target dm_origin structure. This is a prerequisite for the next commit ("dm snapshot: do not split read bios sent to snapshot-origin target") which adds a new member to this structure. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> commit 12f66f49e359a35942b2a3170227132d75d47c32 Author: Mikulas Patocka <[email protected]> Date: Fri Mar 14 18:41:24 2014 -0400 dm: introduce dm_accept_partial_bio The function dm_accept_partial_bio allows the target to specify how many sectors of the current bio it will process. If the target only wants to accept part of the bio, it calls dm_accept_partial_bio and the DM core sends the rest of the data in next bio. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> commit e628835d01fa8e3cc6764948fad1229ba79f08c3 Author: Mikulas Patocka <[email protected]> Date: Fri Mar 14 18:40:39 2014 -0400 dm: change sector_count member in clone_info from sector_t to unsigned It is impossible to create bios with 2^23 or more sectors (the size is stored as a 32-bit byte count in the bio). So we convert some sector_t values to unsigned integers. This is needed for the next commit ("dm: introduce dm_accept_partial_bio") that replaces integer value arguments with pointers, so the size of the integer must match. Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> commit 80c578930ce77ba8bcfb226a184b482020bdda7b Author: Mike Snitzer <[email protected]> Date: Tue May 20 13:38:33 2014 -0400 dm thin: add 'no_space_timeout' dm-thin-pool module param Commit 85ad643b ("dm thin: add timeout to stop out-of-data-space mode holding IO forever") introduced a fixed 60 second timeout. Users may want to either disable or modify this timeout. Allow the out-of-data-space timeout to be configured using the 'no_space_timeout' dm-thin-pool module param. Setting it to 0 will disable the timeout, resulting in IO being queued until more data space is added to the thin-pool. Signed-off-by: Mike Snitzer <[email protected]> Cc: [email protected] # 3.14+ commit 5f80ff8eccba50832dcc640ac89add4c7fced963 Author: Sagi Grimberg <[email protected]> Date: Tue May 20 13:28:11 2014 +0300 Target/iser: Gracefully reject T10-PI enabled connect request if not supported In case user chose to set T10-PI enable on the target while the IB device does not support it, gracefully reject the request. Reported-by: Slava Shwartsman <[email protected]> Signed-off-by: Sagi Grimberg <[email protected]> Cc: [email protected] # 3.15+ Signed-off-by: Nicholas Bellinger <[email protected]> commit f5ebec9629cf78eeeea4b8258882a9f439ab2404 Author: Sagi Grimberg <[email protected]> Date: Mon May 19 17:44:25 2014 +0300 Target/iser: Wait for proper cleanup before unloading disconnected_handler works are scheduled on system_wq. When attempting to unload, first make sure all works have cleaned up. Signed-off-by: Sagi Grimberg <[email protected]> Cc: [email protected] # 3.10+ Signed-off-by: Nicholas Bellinger <[email protected]> commit 88c4015fda6d014392f76d3b1688347950d7a12d Author: Sagi Grimberg <[email protected]> Date: Mon May 19 17:44:24 2014 +0300 Target/iser: Improve cm events handling There are 4 RDMA_CM events that all basically mean that the user should teardown the IB connection: - DISCONNECTED - ADDR_CHANGE - DEVICE_REMOVAL - TIMEWAIT_EXIT Only in DISCONNECTED/ADDR_CHANGE it makes sense to call rdma_disconnect (send DREQ/DREP to our initiator). So we keep the same teardown handler for all of them but only indicate calling rdma_disconnect for the relevant events. This patch also removes redundant debug prints for each single event. v2 changes: - Call isert_disconnected_handler() for DEVICE_REMOVAL (Or + Sag) Signed-off-by: Sagi Grimberg <[email protected]> Cc: [email protected] # 3.10+ Signed-off-by: Nicholas Bellinger <[email protected]> commit 9b204fbf0987748ec6cc4a3cde0064ecf42accd0 Author: Asai Thambi S P <[email protected]> Date: Tue May 20 10:48:56 2014 -0700 mtip32xx: move error handling to service thread Move error handling to service thread, and use mtip_set_timeout() to set timeouts for HDIO_DRIVE_TASK and HDIO_DRIVE_CMD IOCTL commands. Signed-off-by: Selvan Mani <[email protected]> Signed-off-by: Asai Thambi S P <[email protected]> Signed-off-by: Jens Axboe <[email protected]> commit e3a2b3f931f59d5284abd13faf8bded726884ffd Author: Jens Axboe <[email protected]> Date: Tue May 20 11:49:02 2014 -0600 blk-mq: allow changing of queue depth through sysfs For request_fn based devices, the block layer exports a 'nr_requests' file through sysfs to allow adjusting of queue depth on the fly. Currently this returns -EINVAL for blk-mq, since it's not wired up. Wire this up for blk-mq, so that it now also always dynamic adjustments of the allowed queue depth for any given block device managed by blk-mq. Signed-off-by: Jens Axboe <[email protected]> commit 463eb599929709d6b53bf6f3bea1189292cd8456 Author: Richard Fitzgerald <[email protected]> Date: Tue May 20 13:48:51 2014 +0100 mfd: arizona: Correct addresses of always-on trigger registers Update the addresses and names to match current silicon. The WM8997 regmap tables have been adjusted to match the new names. Missing registers have been added to WM5110 default value table. Signed-off-by: Richard Fitzgerald <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 145894202252809015c3b7d764dc571cfd457f24 Author: Jay Aurabind <[email protected]> Date: Sat May 10 17:32:11 2014 +0530 mfd: abx500-core: Fix compiler warning larger stack frame On systems with CONFIG_FRAME_WARN=1024, compiler warns the allocation of an object of struct device on stack. Make the allocation dynamically to fix the warning. drivers/mfd/abx500-core.c: In function ‘abx500_dump_all_banks’: drivers/mfd/abx500-core.c:167:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=] Signed-off-by: Aurabindo J <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 43d6a0e7cc04e9d22636fe7ef8896ca906218b24 Author: Boris BREZILLON <[email protected]> Date: Thu May 15 19:51:43 2014 +0200 mfd: axp22x: Add support for APX221 PMIC This patch introduces preliminary support for the X-Powers AXP221 PMIC. The AXP221 is typically used on boards using Allwinner's A31 SoC. At the moment, this driver only exposes regulator devices, but other subdevices. Signed-off-by: Boris BREZILLON <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit e9ff951e5b4f16f078394555c42c62e73a6eeb5f Author: Lee Jones <[email protected]> Date: Tue May 20 15:37:41 2014 +0100 mfd: max14577: Cast to architecture agnostic data type drivers/mfd/max14577.c:334:25: warning: cast from pointer to integer of different size max14577->dev_type = (unsigned int)of_id->data; ^ Signed-off-by: Lee Jones <[email protected]> commit 4e31f780bdebcd23700703fbedf1d3bffd05043f Author: Lee Jones <[email protected]> Date: Tue May 20 15:35:27 2014 +0100 mfd: axp20x: Remove unnecessary const qualifier from axp20x_supplies[] drivers/mfd/axp20x.c:159:3: warning: initialization discards ‘const’ qualifier from pointer target type .parent_supplies = axp20x_supplies, ^ Signed-off-by: Lee Jones <[email protected]> commit e917e890cf40510d35253034de850410b56a6e20 Author: Doug Anderson <[email protected]> Date: Wed Apr 30 10:44:06 2014 -0700 mfd: cros_ec: spi: Make the cros_ec_spi timeout more reliable The cros_ec_spi transfer had two problems with its timeout code: 1. It looked at the timeout even in the case that it found valid data. 2. If the cros_ec_spi code got switched out for a while, it's possible it could get a timeout after a single loop. Let's be paranoid and make sure we do one last transfer after the timeout expires. Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Andrew Bresticker <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 626bffd4dd65dccdf0978eff6a3341c1d7b04b9a Author: Doug Anderson <[email protected]> Date: Wed Apr 30 10:44:07 2014 -0700 mfd: cros_ec: spi: Increase cros_ec_spi deadline from 5ms to 100ms We're adding i2c tunneling to the list of things that goes over cros_ec. i2c tunneling can be slooooooow, so increase our deadline to 100ms to account for that. Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Andrew Bresticker <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit e917e3366c7be56a08d84417b36a143b2e8af716 Author: Doug Anderson <[email protected]> Date: Wed Apr 30 10:44:05 2014 -0700 mfd: cros_ec: spi: Add mutex to cros_ec_spi The main transfer function for cros_ec_spi can be called by more than one client at a time. Make sure that those clients don't stomp on each other by locking the bus for the duration of the transfer function. Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Andrew Bresticker <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 6bcd21ee2826c978defc9169227e3e850537a519 Author: David Hendricks <[email protected]> Date: Wed Apr 30 10:44:04 2014 -0700 mfd: cros_ec: spi: Calculate delay between transfers correctly To avoid spamming the EC we calculate the time between the previous transfer and the current transfer and force a delay if the time delta is too small. However, a small miscalculation causes the delay period to be far too short. Most noticably this impacts commands with a long turnaround time such as EC firmware reads and writes. Signed-off-by: David Hendricks <[email protected]> Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Andrew Bresticker <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit f00fc2588b66d3441ed65aaa7f7f2353df00939a Author: Bill Richardson <[email protected]> Date: Wed Apr 30 10:44:08 2014 -0700 mfd: cros_ec: Sync to the latest cros_ec_commands.h from EC sources This just updates include/linux/mfd/cros_ec_commands.h to match the latest EC version (which is the One True Source for such things). See <https://chromium.googlesource.com/chromiumos/platform/ec> [dianders: took today's ToT version from the Chromium OS EC; deleted references to cros_ec_dev and cros_ec_lpc since those aren't upstream yet] Signed-off-by: Bill Richardson <[email protected]> Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Andrew Bresticker <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit d46144d7bc9f9e1121fe83edf7a9cc9f19b41d9d Author: Doug Anderson <[email protected]> Date: Wed Apr 30 10:44:09 2014 -0700 i2c: ChromeOS EC tunnel driver On ARM Chromebooks we have a few devices that are accessed by both the AP (the main "Application Processor") and the EC (the Embedded Controller). These are: * The battery (sbs-battery). * The power management unit tps65090. On the original Samsung ARM Chromebook these devices were on an I2C bus that was shared between the AP and the EC and arbitrated using some extranal GPIOs (see i2c-arb-gpio-challenge). The original arbitration scheme worked well enough but had some downsides: * It was nonstandard (not using standard I2C multimaster) * It only worked if the EC-AP communication was I2C * It was relatively hard to debug problems (hard to tell if i2c issues were caused by the EC, the AP, or some device on the bus). On the HP Chromebook 11 the design was changed to: * The AP/EC comms were still i2c, but the battery/tps65090 were no longer on the bus used for AP/EC communication. The battery was exposed to the AP through a limited i2c tunnel and tps65090 was exposed to the AP through a custom Linux driver. On the Samsung ARM Chromebook 2 the scheme is changed yet again, now: * The AP/EC comms are now using SPI for faster speeds. * The EC's i2c bus is exposed to the AP through a full i2c tunnel. The upstream "tegra124-venice2" uses the same scheme as the Samsung ARM Chromebook 2, though it has a different set of components on the other side of the bus. This driver supports the scheme used by the Samsung ARM Chromebook 2. Future patches to this driver could add support for the battery tunnel on the HP Chromebook 11 (and perhaps could even be used to access tps65090 on the HP Chromebook 11 instead of using a special driver, but I haven't researched that enough). Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Doug Anderson <[email protected]> Reviewed-by: Wolfram Sang <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 4bdc72930743b35f23b6c80426a2c9f6dda5e9b6 Author: Imre Deak <[email protected]> Date: Tue May 20 19:47:20 2014 +0300 drm/i915: add missing unregister_oom_notifier to the error/unload path I'm trying to reduce the WARNs during driver reload and this was one of them. Also while at it remove the redundant condition from before unregister_shrinker(). v2: - fix the error path too and move the unregister to its logical place (Chris) - remove redundant condition from before unregister_shrinker() Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 5cfb17828d877a5541171087b9d746befdf2a126 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:08:34 2014 +0200 IB/srp: Add fast registration support Certain HCA types (e.g. Connect-IB) and certain configurations (e.g. ConnectX VF) support fast registration but not FMR. Hence add fast registration support. In function srp_rport_reconnect(), move the the srp_finish_req() loop from after to before the srp_create_target_ib() call. This is needed to avoid that srp_finish_req() tries to queue any invalidation requests for rkeys associated with the old queue pair on the newly allocated queue pair. Invoking srp_finish_req() before the queue pair has been reallocated is safe since srp_claim_req() handles completions correctly that arrive after srp_finish_req() has been invoked. Signed-off-by: Bart Van Assche <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 52ede08f00ebfc21d50a1f3e5908a78655900519 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:07:45 2014 +0200 IB/srp: Rename FMR-related variables The next patch will cause the renamed variables to be shared between the code for FMR and for FR memory registration. Make the names of these variables independent of the memory registration mode. This patch does not change any functionality. The start of this patch was the changes applied via the following shell command: sed -i.orig 's/SRP_FMR_SIZE/SRP_MAX_PAGES_PER_MR/g; \ s/fmr_page_mask/mr_page_mask/g;s/fmr_page_size/mr_page_size/g; \ s/fmr_page_shift/mr_page_shift/g;s/fmr_max_size/mr_max_size/g; \ s/max_pages_per_fmr/max_pages_per_mr/g;s/nfmr/nmdesc/g; \ s/fmr_len/dma_len/g' drivers/infiniband/ulp/srp/ib_srp.[ch] Signed-off-by: Bart Van Assche <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit d1b4289e16477fe13e95b88ffb7067c87b10ab6e Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:07:20 2014 +0200 IB/srp: One FMR pool per SRP connection Allocate one FMR pool per SRP connection instead of one SRP pool per HCA. This improves scalability of the SRP initiator. Only request the SCSI mid-layer to retry a SCSI command after a temporary mapping failure (-ENOMEM) but not after a permanent mapping failure. This avoids that SCSI commands are retried indefinitely if a permanent memory mapping failure occurs. Tell the SCSI mid-layer to reduce queue depth temporarily in the unlikely case where an application is queuing many requests with more than max_pages_per_fmr sg-list elements. For FMR pool allocation, base the max_pages_per_fmr parameter on the HCA memory registration limit. Only try to allocate an FMR pool if FMR is supported. Signed-off-by: Bart Van Assche <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit b1b8854d1622b99b64cd98ed307ffd168c6d3ebd Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:06:41 2014 +0200 IB/srp: Introduce the 'register_always' kernel module parameter Add a kernel module parameter that enables memory registration also for SG-lists that can be processed without memory registration. This makes it easier for kernel developers to test the memory registration code. Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 539dde6fc5c30cfa76439de03ed3ba444d2579b3 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:05:46 2014 +0200 IB/srp: Introduce srp_finish_mapping() This patch does not change any functionality. Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 76bc1e1ddd1ea8d4bc230fc0aa45c1d14c232531 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:05:21 2014 +0200 IB/srp: Introduce srp_map_fmr() This patch does not change any functionality. Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 62154b2e892807b8373a107c277f1fa8338f4333 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:04:45 2014 +0200 IB/srp: Introduce an additional local variable This patch does not change any functionality. Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit af24663bc8204695181cf3b92b7129efadd8d455 Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:04:21 2014 +0200 IB/srp: Fix kernel-doc warnings Avoid that the kernel-doc tool warns about missing argument descriptions for the ib_srp.[ch] source files. Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 024ca90151f5e4296d30f72c13ff9a075e23c9ec Author: Bart Van Assche <[email protected]> Date: Tue May 20 15:03:49 2014 +0200 IB/srp: Fix a sporadic crash triggered by cable pulling Avoid that the loops that iterate over the request ring can encounter a pointer to a SCSI command in req->scmnd that is no longer associated with that request. If the function srp_unmap_data() is invoked twice for a SCSI command that is not in flight then that would cause ib_fmr_pool_unmap() to be invoked with an invalid pointer as argument, resulting in a kernel oops. Reported-by: Sagi Grimberg <[email protected]> Reference: http://thread.gmane.org/gmane.linux.drivers.rdma/19068/focus=19069 Signed-off-by: Bart Van Assche <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Cc: stable <[email protected]> Signed-off-by: Roland Dreier <[email protected]> commit 1cc6114402f864c3d090738df355d26c1fd374bb Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:52 2014 +0300 Bluetooth: Update smp_confirm to return a response code Now that smp_confirm() is called "inline" we can have it return a response code and have the sending of it be done in the shared place for command handlers. One exception is when we're entering smp.c from mgmt.c when user space responds to authentication, in which case we still need our own code to call smp_failure(). Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit 861580a970f1abe64193636eab9e5a1a7556a555 Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:51 2014 +0300 Bluetooth: Update smp_random to return a response code Since we're now calling smp_random() "inline" we can have it directly return a response code and have the shared command handler send the response. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit 4a74d65868f10dafe38765d4fe5bbf1e75f0623d Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:50 2014 +0300 Bluetooth: Rename smp->smp_flags to smp->flags There's no reason to have "smp" in this variable name since it is already part of the SMP struct which provides sufficient context. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit 9dd4dd275f2e6dcef1f798118babcb5947f64497 Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:49 2014 +0300 Bluetooth: Remove unnecessary work structs from SMP code When the SMP code was initially created (mid-2011) parts of the Bluetooth subsystem were still not converted to use workqueues. This meant that the crypto calls, which could sleep, couldn't be called directly. Because of this the "confirm" and "random" work structs were introduced. These days the entire Bluetooth subsystem runs through workqueues which makes these structs unnecessary. This patch removes them and converts the calls to queue them to use direct function calls instead. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit 1ef35827a999582669b38b71d3167907b4c2afd0 Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:48 2014 +0300 Bluetooth: Fix setting initial local auth_req value There is no reason to have the initial local value conditional to whether the remote value has bonding set or not. We can either way start off with the value we received. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit 4bc58f51e156227d139668199ffe5df2ccb2f3c2 Author: Johan Hedberg <[email protected]> Date: Tue May 20 09:45:47 2014 +0300 Bluetooth: Make SMP context private to smp.c There are no users of the smp_chan struct outside of smp.c so move it away from smp.h. The addition of the l2cap.h include to hci_core.c, hci_conn.c and mgmt.c is something that should have been there already previously to avoid warnings of undeclared struct l2cap_conn, but the compiler warning was apparently shadowed away by the mention of l2cap_conn in the struct smp_chan definition. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> commit e1618d461ca18d40f9c3ef70598abb72e75d27ae Author: Vlad Yasevich <[email protected]> Date: Tue May 20 10:59:26 2014 -0400 vlan: Fix build error wth vlan_get_encap_level() The new function vlan_get_encap_level() uses vlan_dev_priv() which is only conditionally avaialble when VLAN support is enabled. Make vlan_get_encap_level() conditionally available as well. Fixes: 44a4085538c8 ("bonding: Fix stacked device detection in arp monitoring") Reported-by: Stephen Rothwell <[email protected]> CC: Stephen Rothwell <[email protected]> Signed-off-by: Vlad Yasevich <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 51697d393922eb643e78ac5db86e8fa5a45b469a Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:36 2014 +0800 workqueue: use generic attach/detach routine for rescuers There are several problems with the code that rescuers use to bind themselve to the target pool's cpumask. 1) It is very different from how the normal workers bind to cpumask, increasing code complexity and maintenance overhead. 2) The code of cpu-binding for rescuers is complicated. 3) If one or more cpu hotplugs happen while a rescuer is processing its scheduled work items, the rescuer may not stay bound to the cpumask of the pool. This is an allowed behavior, but is still hairy. It will be better if the cpumask of the rescuer is always kept synchronized with the pool across cpu hotplugs. Using generic attach/detach routine will solve the above problems and results in much simpler code. tj: Minor description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 4736cbf7a4b2a6bbb50a809a6933fb7eb29dc38f Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:35 2014 +0800 workqueue: separate pool-attaching code out from create_worker() Currently, the code to attach a new worker to its pool is embedded in create_worker(). Separating this code out will make the codes clearer and will allow rescuers to share the code path later. tj: Description and comment updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 92f9c5c40cc67ffcc5ac7f55fdbd6ae8afc7e0b4 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:34 2014 +0800 workqueue: rename manager_mutex to attach_mutex manager_mutex is only used to protect the attaching for the pool and the pool->workers list. It protects the pool->workers and operations based on this list, such as: cpu-binding for the workers in the pool->workers the operations to set/clear WORKER_UNBOUND So let's rename manager_mutex to attach_mutex to better reflect its role. This patch is a pure rename. tj: Minor command and description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 4d757c5c81edba2052aae10d5b36dfcb9902b141 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:33 2014 +0800 workqueue: narrow the protection range of manager_mutex In create_worker(), as pool->worker_ida now uses ida_simple_get()/ida_simple_put() and doesn't require external synchronization, it doesn't need manager_mutex. struct worker allocation and kthread allocation are not visible by any one before attached, so they don't need manager_mutex either. The above operations are before the attaching operation which attaches the worker to the pool. Between attaching and starting the worker, the worker is already attached to the pool, so the cpu hotplug will handle cpu-binding for the worker correctly and we don't need the manager_mutex after attaching. The conclusion is that only the attaching operation needs manager_mutex, so we narrow the protection section of manager_mutex in create_worker(). Some comments about manager_mutex are removed, because we will rename it to attach_mutex and add worker_attach_to_pool() later which will be self-explanatory. tj: Minor description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 7cda9aae0596d871a8d7a6888d7b447c60e5ab30 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:32 2014 +0800 workqueue: convert worker_idr to worker_ida We no longer iterate workers via worker_idr and worker_idr is used only for allocating/freeing ID, so we can convert it to worker_ida. By using ida_simple_get/remove(), worker_ida doesn't require external synchronization, so we don't need manager_mutex to protect it and the ID-removal code is allowed to be moved out from worker_detach_from_pool(). In a later patch, worker_detach_from_pool() will be used in rescuers which don't have IDs, so we move the ID-removal code out from worker_detach_from_pool() into worker_thread(). tj: Minor description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit da028469ba173e9c634b6ecf80bb0c69c7d1024d Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:31 2014 +0800 workqueue: separate iteration role from worker_idr worker_idr has the iteration (iterating for attached workers) and worker ID duties. These two duties don't have to be tied together. We can separate them and use a list for tracking attached workers and iteration. Before this separation, it wasn't possible to add rescuer workers to worker_idr due to rescuer workers couldn't allocate ID dynamically because ID-allocation depends on memory-allocation, which rescuer can't depend on. After separation, we can easily add the rescuer workers to the list for iteration without any memory-allocation. It is required when we attach the rescuer worker to the pool in later patch. tj: Minor description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 3347fc9f36e7e5d3ebe504fc4034745b5d8971d3 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:30 2014 +0800 workqueue: destroy worker directly in the idle timeout handler Since destroy_worker() doesn't need to sleep nor require manager_mutex, destroy_worker() can be directly called in the idle timeout handler, it helps us remove POOL_MANAGE_WORKERS and maybe_destroy_worker() and simplify the manage_workers() After POOL_MANAGE_WORKERS is removed, worker_thread() doesn't need to test whether it needs to manage after processed works. So we can remove the test branch. Signed-off-by: Lai Jiangshan <[email protected]> commit 60f5a4bcf852b5dec698b08cd34efc302ea72f2b Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:29 2014 +0800 workqueue: async worker destruction worker destruction includes these parts of code: adjust pool's stats remove the worker from idle list detach the worker from the pool kthread_stop() to wait for the worker's task exit free the worker struct We can find out that there is no essential work to do after kthread_stop(), which means destroy_worker() doesn't need to wait for the worker's task exit, so we can remove kthread_stop() and free the worker struct in the worker exiting path. However, put_unbound_pool() still needs to sync the all the workers' destruction before destroying the pool; otherwise, the workers may access to the invalid pool when they are exiting. So we also move the code of "detach the worker" to the exiting path and let put_unbound_pool() to sync with this code via detach_completion. The code of "detach the worker" is wrapped in a new function "worker_detach_from_pool()" although worker_detach_from_pool() is only called once (in worker_thread()) after this patch, but we need to wrap it for these reasons: 1) The code of "detach the worker" is not short enough to unfold them in worker_thread(). 2) the name of "worker_detach_from_pool()" is self-comment, and we add some comments above the function. 3) it will be shared by rescuer in later patch which allows rescuer and normal thread use the same attach/detach frameworks. The worker id is freed when detaching which happens before the worker is fully dead, but this id of the dying worker may be re-used for a new worker, so the dying worker's task name is changed to "worker/dying" to avoid two or several workers having the same name. Since "detach the worker" is moved out from destroy_worker(), destroy_worker() doesn't require manager_mutex, so the "lockdep_assert_held(&pool->manager_mutex)" in destroy_worker() is removed, and destroy_worker() is not protected by manager_mutex in put_unbound_pool(). tj: Minor description updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 73eb7fe73ae303996187fff38b1c162f1df0e9d1 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:28 2014 +0800 workqueue: destroy_worker() should destroy idle workers only We used to have the CPU online failure path where a worker is created and then destroyed without being started. A worker was created for the CPU coming online and if the online operation failed the created worker was shut down without being started. But this behavior was changed. The first worker is created and started at the same time for the CPU coming online. It means that we had already ensured in the code that destroy_worker() destroys only idle workers and we don't want to allow it to destroy any non-idle worker in the future. Otherwise, it may be buggy and it may be extremely hard to check. We should force destroy_worker() to destroy only idle workers explicitly. Since destroy_worker() destroys only idle workers, this patch does not change any functionality. We just need to update the comments and the sanity check code. In the sanity check code, we will refuse to destroy the worker if !(worker->flags & WORKER_IDLE). If the worker entered idle which means it is already started, so we remove the check of "worker->flags & WORKER_STARTED", after this removal, WORKER_STARTED is totally unneeded, so we remove WORKER_STARTED too. In the comments for create_worker(), "Create a new worker which is bound..." is changed to "... which is attached..." due to we change the name of this behavior to attaching. tj: Minor description / comment updates. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit 9625ab1727743f6a164df26b7b1eeeced7380b42 Author: Lai Jiangshan <[email protected]> Date: Tue May 20 17:46:27 2014 +0800 workqueue: use manager lock only to protect worker_idr worker_idr is highly bound to managers and is always/only accessed in manager lock context. So we don't need pool->lock for it. Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> commit e6c34ff13113c2fe24b7b9e8f1a6db1a626ec26c Author: Charles Keepax <[email protected]> Date: Mon May 19 17:35:29 2014 +0100 mfd: arizona: Correct error message for addition of main IRQ chip Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit f59957974e215ad40f087768004700da2395ee6b Author: Charles Keepax <[email protected]> Date: Mon May 19 17:35:28 2014 +0100 mfd: wm8997: Add registers for high power mode Some output configurations can require a 50Mhz SYSCLK which requires DCVDD to be 1.8V. This patch adds the registers necessary for supporting this operational mode. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 9d1234aab7949b8437372214d0042e82dea96fa7 Author: Charles Keepax <[email protected]> Date: Mon May 19 17:35:27 2014 +0100 mfd: arizona: Add MICVDD to mapped regulators Currently, MICVDD only binds because it is both the regulator name and the consumer name and we will always match against the regulator name regardless of the consumer device. If the regulator was renamed using the init_data ASoC will no longer be able to locate the supply, as it will be looking on the CODEC device where as the MICVDD consumer is on the Arizona device. Add a mapping as we do for the other regulators. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit f7d10d7811af6a32070b8e053cf7a11654e7c339 Author: Krzysztof Kozlowski <[email protected]> Date: Tue May 13 12:58:40 2014 +0200 mfd: ipaq-micro: Make mfd_cell array const mfd_add_devices() expects array of struct mfd_cell to be const. Signed-off-by: Krzysztof Kozlowski <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 84615cca3a34f76bd9a917ce402ce27c08e4985c Author: Jingoo Han <[email protected]> Date: Wed May 14 12:17:14 2014 +0900 mfd: ipaq-micro: Use devm_ioremap_resource() Use devm_ioremap_resource() because devm_request_and_ioremap() is obsoleted by devm_ioremap_resource(). Signed-off-by: Jingoo Han <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]> commit 24acfc632b7ba55bbc2a9305e8df31c8e41178b6 Author: Rafał Miłecki <[email protected]> Date: Tue May 20 09:27:18 2014 +0200 b43: xmit: set 5 GHz bit depending on current band PHYs other than A may also work in 5 GHz mode. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]> commit 3cad711dbc79cf9d1bcb9f192ba681e877c18d16 Author: Oleksij Rempel <[email protected]> Date: Tue May 20 00:02:03 2014 +0200 ath9k_htc: fix build with disabled debug CC [M] drivers/net/wireless/ath/ath9k/htc_drv_txrx.o drivers/net/wireless/ath/ath9k/htc_drv_txrx.c: In function ‘ath9k_rx_prepare’: drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:1006:2: warning: passing argument 2 of ‘ath9k_htc_err_stat_rx’ from incompatible pointer type [enabled by default] ath9k_htc_err_stat_rx(priv, &rx_stats); ^ In file included from drivers/net/wireless/ath/ath9k/htc_drv_txrx.c:17:0: drivers/net/wireless/ath/ath9k/htc.h:380:20: note: expected ‘struct ath_htc_rx_status *’ but argument is of type ‘struct ath_rx_status *’ static inline void ath9k_htc_err_stat_rx(struct ath9k_htc_priv *priv, Signed-off-by: Oleksij Rempel <[email protected]> Signed-off-by: John W. Linville <[email protected]> commit 773cfc508f4d64c14547ff8751b5cbd473124364 Author: Rafał Miłecki <[email protected]> Date: Mon May 19 23:18:55 2014 +0200 b43: add more devices to the bands database Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]> commit 075ca604fcc0f761c66b99a406efded7be31aa14 Author: Rafał Miłecki <[email protected]> Date: Mon May 19 23:18:54 2014 +0200 b43: move bands detection to a separated function This cleans code a bit and allows adding support for more devices. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: John W. Linville <[email protected]> commit 646b4269e4d0513b4c210cdd47384e8607f539fe Author: Ville Syrjälä <[email protected]> Date: Fri Apr 25 20:14:30 2014 +0300 drm/i915: Drop /** */ comments from i915_reg.h The comments in i915_reg.h aren't proper kernel-doc comments, so replace the magic /** with just /* Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 64b14519e5913e8d4de9f2e5d9ef59abba3ed83d Author: Jens Axboe <[email protected]> Date: Tue May 20 08:17:35 2014 -0600 htmldocs: fix bio.c location Commit f9c78b2be2ca moved bio.c from fs/ to block/, but didn't update the docbook location. Fix that up. Signed-off-by: Jens Axboe <[email protected]> commit e4443e459ccf43f2c139358400365fd6a839d40d Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:41 2014 +0300 drm/i915/chv: Add a bunch of pre production workarounds The following workarounds should be needed for pre-production hardware only: * WaDisablePwrmtrEvent:chv * WaSetMaskForGfxBusyness:chv * WaDisableGunitClockGating:chv * WaDisableFfDopClockGating:chv * WaDisableDopClockGating:chv Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 1966e59ec1075597eff4d7feb3d11536a242d0eb Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:29:04 2014 +0300 drm/i915/chv: Use RMW to toggle swing calc init The spec only tells us to set individual bits here and there. So we use RMW for most things. Do the same for the swing calc init. Eventually we should optimize things to just blast the final value in with group access whenever possible. But to do that someone needs to take a good look at what's the reset value for each registers, and possibly if the BIOS manages to frob with some of them. For now use RMW access always. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit f72df8dbe2211cf2b70e54f8e9408b889fa56974 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:29:03 2014 +0300 drm/i915/chv: Don't do group access reads from TX lanes either Like PCS, TX group reads return 0xffffffff. So we need to target each lane separately if we want to use RMW cycles to update the registers. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 97fd4d5c81af7976b4ec9971a93bf3c361066c65 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:29:02 2014 +0300 drm/i915/chv: Don't use PCS group access reads All PCS groups access reads return 0xffffffff, so we can't use group access for RMW cycles. Instead target each spline separately. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> [danvet: Fight conflict with misplaced ; .... ARGH!] Signed-off-by: Daniel Vetter <[email protected]> commit d2152b2524a96e6cb71097ea26c2e7c3f9e3ee12 Author: Ville Syrjälä <[email protected]> Date: Mon Apr 28 14:15:24 2014 +0300 drm/i915/chv: Set soft reset override bit for data lane resets The bits we've been setting so far only progagate the reset singal to the data lanes. To actaully force the reset signal we need to set another override bit. v2: Fix mispalced ';' (Mika) Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 580d3811f4465feee9d5cacdc88b6aa6b345eff5 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:29:00 2014 +0300 drm/i915/chv: Reset data lanes in encoder .post_disable() hook Seems like we shouldn't leave the data lane resert deasserted when the port if disabled. So propagate the reset the data lanes in the encoder .post_disable() hook. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit d752048dcd1225b481074318cf92ee751d6d475e Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:59 2014 +0300 drm/i915/chv: Turn off dclkp after the PLL has been disabled During the enable sequence we first enable the dclkp output to the display controller, and then enable the PLL. Do the opposite during the disable sequence. Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 949c1d43d681a168216afe35071588e8edec354c Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:58 2014 +0300 drm/i915/chv: Move data lane deassert to encoder pre_enable We need to pick the correct data lanes based on the port not the pipe, so move the data lane deassert into the encoder .pre_enable() hook from the chv_enable_pll(). Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit a11b07039de9e3866bf479f53f7f9db4923cd1c6 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:57 2014 +0300 drm/i915/chv: Fix CHV PLL state tracking Setup the pipe config dpll state correctly for CHV. Also add a assert_pipe_disabled() to chv_disable_pll(), and program the DPLL_MD registers in chv_enable_pll(). Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mika Kuoppala <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> commit 9418c1f1760c91ae1a8947b0da383f3082799b19 Author: Ville Syrjälä <[email protected]> Date: Wed Apr 9 13:28:56 2014 +0300 drm/i915/chv: Register port D encoders and connectors …
- Loading branch information