summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-11[S390] kernel: Add z/VM LGR detectionMichael Holzheu
Currently the following mechanisms are available to move active Linux on System z instances between machines: * z/VM 6.2 SSI (Single System Image) * Suspend/resume For moving Linux instances in this patch the term LGR (Linux Guest Relocation) is used. Because such an operation is critical, it should be detectable from Linux. With this patch for both, a live system and a kernel dump, the information about LGRs is accessible. To identify a guest, stsi and stfle data is used. A new function lgr_info_log() compares the current data (lgr_info_cur) with the last recorded one (lgr_info_last). In case the two data sets differ, lgr_info_cur is logged to the "lgr" s390dbf. The following trigger points call lgr_info_log(): * panic * die * kdump * LGR timer * PSW restart * QDIO recovery * resume This patch also changes the s390dbf hex_ascii view. Now only printable ASCII characters are shown. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] irq: external interrupt code passingHeiko Carstens
The external interrupt handlers have a parameter called ext_int_code. Besides the name this paramter does not only contain the ext_int_code but in addition also the "cpu address" (POP) which caused the external interrupt. To make the code a bit more obvious pass a struct instead so the called function can easily distinguish between external interrupt code and cpu address. The cpu address field however is named "subcode" since some external interrupt sources do not pass a cpu address but a different parameter (or none at all). Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] irq: set __ARCH_IRQ_EXIT_IRQS_DISABLEDHeiko Carstens
Set __ARCH_IRQ_EXIT_IRQS_DISABLED in order to optimize irq_exit() a bit, since we call __do_softirq() instead of do_softirq(). This saves several needless checks, pointless interrupt disabling and an extra branch. If do_softirq() gets called from process context we still switch to the async stack. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] zfcpdump: Implement async sdias event processingMichael Holzheu
There are two different ways to do the "store data in absolute storage" SCLP event processing, synchronous and asynchrounous. This patch adds the asynchronous variant. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] Use copy_to_absolute_zero() instead of "stura/sturg"Michael Holzheu
Use the new copy_to_absolute_zero() function instead of manual "stura" and "sturg" to make the code shorter and more readable. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] rework idle codeMartin Schwidefsky
Whenever the cpu loads an enabled wait PSW it will appear as idle to the underlying host system. The code in default_idle calls vtime_stop_cpu which does the necessary voodoo to get the cpu time accounting right. The udelay code just loads an enabled wait PSW. To correct this rework the vtime_stop_cpu/vtime_start_cpu logic and move the difficult parts to entry[64].S, vtime_stop_cpu can now be called from anywhere and vtime_start_cpu is gone. The correction of the cpu time during wakeup from an enabled wait PSW is done with a critical section in entry[64].S. As vtime_start_cpu is gone, s390_idle_check can be removed as well. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] rework smp codeMartin Schwidefsky
Define struct pcpu and merge some of the NR_CPUS arrays into it, including __cpu_logical_map, current_set and smp_cpu_state. Split smp related functions to those operating on physical cpus and the functions operating on a logical cpu number. Make the functions for physical cpus use a pointer to a struct pcpu. This hides the knowledge about cpu addresses in smp.c, entry[64].S and swsusp_asm64.S, thus remove the sigp.h header. The PSW restart mechanism is used to start secondary cpus, calling a function on an online cpu, calling a function on the ipl cpu, and for the nmi signal. Replace the different assembler functions with a single function restart_int_handler. The new entry point calls a function whose pointer is stored in the lowcore of the target cpu and it can wait for the source cpu to stop. This covers all existing use cases. Overall the code is now simpler and there are ~380 lines less code. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] rename lowcore fieldMartin Schwidefsky
The 16 bit value at the lowcore location with offset 0x84 is the cpu address that is associated with an external interrupt. Rename the field from cpu_addr to ext_cpu_addr to make that clear. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11[S390] Fix gcc 4.6.0 compile warningMichael Holzheu
With gcc 4.6.0 we get a false compile warning: arch/s390/kernel/setup.c: In function 'setup_arch': arch/s390/kernel/setup.c:767:3: warning: 'msg' may be used uninitialized in this function [-Wuninitialized] arch/s390/kernel/setup.c:753:8: note: 'msg' was declared here This patch makes gcc quiet. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11NFS: replace global bl_wq with per-net oneStanislav Kinsbursky
This queue is used for sleeping in kernel and it have to be per-net since we don't want to wake any other waiters except in out network nemespace. BTW, move wq to per-net data is easy. But some way to handle upcall timeouts have to be provided. On message destroy in case of timeout, tasks, waiting for message to be delivered, should be awakened. Thus, some data required to located the right wait queue. Chosen solution replaces rpc_pipe_msg object with new introduced bl_pipe_msg object, containing rpc_pipe_msg and proper wq. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-03-11NFS: replace global bl_mount_reply with per-net oneStanislav Kinsbursky
This global variable is used for blocklayout downcall and thus can be corrupted if case of existence of multiple networks namespaces. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-03-11regmap: Fix future missing prototype of devres_alloc() and friendsStephen Warren
[Fix for breakage which will be introduced during the merge window via header reworks in another tree, the regmap tree does include device.h but Paul's tree breaks that. Reworded subject to reflect -- broonie] regmap.s uses devres_alloc() and others that are prototyped in device.h. Include that to solve the following: drivers/base/regmap/regmap.c: In function 'devm_regmap_init': drivers/base/regmap/regmap.c:331:2: error: implicit declaration of function 'devres_alloc' [-Werror=implicit-function-declaration] drivers/base/regmap/regmap.c:338:3: error: implicit declaration of function 'devres_add' [-Werror=implicit-function-declaration] drivers/base/regmap/regmap.c:340:3: error: implicit declaration of function 'devres_free' [-Werror=implicit-function-declaration] drivers/base/regmap/regmap.c: In function '_regmap_raw_write': drivers/base/regmap/regmap.c:421:5: error: implicit declaration of function 'dev_err' [-Werror=implicit-function-declaration] Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-11[media] [trivial] DiB0090: remove redundant '; ' from dib0090_fw_identify()Jesper Juhl
One semi-colon is enough. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-03-11regmap: Rejig struct declarations for stubbed APIMark Brown
Ensure we have a forward declaration of struct regmap that isn't just the return value of regmap_init() and make the definition of the register defaults available. Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-10ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhciJaehoon Chung
Thomas Arbrahams's patchset have changed the device name in sdhci-s3c.c (mmc: sdhci-s3c: Rework platform data and add device tree support) But didn't change the regulator_consumer name. So maybe didn't initialize the mmc/sd card for exynos4. This patch is fixed that (based-on linux-samsung for-next branch) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10mmc: sdhci-s3c: add platform data for the second capabilityJaehoon Chung
This patch is added host_caps2 in sdhci-s3c.c It's necessary that use the second capabilities. And removed the duplicated host_caps. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Chris Ball <cjb@laptop.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: SAMSUNG: support the second capability for samsung-socJaehoon Chung
In mmc, there are capabilities and use the host_caps. That capability is expressed with bit[0:31]. But now..already filled the bit[0:31]... so we need to denote with the other capability field. (if we want to use the cache, powerclass, etc for eMMC.. this field is necessary) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <Kyungmin.park@samsung.com> Acked-by: Chris Ball <cjb@laptop.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: add support DMA for EXYNOS4X12 SoCBoojin Kim
Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1Tushar Behera
Amba core assumes the pclk to be named as apb_pclk. During device probe, it tries to get that clock and enable that. When PM_RUNTIME is enabled, dma clock is not explicitly enabled in pl330_probe, which causes device probe to fail. Adding a clkdev entry for apb_pclk for mdma1 fixes the problem. This patch fixes following runtime error. dma-pl330 dma-pl330.2: PERIPH_ID 0x0, PCELL_ID 0x0 ! dma-pl330: probe of dma-pl330.2 failed with error -22 Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Enable MDMA driverBoojin Kim
This patch adds MDMA platform data and enables MDMA for DMA memcpy operation for EXYNOS SoCs. Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri boardMyungJoo Ham
Support varying voltages: - GPIODVS for Buck2 is removed. - Voltage ragne for Buck2 is widen. Support Buck2 regulator for Exynos4210-bus devfreq driver: - Added device name for buck2 regulator - Added exynos4210-busfreq platform device fro Nuri board. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Register JPEG on nuriAndrzej Pietrasiewicz
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Register JPEG on universal_c210Andrzej Pietrasiewicz
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Enable JPEG on SMDKV210Sachin Kamat
Enables JPEG support on SMDKV210 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Add JPEG board definitionSachin Kamat
Adds JPEG board definition to S5PV210 machine Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Enable JPEG on OrigenSachin Kamat
Enables JPEG support on Origen board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Enable JPEG on SMDKV310Sachin Kamat
Enables JPEG support on SMDKV310 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add __init attribute to universal_camera_init()Tushar Behera
s3c_set_platdata() is defined with __init attribute, hence all functions referencing this function should also be defined with __init attribute. universal_camera_init() is referenced only in '__init universal_machine_init()', thus this change won't put any additional constraint on the usage of universal_camera_init(). Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add __init attribute to nuri_camera_init()Tushar Behera
s3c_set_platdata() is defined with __init attribute, hence all functions referencing this function should also be defined with __init attribute. nuri_camera_init() is referenced only in '__init nuri_machine_init()', thus this change won't put any additional constraint on the usage of nuri_camera_init(). Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Enable FIMC on SMDKC110Sachin Kamat
Enable FIMC 0,1,2 and media device (md) on SMDKC110 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Enable FIMC on SMDKV210Sachin Kamat
Enable FIMC 0,1,2 and media device(md) on SMDKV210 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Enable MFC on SMDKC110Sachin Kamat
Add MFC support on SMDKC110 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: S5PV210: Enable MFC on SMDKV210Sachin Kamat
Add MFC support on SMDKV210 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Enable G2D on SMDKV310Sachin Kamat
This patch enables G2D support on SMDKV310 board. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driverMyungJoo Ham
EXYNOS4212/4412 memory bus devfreq driver requires some register addresses that were not defined with EXYNOS4210 support. This patch adds the required register addresses and shift/mask data. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: add clock registers for exynos4x12-cpufreqJaecheol Lee
Signed-off-by: Jaecheol Lee <jc.lee@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10PM / devfreq: update the name of EXYNOS clock registers that were omittedMyungJoo Ham
In the commit, "PM / devfreq: update the name of EXYNOS clock register" ommitted one register. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10PM / devfreq: update the name of EXYNOS clock registerKukjin Kim
According to replacing the name of EXYNOS clock registers, this patch updates exynos4_bus.c file where it is used. Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clockKukjin Kim
This patch changes prefix of the clk register from S5P_ to EXYNOS4_ for new EXYNOS SoCs such as EXYNOS5 and adds prefix exynos4_ on clk declarations. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: use static declaration on regarding clockKukjin Kim
This patch uses static declaration struct which is not used in other file and re-arrange with group in header file. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10ARM: EXYNOS: replace clock.c for other new EXYNOS SoCsKukjin Kim
This patch changes the name of clock.c to clock-exynos4.c for other EXYNOS series such as EXYNOS5. And since the header file of clock is used only in arch/arm/mach-exynos, moves it in the local directory. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-10Merge branch 'next/cleanup-use-static' into next/cleanup-exynos-clockKukjin Kim
2012-03-10spi: release lock on error path in spi_pump_messages()Dan Carpenter
We should release the lock here and enable IRQs before returning. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> [grant.likely: move unlock above dev_err() call] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2012-03-10target: Bump core version to v4.1.0-rc2-ml + fabric versionsNicholas Bellinger
Bump core version to v4.1.0-rc2-ml, and for versions from the following mainline fabric modules: loopback: v2.1-rc2 tcm_fc: v0.4 iscsi-target: v4.1.0-rc2 Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10tcm_fc: Fix fc_exch memory leak in ft_send_resp_statusNicholas Bellinger
This patch fixes a bug in tcm_fc where fc_exch memory from fc_exch_mgr->ep_pool is currently being leaked by ft_send_resp_status() usage. Following current code in ft_queue_status() response path, using lport->tt.seq_send() needs to be followed by a lport->tt.exch_done() in order to release fc_exch memory back into libfc_em kmem_cache. ft_send_resp_status() code is currently used in pre submit se_cmd ft_send_work() error exceptions, TM request setup exceptions, and main TM response callback path in ft_queue_tm_resp(). This bugfix addresses the leak in these cases. Cc: Mark D Rustad <mark.d.rustad@intel.com> Cc: Kiran Patil <kiran.patil@intel.com> Cc: Robert Love <robert.w.love@intel.com> Cc: Andy Grover <agrover@redhat.com> Cc: stable@vger.kernel.org Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10target: Drop unused legacy target_core_fabric_ops API callersNicholas Bellinger
This patch drops the following unused legacy API callers from target_core_fabric.h: *) TFO->fall_back_to_erl0() *) TFO->stop_session() *) TFO->sess_logged_in() *) TFO->is_state_remove() This patch also removes the stub usage in loopback, tcm_fc, iscsi_target, and ib_srpt fabric modules. Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10iscsi-target: Convert to use target_put_session + sess_krefNicholas Bellinger
This patch converts iscsi-target session code to use se_sess->sess_kref counting for iscsi session shutdown. The following cases include: *) last iscsit_close_connection() shutdown path to invoke close session *) iscsit_logout_post_handler_closesession() for explict logout *) iscsit_free_session() caller for explict shutdown It also moves iscsit_stop_session() call from lio_tpg_close_session() into lio_tpg_shutdown_session() TFO callbacks to invoke an explict shutdown, and also changes iscsi_check_for_session_reinstatement() login code to use se_sess->sess_kref. (v2: Make iscsit_handle_time2retain_timeout() use target_put_session) Cc: Andy Grover <agrover@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10target: Convert se_node_acl->acl_group removal to use ->acl_krefNicholas Bellinger
This patch converts core_tpg_del_initiator_node_acl() shutdown from configfs context to use se_node_acl->acl_kref and ->acl_free_comp in order to wait for outstanding fabric callbacks to complete via transport_deregister_session() callbacks before waking ->acl_free_comp from the last ->acl_kref put. It also changes core_tpg_del_initiator_node_acl() to setup a local sess_list with target_get_session() + acl->acl_stop = 1 for active sessions that will be shutdown, and changes transport_deregister_session_configfs() to check for ->acl_stop usage. Cc: Roland Dreier <roland@purestorage.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Joern Engel <joern@logfs.org> Cc: Andy Grover <agrover@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10target: Add se_node_acl->acl_kref for ->acl_free_comp usageNicholas Bellinger
This patch adds se_node_acl->acl_kref for use with ->acl_free_comp during explict se_node_acl release. It adds kref_init() during se_node_acl setup, kref_get() during __transport_register_session() -> target_put_nacl() with existing transport_deregister_session() fabric callback usage. It also moves transport_free_session() to release *se_sess memory after target_put_nacl() execution in transport_deregister_session() Cc: Roland Dreier <roland@purestorage.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Joern Engel <joern@logfs.org> Cc: Andy Grover <agrover@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-03-10target: Add se_node_acl->acl_free_comp for NodeACL release pathNicholas Bellinger
Add se_node_acl->acl_free_comp for NodeACL release path to wait for outstanding fabric session shutdown to complete in transport_deregister_session() before finishing NodeACL release from configfs process context. Also make transport_deregister_session() clear the comp_nacl bit to skip se_node_acl->acl_free_comp completion for dynamically generated NodeACL during fabric session shutdown. Cc: Roland Dreier <roland@purestorage.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Joern Engel <joern@logfs.org> Cc: Andy Grover <agrover@redhat.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>